// 
//     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 项目

本教程介绍了如何在 NetBeans IDE 中设置 PHP 项目。


*要学习本教程，您需要具备以下软件和资源。*

|===
|软件或资源 |要求的版本 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |PHP 下载包 

|PHP 引擎 |版本 5 

|Web 服务器 |推荐使用 link:http://httpd.apache.org/download.cgi[+Apache HTTP Server 2.2+]。
 

|PHP 调试器 |link:http://www.xdebug.org[+XDebug 2.0 或更高版本+] 
|===


== 准备工作

在创建 PHP 项目之前，您需要下载并安装link:https://netbeans.org/downloads/index.html[+适用于 PHP 的 NetBeans IDE+]，并且link:../../trails/php.html#configuration[+准备好环境+]以便进行 PHP 开发。

要设置 PHP 项目，请执行以下操作：

* <<location,指定项目名称和项目源文件的位置>>
* <<runConfiguration,指定部署项目的方式>>

要更改现有项目的设置，请将光标置于该项目节点上，然后从弹出式菜单中选择 "Properties"（属性）。按照<<managingProjectSetup,定制项目设置>>部分中的所述继续操作。


== 指定项目名称和源文件的位置

1. 启动 IDE，然后切换至 "Projects"（项目）窗口。
2. 选择 "File"（文件）> "New Project"（新建项目）。"Choose Project"（选择项目）面板打开。
3. 在 "Categories"（类别）列表中，选择 "PHP"。

您可以创建<<projectNoExistingSources,不包含以前开发的任何源文件>>的全新 PHP 项目，也可以<<importSources,将现有的本地 PHP 应用程序导入>>或将远程 PHP 应用程序导入到新项目中，具体取决于您的需要。


=== 不包含以前开发的源文件的项目

1. 在 "Projects"（项目）区域中，选择 "PHP Application"（PHP 应用程序），然后单击 "Next"（下一步）。"New PHP Project"（新建 PHP 项目）的 "Name and Location"（名称和位置）面板打开。
2. 在 "Project Name"（项目名称）文本字段中，输入项目的名称。
3. 在 "Sources Folder"（源文件夹）字段中，指定您要在其中存储源文件的文档根目录的子文件夹。

本地 Web 服务器会从文档根目录文件夹中查找要在浏览器中打开的文件。文档根目录是在 Web 服务器link:../../trails/php.html#configuration[+配置文件+]中指定的。安装完成后，新建项目向导将会找到文档根目录，并在默认情况下指定以下路径： ``<文档根目录>\<新 PHP 项目>`` 。

源文件的副本必须保存在文档根目录的子文件夹中。不过，您也可以选择文档根目录以外的其他位置作为源文件夹，然后将该位置中的源文件复制到文档根目录。请参见<<copy-sources,指定运行配置>>。



. 从 "Default Encoding"（默认编码）下拉列表中，选择项目的默认编码。


. 如果要在不同于源文件的位置存储 NetBeans 元数据，请选择 "Put NetBeans metadata into a separate directory."（将 NetBeans 元数据放入单独的目录）。例如，您可能希望将源文件存储在文档根目录，而将 NetBeans 元数据存储在 NetBeansProjects 目录。 

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



. 单击 "Next"（下一步）。"Run Configuration"（运行配置）面板打开。


=== 将现有的本地源文件导入到项目中

1. 在 "Projects"（项目）区域中，选择 "PHP Application with Existing Sources"（基于现有源代码的 PHP 应用程序），然后单击 "Next"（下一步）。"New PHP Project"（新建 PHP 项目）的 "Name and Location"（名称和位置）面板打开。
2. 在 "Project Name"（项目名称）文本字段中，输入项目的名称。
3. 在 "Sources Folder"（源文件夹）字段中，指定要从中导入源文件的文件夹。

NOTE: 如果要<<localServer,在本地 Web 服务器上运行项目>>，请不要忘记指定<<copyFilesFromSourcesFolder,将源文件复制>>到该服务器上。



. 从 "Default Encoding"（默认编码）下拉列表中，选择项目的默认编码。


. 如果要在不同于源文件的位置存储 NetBeans 元数据，请选择 "Put NetBeans metadata into a separate directory."（将 NetBeans 元数据放入单独的目录）。例如，您可能希望将源文件存储在文档根目录，而将 NetBeans 元数据存储在 NetBeansProjects 目录。 

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



