// 
//     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
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Настройка проекта PHP - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Настройка проекта PHP

В этом учебном руководстве описывается настройка проекта PHP в IDE NetBeans.

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

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

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

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

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

|Отладчик PHP |link:http://www.xdebug.org[+Версия XDebug 2.0 или выше+] 
|===


== Подготовка

До создания проекта PHP необходимо загрузить и установить link:https://netbeans.org/downloads/index.html[+IDE NetBeans для PHP+] и link:../../trails/php.html#configuration[+подготовить используемую среду+] для разработки PHP.

Для настройки проекта PHP выполните следующие действия.

* <<location,Укажите имя проекта и местоположение соответствующих исходных файлов.>>
* <<runConfiguration,Укажите способ развертывания проекта.>>

Для изменения параметров установки существующего проекта установите курсор на узел проекта и выберите "Properties" во всплывающем меню. Установите другие параметры настройки, как описано в разделе <<managingProjectSetup,Настройка проекта>>.


== Указание имени проекта и местоположения исходных файлов

1. Запустите среду IDE и перейдите к окну "Projects" ("Проекты").
2. Выберите команду "Файл" > "Новый проект". Откроется панель "Выберите проект".
3. В списке категорий выберите PHP.

В зависимости от потребностей можно создать полностью новый проект PHP <<projectNoExistingSources,без использования ранее разработанных исходных файлов>> либо <<importSources,импортировать существующее локальное приложение PHP>> или удаленное приложение PHP в новый проект.


=== Проект без предварительно разработанных исходных файлов

1. В области "Проекты" выберите "Приложение PHP" и нажмите кнопку "Далее". Откроется панель "Новый проект PHP > Имя и местоположение".
2. В текстовом поле "Project Name" ("Имя проекта") введите имя проекта.
3. В поле "Sources Folder" ("Папка исходных кодов") укажите подпапку корневого узла документов, в которой следует хранить исходные файлы.

Корневой узел документов представляет собой папку, в которой на локальном веб-сервере выполняется поиск файлов для просмотра в браузере. Корневой узел документов указан в link:../../trails/php.html#configuration[+файле настройки+] веб-сервера. После завершения установки мастер создания проекта определяет корневой узел документов и по умолчанию указывает следующий путь:  ``<Document Root>\<New PHP Project>`` .

Копия исходных файлов должна быть сохранена в подпапке корневого узла документов. Однако папка "Sources Folder" не обязательно должна находиться в корневом узле документов, ей можно назначить и другое местоположение и отсюда копировать исходные файлы в корневой узел. См. раздел <<copy-sources,Выбор настройки выполнения нового проекта>>.



. В раскрывающемся списке "Default Encoding" ("Кодировка по умолчанию") выберите для проекта кодировку по умолчанию.


. Если требуется сохранение метаданных NetBeans в другом местоположении (не в папке "Source files"), выберите команду "Put NetBeans metadata into a separate directory" ("Поместить метаданные NetBeans в отдельный каталог"). Например, может потребоваться сохранение исходных файлов в корневом узле документов, а метаданных NetBeans – в каталоге "NetBeansProjects". 

image::images/new-php-project-m1.png[]



. Нажмите кнопку "Далее". Откроется панель "Настройки выполнения".


=== Импорт существующих локальных исходных файлов в проект

1. В области "Projects" выберите "PHP Application with Existing Sources" ("Приложение PHP с существующими исходными кодами") и нажмите "Next". Откроется панель "Новый проект PHP > Имя и местоположение".
2. В текстовом поле "Project Name" ("Имя проекта") введите имя проекта.
3. В поле "Sources Folder" укажите папку, из которой требуется импортировать исходные файлы.

NOTE:  Если планируется запуск <<localServer,проекта на локальном веб-сервере>>, не забудьте указать <<copyFilesFromSourcesFolder,копирование исходного файла>> в него.



. В раскрывающемся списке "Default Encoding" ("Кодировка по умолчанию") выберите для проекта кодировку по умолчанию.


. Если требуется сохранение метаданных NetBeans в другом местоположении (не в папке "Source files"), выберите команду "Put NetBeans metadata into a separate directory" ("Поместить метаданные NetBeans в отдельный каталог"). Например, может потребоваться сохранение исходных файлов в корневом узле документов, а метаданных NetBeans – в каталоге "NetBeansProjects". 

