// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Создание приложения, управляемого базой данных, с помощью редактора PHP IDE NetBeans
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Создание приложения, управляемого базой данных, с помощью редактора PHP IDE NetBeans - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Создание приложения, управляемого базой данных, с помощью редактора PHP IDE NetBeans



1. *=> Создание приложения на основе базы данных с помощью языка PHP – главная страница*


[start=2]
. Создание базы данных

1. link:wish-list-lesson1.html[+Создание базы данных MySQL+]
2. link:wish-list-oracle-lesson1.html[+Создание таблиц базы данных Oracle+]
3. 
link:wish-list-lesson2.html[+Проектирование приложения. Чтение из базы данных+]


[start=4]
. link:wish-list-lesson3.html[+Создание нового пользователя приложения+]

[start=5]
. link:wish-list-lesson4.html[+Усовершенствование кода+]

[start=6]
. link:wish-list-lesson5.html[+Добавление функций безопасности. Реализация входа пользователя в приложение+]

[start=7]
. link:wish-list-lesson6.html[+Добавление к базе данных новых желаний+]

[start=8]
. link:wish-list-lesson7.html[+Обновление и удаление записей в базе данных+]

[start=9]
. link:wish-list-lesson8.html[+Усовершенствование внешнего вида приложения с использованием технологии CSS+]

[start=10]
. link:wish-list-lesson9.html[+Развертывание приложения на удаленном веб-сервере+]

image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"]

В этом кратком учебном курсе поддержка PHP используется в IDE NetBeans для создания и запуска простого веб-приложения. Приводится пример создания списка пожеланий ("Wish list"). После создания и развертывания приложения пользователи получают возможность размещения и совместного использования информация в списках пожеланий, например создания списков подарков к свадьбе, дню рождения или другим праздникам. Информация хранится в базе данных, созданной в уроке 1.

Любой зарегистрированный пользователь может просмотреть списки пожеланий других пользователей – разработка этих функциональных возможностей описывается в уроке 2.

Приложение поддерживает регистрацию новых пользователей – разработка этих функциональных возможностей описывается в уроке 3.

В уроке 4 приводятся советы по упрощению процесса создания кода.

В уроке 5 представлены возможные решения проблем безопасности.

В уроках 6 и 7 представлена разработка функциональных возможностей редактирования собственных списков пожеланий для всех зарегистрированных пользователей.

В уроке 8 описываются способы добавления стилей для усовершенствования внешнего вида приложения с помощью таблиц CSS. После этого выполняется развертывание приложения на удаленном веб-сервере с помощью советов, содержащихся в уроке 9.

Предоставляется код для пользователей базы данных MySQL и базы данных Oracle. В этом учебном курсе используются API ``mysqli``  и OCI8. Пользователи, заинтересованные в PDO, могутlink:https://netbeans.org/projects/www/downloads/download/php/wishlist-pdo.zip[+загрузить+] PDO-версию всего учебного курса. Обратите внимание: API PDO_OCI является экспериментальным!


*Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.*

|===
|Программное обеспечение или материал |Требуемая версия 

|link:https://netbeans.org/downloads/index.html[+IDE NetBeans+] |Пакет загрузки PHP 

|Механизм PHP |Версия 5 

|Веб-сервер |Рекомендуется использовать link:http://httpd.apache.org/download.cgi[+сервер HTTP Apache версии 2.2+].
 

|Сервер базы данных |MySQL, OracleXE или Oracle11g 
|===

Для получения подробной информации об установке и настройке требуемого программного обеспечения см. документ, в котором описывается link:../../trails/php.html#configuration[+подготовка среды для разработки PHP+] в операционной системе.


== Что дальше?

link:wish-list-lesson1.html[+Создание базы данных MySQL+]

или

link:wish-list-oracle-lesson1.html[+Создание таблиц базы данных Oracle+]


link:/about/contact_form.html?to=3&subject=Feedback:%20PHP%20Wish%20List%20CRUD%20Main[+Отправить отзыв по этому учебному курсу+]


Для отправки комментариев и предложений, получения поддержки и новостей о последних разработках, связанных с PHP IDE NetBeans link:../../../community/lists/top.html[+присоединяйтесь к списку рассылки users@php.netbeans.org+].

link:../../trails/php.html[+Возврат к учебной карте PHP+]