. 单击 "Next"（下一步）。"Run Configuration"（运行配置）面板打开。


=== 将现有的远程源文件导入到项目中

1. 在 "Projects"（项目）区域中，选择 "PHP Application from Remote Server"（来自远程服务器的 PHP 应用程序），然后单击 "Next"（下一步）。"New PHP Project"（新建 PHP 项目）的 "Name and Location"（名称和位置）面板打开。
2. 在 "Project Name"（项目名称）文本字段中，输入项目的名称。
3. 在 "Sources Folder"（源文件夹）字段中，指定您要在其中存储源文件的_本地_文档根目录的子文件夹。

本地 Web 服务器会从文档根目录文件夹中查找要在浏览器中打开的文件。文档根目录是在 Web 服务器link:../../trails/php.html#configuration[+配置文件+]中指定的。安装完成后，新建项目向导将会找到文档根目录，并在默认情况下指定以下路径： ``<文档根目录>\<新 PHP 项目>`` 。请注意，必须能够在本地服务器上测试项目，这一点很有用。



. 如果要在不同于源文件的位置存储 NetBeans 元数据，请选择 "Put NetBeans metadata into a separate directory."（将 NetBeans 元数据放入单独的目录）。例如，您可能希望将源文件存储在文档根目录，而将 NetBeans 元数据存储在 NetBeansProjects 目录。


. 单击 "Next"（下一步）。"Remote Connection"（远程连接）面板打开。link:remote-hosting-and-ftp-account.html[+将 PHP 应用程序部署到远程 Web 服务器+]教程介绍了如何设置远程连接。


== 指定新项目的默认运行配置

运行配置是用于运行 PHP 项目的存储设置。您可以为一个项目定义若干个配置，并在这些配置之间来回切换。例如，如果已在本地开发某个应用程序，但需要将其上载到远程生产服务器上，则只需选择其他运行配置即可。运行配置既适用运行操作，又适用调试操作。运行配置可满足以下常见用例的需要：

* 在装有本地 Web 服务器的本地计算机上开发 PHP Web 页。
* 使用本地 PHP 引擎执行 PHP 脚本。此方法适用不输出 HTML 的 PHP 文件。因此，可以在没有浏览器的情况下运行此类脚本。
* 远程开发。PHP 源代码和其他应用程序文件通过 FTP 上载到远程 Web 服务器。此用例常见于多人共同开发的情况。
* 以上用例的组合：应用程序在本地开发，开发完成后部署到远程生产服务器上。在开发过程中，将根据需要执行 PHP 脚本。

创建新的 PHP 项目时，将创建该项目的默认运行配置。要设置项目的默认运行配置，请从 "Run Configuration"（运行配置）面板上的 "Run As"（运行方式）下拉列表中选择相关的选项。可以使用以下选项：

* <<localServer,本地 Web 站点>>。要使用此运行配置，您需要link:../../trails/php.html#configuration[+安装 Apache HTTP 服务器+]并使其处于运行状态。
* link:remote-hosting-and-ftp-account.html[+远程 Web 站点 (FTP/SFTP)（单独的教程）+]。要使用此配置，您需要在远程服务器上具有一个link:remote-hosting-and-ftp-account.html#registerHostingAccount[+托管帐户+]和一个 link:remote-hosting-and-ftp-account.html#createFTPAccount[+FTP 帐户+]。
* <<scriptCommandLine,脚本>>。此运行配置不需要安装和运行 Web 服务器。您只需要一个 link:../../trails/php.html#configuration[+PHP 引擎+]。

创建其他运行配置或编辑默认运行配置的过程在<<runConfiguration,定制项目设置：运行配置>>中进行了介绍。该过程与创建默认运行配置的过程几乎相同，除非您使用的是现有项目的 "Properties"（属性）对话框而非新建项目向导。


=== 本地 Web 站点

本地的 Web 站点配置中包含 PHP 源文件夹的副本，该文件夹位于计算机上安装的 Apache Web 服务器的 Web 文件夹中。使项目中既包含本地 Web 站点配置又包含远程 Web 站点配置，是一种常见的做法。请注意，设置本地 Web 站点运行配置的过程略有不同，这取决于项目是否基于现有源创建。