image::images/new-php-project-with-ssources.png[]



. Нажмите кнопку "Далее". Откроется панель "Настройки выполнения".


=== Импорт существующих удаленных исходных файлов в проект

1. В области "Projects" выберите "PHP Application from Remote Server" ("Приложение PHP с удаленного сервера") и нажмите "Next". Откроется панель "Новый проект PHP > Имя и местоположение".
2. В текстовом поле "Project Name" ("Имя проекта") введите имя проекта.
3. В поле "Sources Folder" укажите подпапку _локального_ корневого узла документов, в которой следует хранить исходные файлы.

Корневой узел документов представляет собой папку, в которой на локальном веб-сервере выполняется поиск файлов для просмотра в браузере. Корневой узел документов указан в link:../../trails/php.html#configuration[+файле настройки+] веб-сервера. После завершения установки мастер создания проекта определяет корневой узел документов и по умолчанию указывает следующий путь:  ``<Document Root>\<New PHP Project>`` . Обратите внимание, что полезно иметь возможность протестировать проект на локальном сервере.



. Если требуется сохранение метаданных NetBeans в другом местоположении (не в папке "Source files"), выберите команду "Put NetBeans metadata into a separate directory" ("Поместить метаданные NetBeans в отдельный каталог"). Например, может потребоваться сохранение исходных файлов в корневом узле документов, а метаданных NetBeans – в каталоге "NetBeansProjects".


. Нажмите кнопку "Далее". Откроется панель "Remote Connection" ("Удаленное подключение"). Процесс настройки удаленных подключений описан в учебном курсе link:remote-hosting-and-ftp-account.html[+Развертывание приложения PHP на удаленном веб-сервере+].


== Выбор настройки выполнения нового проекта по умолчанию

Настройка выполнения представляет собой сохраненные параметры выполнения проекта PHP. Можно определить несколько настроек для одного проекта и переключаться между ними. Например, если приложение разработано локально и подлежит выгрузке на удаленный производственный сервер, достаточно выбрать другую настройку выполнения. Настройки выполнения применимы как по отношению к выполнению проекта, так и по отношению к отладке. Настройки выполнения соответствуют следующим широко используемым случаям.

* Разработка веб-страниц PHP на локальном компьютере с локальным веб-сервером.
* Выполнение сценариев PHP при помощи локального механизма PHP. Этот подход применяется к тем файлам PHP, которые не предназначены для вывода HTML. Поэтому такие сценарии могут запускаться без браузера.
* Удаленная разработка. Исходный код PHP и другие файлы приложений выгружаются на удаленный веб-сервер по протоколу FTP. Этот вариант использования является обычным для случаев совместного применения результатов разработки многими пользователями.
* Сочетание вышеупомянутых вариантов использования: приложение разрабатывается локально, а после выполнения развертывается на удаленном производственном сервере. При необходимости сценарии PHP выполняются в течение разработки.

При создании нового проекта PHP создается настройка выполнения проекта по умолчанию. Для выбора настройки выполнения по умолчанию для проекта выберите соответствующий пункт из раскрывающегося списка "Run As" на панели "Run Configuration". Доступны следующие параметры:

* <<localServer,Локальный веб-сайт>>. Для использования этой настройки выполнения необходим link:../../trails/php.html#configuration[+установленный сервер HTTP Apache+] в рабочем состоянии.
* link:remote-hosting-and-ftp-account.html[+Удаленный веб-сайт (FTP/SFTP) (Отдельное руководство)+] Для использования этой настройки обязательными являются link:remote-hosting-and-ftp-account.html#registerHostingAccount[+учетная запись размещения+] на удаленном сервере и link:remote-hosting-and-ftp-account.html#createFTPAccount[+учетная запись FTP+] на этом сервере.
* <<scriptCommandLine,Сценарий>>. Эта настройка выполнения не требует наличия установленного и функционирующего веб-сервера. Достаточно указать link:../../trails/php.html#configuration[+механизм PHP+].

Процесс создания дополнительных настроек выполнения или изменения настроек выполнения по умолчанию описан в разделе <<runConfiguration,Пользовательская настройка проекта: Настройка выполнения>>. Он практически идентичен процессу создания настройки выполнения по умолчанию, за исключением использования диалогового окна "Properties" для существующего проекта вместо мастера создания проекта.


=== Локальный веб-сайт

Настройка локального веб-сайта включает в себя копию папок источников PHP веб-папке веб-сервера Apache, установленного на используемом компьютере. Проект часто может иметь настройку как локального, так и удаленного веб-сервера. Обратите внимание, что процедура настройки выполнения на локальном веб-сайте несколько различается в зависимости от того, создается ли проект из существующих исходных кодов или без их использования.

*Настройка локального веб-сайта.*

1. В раскрывающемся списке "Run As" ("Выполнить как") выберите "Local Web Site" ("Локальный веб-сайт").
2. В поле "Project URL" ("URL-адрес проекта") проверьте автоматически предложенный URL-адрес. Убедитесь, что сервер HTTP Apache прослушивает порт 80 по умолчанию. Если это не так, явным образом укажите номер порта в формате  ``localhost:<номер порта>`` .

image::images/run-configuration-local-server-project-with-existing-sources.png[]



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


. Для хранения исходных файлов проекта в другом каталоге, отличном от проекта IDE NetBeans выберите "Копировать файлы из папки исходных файлов в другое местоположение". _При создании проекта из существующих исходных кодов данное действие является обязательным, кроме случаев, когда существующие исходные коды уже находились в папке "web" сервера Apache._
В этом поле по умолчанию указан следующий путь:  `` <Document Root>\<New PHP Project>`` . Используйте кнопку "Browse" ("Обзор") для указания другого пути при необходимости.
Корень документов – это папка, в которой веб-сервер ищет файлы для открытия в браузере. Корневой узел документов указан в link:../../trails/php.html#configuration[+файле настройки+] веб-сервера. 
Мастер обнаруживает тип установки Apache либо как отдельного компонента, либо в составе пакета и предлагает путь к папке по умолчанию  ``htdocs``  (папка для текущего типа установки). Поэтому при принятии параметров по умолчанию в течение настройки сервера Apache или пакета AMP следует выбрать соответствующий путь в раскрывающемся списке.


. Нажмите кнопку 'Готово'. Среда IDE создает проект PHP.


=== Удаленный веб-сайт

См. учебный курс link:remote-hosting-and-ftp-account.html[+Развертывание приложения PHP на удаленном веб-сервере+].


=== Сценарий

1. В раскрывающемся списке "Run As" выберите "Script".

image::images/project-properties-script.png[]



. Чтобы указать местоположение механизма PHP, нажмите кнопку "Configure" рядом с окном "Use Default PHP Interpreter". На вкладке "General" откроется диалоговое окно "PHP Options".

image::images/run-config-script-options-m1.png[]



. В поле "PHP 5 Interpreter" укажите путь к файлу  ``php.exe`` . При необходимости используйте кнопку "Browse" или кнопку "Search...".


. Для указания формы отображения результатов выполнения сценария установите соответствующий флажок в области "Open Result In". Доступны следующие параметры:

* Окно 'Результаты'. Результаты выполнения сценария будут отображены в окне выходных данных в нижней части окна IDE NetBeans.
* Веб-браузер. Откроется окно браузера по умолчанию с результатами выполнения сценария в форме файла HTML.
* Редактор. Результаты выполнения сценария отобразятся в виде файла HTML в окне редактора IDE.


. Нажмите кнопку "ОК". Диалоговое окно "Options" закроется, и будет выполнен возврат к панели "Run Configuration". 


. Добавьте любые аргументы, например  ``debug=true``  и любые link:http://www.php.net/manual/en/features.commandline.options.php[+необязательные параметры командной строки PHP+].


== Настройка проекта

В ходе создания проекта определяются основные параметры настройки проекта: тип, местоположение исходных файлов и настройка выполнения по умолчанию. Для установки дополнительных параметров выполните настройку проекта. Установите курсор на узел проекта и во всплывающем меню выберите "Properties". Откроется панель "Project Properties" со списком категорий параметров установки.


=== Исходные файлы


На панели "Sources":

1. В поле "Web Root" отображается корневая папка местоположения приложения. По умолчанию в этом поле отображается папка "Sources". Для изменения корневого веб-узла нажмите кнопку "Browse" и выберите другую папку.
2. При необходимости выберите "<<location,Copy files from Sources Folder to another location>>" и укажите путь к папке, в которой сохранены данные.
3. При необходимости измените кодировку. 