*设置本地 Web 站点配置：*

1. 从 "Run As"（运行方式）下拉列表中，选择 "Local Web Site"（本地 Web 站点）。
2. 在 "Project URL"（项目 URL）字段中，检查自动生成的 URL 地址。确保 Apache HTTP 服务器监听默认端口 80。如果不是这样，请采用  ``localhost:<port number>``  格式明确指定端口号。

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



. 如果项目是基于现有源创建的，则可以选择将哪个源文件用作索引文件。


. 要将项目的源文件存储在不同于 NetBeans IDE 项目的目录中，请选择 "Copy files from Sources Folder to another location"（将源文件夹中的文件复制到其他位置）。_如果项目是基于现有源创建的，则这是必需的步骤，除非现有源已位于 Apache 服务器的 Web 文件夹中。_
默认情况下，该字段将指定以下路径： ``<文档根目录>\<新 PHP 项目>`` 。使用 "Browse"（浏览）按钮指定其他路径（如若需要）。
Web 服务器会从文档根目录文件夹中查找要在浏览器中打开的文件。文档根目录是在 Web 服务器link:../../trails/php.html#configuration[+配置文件+]中指定的。
该向导将检测 Apache 安装类型（组件或在包内），并提供当前安装类型的  ``htdocs``  文件夹默认位置的路径。因此，如果在安装 Apache 服务器或 AMP 包的过程中接受了默认设置，请从下拉列表中选择路径。


. 单击 "Finish"（完成）。IDE 将创建 PHP 项目。


=== 远程 Web 站点

请参见link:remote-hosting-and-ftp-account.html[+将 PHP 应用程序部署到远程 Web 服务器+]教程。


=== 脚本

1. 从 "Run As"（运行方式）下拉列表中，选择 "Script"（脚本）。

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



. 要指定 PHP 引擎的位置，请单击 "Use Default PHP Interpreter"（使用默认 PHP 解释器）复选框旁边的 "Configure"（配置）按钮。此时将打开 PHP 的 "Options"（选项）对话框中的 "General"（常规）标签。

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



. 在 "PHP 5 Interpreter"（PHP 5 解释器）字段中，指定  ``php.exe``  文件的路径。根据需要使用 "Browse..."（浏览...）或 "Search..."（搜索...）按钮。


. 要指定脚本执行结果的显示方式，请在 "Open Result In"（显示结果的位置）区域中选中相关的复选框。可以使用以下选项：

* "Output"（输出）窗口。将在 NetBeans IDE 窗口底部的输出窗口中显示执行脚本的结果。
* Web 浏览器。将在默认的浏览器窗口中以 HTML 文件的形式显示执行脚本的结果。
* 编辑器。将在 IDE 编辑器窗口中以 HTML 文件的形式显示执行脚本的结果。


. 单击 "OK"（确定）。将关闭 "Options"（选项）对话框，并且系统返回到 "Run Configuration"（运行配置）面板。 


. 添加任意参数，如  ``debug=true`` ，以及任意 link:http://www.php.net/manual/en/features.commandline.options.php[+PHP 命令行选项+]。


== 定制项目设置

在项目创建过程中，将定义基本的项目设置：项目类型、项目源文件的位置以及默认运行配置。要使用新设置扩展项目设置，请定制项目。将光标置于项目节点上，然后从弹出式菜单中选择 "Properties"（属性）。"Project Properties"（项目属性）面板打开，其中显示了设置类别的列表。


=== 源


在 "Sources"（源）面板上：

1. "Web Root"（Web 根目录）字段显示应用程序站点的根文件夹。默认情况下，该字段显示源文件夹。要更改 Web 根目录，请单击 "Browse"（浏览），然后选择其他文件夹。
2. 如有必要，选中 "<<location,Copy files from Sources Folder>> to another location"（将源文件夹中的文件复制到其他位置），然后指定存储文件夹的路径。
3. 如有必要，更改编码。 

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



. 要完成项目定制，请单击 "OK"（确定）。


=== 运行配置


在 "Run Configuration"（运行配置）面板上，修改默认运行配置和/或定义新运行配置（如有必要）。 