image::images/pprop-sources.png[]



. Для завершения настройки проекта нажмите кнопку "ОК".


=== Настройка выполнения проекта


На панели "Run Configuration" измените настройку выполнения по умолчанию и/или при необходимости определите новые настройки выполнения. 

1. Для изменения параметров по умолчанию <<runConfiguration,обновите поля, как при создании проекта>>.
2. Для определения новой настройки выполнения щелкните "New" рядом с раскрывающимся списком "Configuration". Откроется диалоговое окно "Create New Configuration".
3. В поле "Configuration Name" введите имя новой настройки выполнения и нажмите кнопку "ОК". Будет выполнен возврат к панели "Настройки выполнения".
4. Определите такие же параметры настройки, которые были установлены во время создания проекта была при определении <<runConfiguration,настройки выполнения по умолчанию>>, и нажмите кнопку "ОК". Новая настройка добавлена в раскрывающийся список "Configuration".
5. Для удаления настройки выберите ее в раскрывающемся списке "Configuration" и нажмите кнопку "Delete" (Удалить). 

image::images/pprop-runconfig.png[]



. Для завершения настройки проекта нажмите кнопку "ОК".


=== Панель "PHP Include Path"


На панели "Include Path" укажите местоположение файлов, которые будут использоваться в рамках проекта, однако они не должны находиться в одной папке с исходными файлами.

1. Для добавления папки нажмите "Add Folder". Откроется диалоговое окно "Select Folder".
2. Выберите требуемые папки и нажмите "Open". Будет выполнен возврат к панели "PHP Include Path". Новая папка добавлена в список.
3. Для перемещения по списку используйте кнопки "Move Up" и "Down".
4. Для удаления папки из списка включенных папок выберите папку и нажмите "Remove".

image::images/pprop-include-path.png[]



. Для завершения настройки проекта нажмите кнопку "ОК".


=== Форматирование

На панели "Formatting" определите, какой стиль форматирования требуется применить в редакторе к исходным файлам. Можно указать глобальное форматирование или форматирование конкретного проекта.

*Установка глобального форматирования среды IDE.*

1. Выберите "Use global options".
2. Щeлкните "Edit Global Options". На вкладке "Editor > Formatting" откроется диалоговое окно "IDE Options". 

image::images/global-formatting.png[]



. В раскрывающемся списке "Language" выберите язык, к которому должны быть применены параметры установки.


. В раскрывающемся списке "Categories" выберите элементы формата, к которым будут применены эти параметры.


. Укажите нужный тип форматирования и нажмите кнопку "ОК".


. Для получения дополнительных сведений нажмите кнопку "Help".

*Выбор форматирования конкретного проекта.*

1. Выберите "Use project-specific options". Отображается скрытая область. image:images/pprop-formatting.png[]
2. В раскрывающемся списке "Language" выберите "All Languages" или "PHP". В этом случае вариант "All Languages" означает PHP и все языки PHP проекта.
3. В раскрывающемся списке "Categories" выберите элементы формата, к которым будут применены эти параметры.
4. Укажите нужный тип форматирования и нажмите кнопку "ОК".
5. Для получения дополнительных сведений нажмите кнопку "Help".


=== Добавление библиотек JavaScript

Встроенные библиотеки JavaScript были удалены в IDE NetBeans 6.7 из-за их очень большого размера и понижали производительность, а также потому, что библиотеки очень просто добавлять вручную. При добавлении библиотек JavaScript к проекту вручную в среде IDE проекта включаются автозавершение кода и другие функциональные возможности, связанные с JavaScript.

*Добавление библиотек JavaScript к проекту.*



. Загрузите необходимые библиотеки JavaScript или укажите их местоположение, если они уже имеются.


. Скопируйте библиотеки JavaScript в папку с проектом PHP с помощью среды IDE или проводника файлов.

Если свойства проекта установлены таким образом, что исходные коды проекта копируются в другое местоположение (см. <<sources,Исходные коды>>), то библиотеки JavaScript также будут копироваться в это местоположение. Если развертывание проекта осуществляется на удаленном сервере, то библиотеки JavaScript загружаются на этот сервере при следующей загрузке на него исходных кодов проекта.

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


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

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