1. 要修改默认设置，请<<runConfiguration,更新在项目创建过程中指定的字段>>。
2. 要定义新运行配置，请单击 "Configuration"（配置）下拉列表旁边的 "New"（新建）。"Create New Configuration"（创建新的配置）对话框打开。
3. 在 "Configuration Name"（配置名称）字段中，输入新运行配置的名称，然后单击 "OK"（确定）。返回到 "Run Configuration"（运行配置）面板。
4. 按照在项目创建过程中定义<<runConfiguration,默认运行配置>>的相同方式定义运行配置设置，然后单击 "OK"（确定）。"Configuration"（配置）下拉列表中将添加新配置。
5. 要删除某个配置，请从 "Configuration"（配置）下拉列表中选择该配置，然后单击“删除”。 

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



. 要完成项目定制，请单击 "OK"（确定）。


=== PHP 包含路径


在包含路径面板上，为需要在项目中使用但无需与源文件放置在一起的文件指定位置。

1. 要添加文件夹，请单击 "Add Folder"（添加文件夹）。"Select Folder(s)"（选择文件夹）对话框打开。
2. 选择相关的文件夹，然后单击 "Open"（打开）。将返回到 "PHP Include Path"（PHP 包含路径）面板。此时列表中会添加新文件夹。
3. 要在列表中导航，请使用 "Move Up"（上移）和 "Move Down"（下移）按钮。
4. 要从包含的文件夹列表中删除某个文件夹，请选择该文件夹，然后单击 "Remove"（删除）。

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



. 要完成项目定制，请单击 "OK"（确定）。


=== 格式设置

在 "Formatting"（格式设置）面板上，定义您要对编辑器中的源文件应用的格式样式。您可以定义全局格式设置，也可以定义特定于项目的格式设置。

*定义全局 IDE 格式设置：*

1. 选择 "Use global options"（使用全局选项）。
2. 单击 "Edit Global Options"（编辑全局选项）。此时将打开 IDE 的 "Options"（选项）对话框中的 "Editor"（编辑器）> "Formatting"（格式设置）标签。 

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



. 从 "Language"（语言）下拉列表中，选择将应用该设置的语言。


. 从 "Categories"（类别）下拉列表中，选择将应用该设置的格式项。


. 设置所需的格式，然后单击 "OK"（确定）。


. 单击 "Help"（帮助）按钮，以获得详细信息。

*定义特定于项目的格式设置：*

1. 选择 "Use project-specific options"（使用特定于项目的选项）。此时将显示隐藏区域。image:images/pprop-formatting.png[]
2. 从 "Language"（语言）下拉列表中，选择 "All Languages"（所有语言）或 "PHP"。在这种情况下，"All Languages"（所有语言）代表 PHP 以及 PHP 项目中包含的其他所有语言。
3. 从 "Categories"（类别）下拉列表中，选择将应用该设置的格式项。
4. 设置所需的格式，然后单击 "OK"（确定）。
5. 单击 "Help"（帮助）按钮，以获得详细信息。


=== 添加 JavaScript 库

NetBeans IDE 6.7 中移除了内置的 JavaScript 库，因为这些库不但非常大，而且还会导致性能下降。不过，手动添加它们很简单。如果将 JavaScript 库手动添加到项目中，则可以在 IDE 中对项目启用代码完成和其他所有与 JavaScript 相关的功能。

*将 JavaScript 库添加到项目中：*

1. 下载所需的 JavaScript 库或找到这些库（若已拥有）。
2. 使用 IDE 或文件资源管理器将 JavaScript 库复制到 PHP 项目文件夹中。

如果要对项目属性进行设置，以便将项目源复制到其他位置（请参见<<sources,源>>），则也可以将 JavaScript 库复制到此位置。如果在远程服务器上部署项目，则下次将项目源上载到该服务器时，也会将 JavaScript 库上载到该服务器。

link:/about/contact_form.html?to=3&subject=Feedback:%20PHP%20Project%20Setup[+发送有关此教程的反馈意见+]


要发送意见和建议、获得支持以及随时了解 NetBeans IDE PHP 开发功能的最新开发情况，请link:../../../community/lists/top.html[+加入 users@php.netbeans.org 邮件列表+]。

link:../../trails/php.html[+返回至 PHP 学习资源+]

