PHP 和 Netbeans 应用开发(三)

原文:zh.annas-archive.org/md5/3257ea46483c2860430cdda1bc8d9606

译者:飞龙

协议:CC BY-NC-SA 4.0

附录 A. 在 NetBeans 7.2 中引入 Symfony2 支持

Symfony 是一个用于开发 Web 应用程序的 PHP 框架。它在构建 PHP 中的复杂 Web 应用程序方面非常有帮助。虽然 Symfony 是设计用于从命令行工作,但 NetBeans 7.2 对 Symfony 的支持允许您在 NetBeans 图形用户界面中使用它。

本教程演示了 NetBeans IDE 7.2 对 PHP 中 Symfony 框架的内置支持。它展示了如何设置 IDE 以使用 Symfony,如何创建使用 Symfony 框架的 PHP 项目,以及有关导航项目和设置 IDE 选项的一些提示。

下载和集成最新的 Symfony 标准版

Symfony 标准版是启动新项目时使用的最佳发行版。它包含最常见的 bundles,并配有一个简单的配置系统。

创建 Symfony2 与 NetBeans 的时间

在本节中,我们将下载标准版并将存档集成到 IDE 中。所以让我们试一试。

  1. symfony.com/download下载最新的 Symfony 标准 2.x.x.zip。将.zip存档保存到您的磁盘上;您不需要解压.zip文件。

  2. 检查已添加到 IDE 的所有项目的 PHP 5 解释器。选择工具 | 选项 | PHP | 通用,并验证PHP 5 解释器字段中添加的解释器路径。需要添加 PHP 解释器以从 NetBeans 运行 Symfony 命令。

  3. 现在,在 IDE 中提供 Symfony 标准版(.zip文件)的路径。选择工具 | 选项 | PHP | Symfony2。浏览下载的symfony2 .zip存档,并按确定保存设置。

刚刚发生了什么?

IDE 将每次使用添加的symfony2存档来提取和转储新的 Symfony 项目。下载的框架版本包含演示 Symfony 应用程序。我们可以稍后玩这些演示应用程序,以更好地掌握 Symfony 框架。

注意

您可以从symfony.com/download中选择多个下载选项。

创建一个新的 Symfony2 项目

由于我们已经将 Symfony2 框架安装存档与 IDE 集成,因此创建新的 Symfony2 项目与在 NetBeans 中创建新的 PHP 项目完全相同。IDE 使用安装存档并在其中创建一个带有 Symfony 框架的新 PHP 项目。

创建 Symfony2 项目使用 NetBeans 的时间

我们将创建一个具有 Symfony2 框架支持的新 PHP 项目。在 IDE 创建项目目录结构之后,我们将配置我们的 Symfony2 网站。所以让我们按照以下步骤进行:

  1. 以通常的方式创建一个全新的 PHP 项目,在要求选择PHP 框架的步骤中,勾选Symfony2 PHP Web Framework复选框,如下截图所示:外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 一旦在新项目创建对话框中单击完成,IDE 将生成一个新的 Symfony 项目并将提取的框架转储到其中。创建的项目目录可能类似于以下内容:外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  3. 现在,将浏览器指向http://localhost/symfony2/web/config.php(将symfony2替换为您的项目目录名称)。新的 Symfony2 项目配置页面将类似于以下截图:外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

您应该看到来自 Symfony 的欢迎消息,可能还有一些它检测到的问题列表。在继续之前,尝试解决建议部分下列出的任何主要环境问题。

  1. Symfony 框架提供了一个网站配置向导。要进入向导,请访问Configure your Symfony Application online链接,并为应用程序配置数据库凭据。在此页面,您可以选择您的数据库驱动程序(MySQL - PDO),更新您的数据库信息,如主机名、数据库名称、用户名和密码,并继续下一步。

如果您已经配置了应用程序,可以选择Bypass configuration and go to the Welcome page链接。

  1. 在下一步中,您可以为您的 Web 应用程序生成和更新全局秘密代码(随机字母数字字符串)。此秘密代码用于安全目的,如 CSRF 保护。

  2. 最后一步显示了一个成功的配置消息,例如**Your distribution is configured!**实际上,这样的配置已经覆盖了/app/config/目录中的parameters.ini文件。

  3. 现在,将浏览器指向http://localhost/symfony2/web/app_dev.php/(将symfony2替换为您的项目目录名称)。新的 Symfony2 项目登陆页面将类似于以下截图:外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

刚刚发生了什么?

我们已成功创建和配置了一个新的 Symfony 项目以及演示应用程序。Symfony2 项目的基本目录结构如下所述:

  • app/: 这包括应用程序配置文件、日志、缓存等。

  • src/: 这包括项目的 PHP 代码和您的代码所在的目录。很可能里面已经有一个演示。

  • vendor/: 这包括第三方依赖项。

  • web/: 这包括 web 根目录。

注意

开始使用 Symfony:

symfony.com/get_started

了解 Symfony 目录结构:

symfony.com/doc/current/quick_tour/the_architecture.html

在 NetBeans 中运行 Symfony2 控制台命令

NetBeans IDE 支持运行 Symfony2 命令。要从 IDE 中运行命令,请从项目的上下文菜单中选择Symfony2 | Run Command…以启动Run Symfony2 Command对话框。在对话框中,您可以选择所需的 Symfony 命令并添加参数。

例如:

generate:bundle [--namespace="..."] [--dir="..."] [--bundle-name="..."] [--format="..."] [--structure]

generate:bundle命令帮助您生成新的 bundle。默认情况下,该命令与开发人员交互以调整生成。任何传递的选项都将用作交互的默认值(如果遵循约定,则只需要--namespace):

php app/console generate:bundle --namespace=Acme/BlogBundle

在这里,Acme是您的标识符或公司名称,BlogBundle是以Bundle字符串为后缀的 bundle 名称。

创建一个 bundle

bundle类似于其他软件中的插件,但更好。关键区别在于 Symfony2 中的一切都是 bundle,包括核心框架功能和为您的应用程序编写的代码。bundle 在 Symfony2 中是一等公民。这使您可以灵活地使用打包在第三方 bundle 中的预构建功能,或者分发您自己的 bundle。这使得您可以轻松地选择要在应用程序中启用的功能,并按照您想要的方式对其进行优化。

bundle 只是一个实现单个功能的目录中的一组结构化文件。您可以创建BlogBundleForumBundle或用于用户管理的 bundle(许多这样的 bundle 已经存在作为开源 bundle)。每个目录包含与该功能相关的所有内容,包括 PHP 文件、模板、样式表、JavaScript、测试等。功能的每个方面都存在于 bundle 中,每个功能都存在于 bundle 中。

采取行动 — 使用 Symfony2 控制台命令创建一个 bundle

我们将使用 IDE 的Run Symfony2 Command对话框使用generate:bundle命令创建一个新的 bundle。所以让我们试试看…

  1. 项目窗格中,右键单击项目节点,从上下文菜单中选择Symfony2 | Run Command…以启动Run Symfony2 Command对话框,如下所示:外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

您将能够在匹配任务框中看到可用命令的列表。您可以为这些命令添加参数,并在命令对话框中查看完整的命令。

  1. 从前面的对话框中,选择generate:bundle命令,然后单击Run,或双击列出的名称以运行命令。IDE 的图形控制台打开以提示命名空间。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 输入Bundle namespace的值,比如Application/FooBundle

  3. 输入Bundle name的值,或按Enter接受默认的 bundle 名称为ApplicationFooBundle

  4. Target目录处按Enter接受默认的 bundle 路径为/src

  5. 您可以输入Configuration format的值(yml, xml, php,或annotation)yml;默认值为annotation

  6. 输入Yes以生成 bundle 的整个目录结构[no]?**,以生成 bundle 的整个目录结构;默认为 no。

  7. 再次输入Yes确认 bundle 生成。

  8. 在**确认自动更新您的内核 [yes]?确认自动更新路由 [yes]?**处,按Enter接受默认值,即 yes。这样 bundle 就可以在 Symfony 内核中注册,并且 bundle 路由文件链接到默认的路由配置文件。

  9. 现在,正如你所看到的,在/src目录内创建了一个新的 bundle;bundle目录结构看起来类似于以下内容:外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

请注意,默认的控制器、路由文件、模板等与 bundle 同时创建。

  1. 现在,要测试您的 bundle,请将浏览器指向http://localhost/symfony2/web/app_dev.php/hello/tonu,您可能会看到类似**Hello Tonu!**的输出。

  2. /src/Application/FooBundle/Resources/config/routing.yml处查看 bundle 路由文件,您将看到 URL 与默认控制器的索引操作(ApplicationFooBundle:Default:index)映射的模式/hello/{name}。在这个例子中,该操作显示作为 URL 参数传递的名称,而不是{name}

刚刚发生了什么?

每个 bundle 都托管在一个命名空间下(例如Acme/Bundle/BlogBundleAcme/BlogBundle)。命名空间应以“供应商”名称开头,例如您的公司名称、项目名称或客户名称,后面跟着一个或多个可选的类别子命名空间,最后以 bundle 名称本身结尾(必须以Bundle作为后缀)。

注意

请参阅http://symfony.com/doc/current/cookbook/bundles/best_practices.html#index-1,了解有关 bundle 命名约定的更多详细信息。

我们已经看到了交互式控制台,它要求参数并自动创建整个bundle目录结构。此外,它将 bundle 注册到 Symfony 的/app/AppKernel.php中,并将 bundle 路由配置文件链接到default/app/config/routing.yml中。

注意

Symfony 学习资源:

symfony.com/doc/current/book/index.html

附录 B. NetBeans 键盘快捷键

NetBeans IDE 的常用键盘快捷键如下。

文件菜单

命令动作
Ctrl + Shift + N新建使用新建项目向导创建新项目
Ctrl + N新建使用新建文件向导创建新文件
Ctrl + Shift + O打开文件打开现有项目
Ctrl + S保存保存当前文件
Ctrl + Shift + S全部保存保存所有文件

编辑菜单

命令动作
Ctrl + Z撤销撤销(一次)编辑操作序列,除了保存
Ctrl + Y重做撤销(一次)撤销命令序列
Ctrl + X剪切删除当前选择并将其放置在剪贴板上
Ctrl + C复制将当前选择复制到剪贴板
Ctrl + V粘贴将剪贴板的内容粘贴到插入点
Ctrl + Shift + V粘贴格式将剪贴板的格式内容粘贴到插入点
Delete删除删除当前选择
Ctrl + A全选选择当前文档或窗口中的所有内容
Alt + Shift + J选择标识符选择当前标识符
Ctrl + F3查找选择查找当前选择的实例
F3查找下一个查找下一个找到的文本实例
Shift + F3查找上一个查找上一个找到的文本实例
Ctrl + F查找查找文本字符串
Ctrl + H替换查找文本字符串并用指定的字符串替换它
Alt + F7查找用法查找所选代码的用法和子类型
Ctrl + Shift + F在项目中查找在项目中查找指定的文本、对象名称和对象类型
Ctrl + Shift + H在项目中替换替换项目中的文本、对象名称和对象类型

视图菜单

命令动作
Ctrl + - (减号)折叠折叠如果插入点在可折叠的文本部分中,则将这些行折叠成一行
Ctrl + + (加号)展开折叠如果源编辑器窗口中当前选择的行代表几行折叠的文本,则展开折叠以显示所有行
Ctrl + Shift + - (减号)折叠全部折叠源编辑器窗口中所有可折叠的文本部分
Ctrl + Shift + + (plus)展开全部展开源编辑器窗口中所有可折叠的文本部分
Alt + Shift + Enter全屏将窗口展开到屏幕的全长和全宽

导航菜单

命令动作
Alt + Shift + O转到文件查找并打开特定文件
Ctrl + O转到类型查找并打开特定的类或接口
Ctrl + Alt + Shift + O转到符号查找并打开特定符号
Ctrl + Shift + T转到测试查找并打开特定测试
Ctrl + 反引号转到上一个文档打开当前文档之前打开的文档
Ctrl + Shift + B转到源显示包含所选类定义的源文件
Ctrl + B转到声明跳转到光标下项目的声明
Ctrl + Shift + P转到超级实现跳转到光标下项目的超级实现
Ctrl + Q上次编辑位置将编辑器滚动到上次编辑发生的地方
Alt + 左箭头键返回后退
Alt + 右箭头键前进前进
Ctrl + G转到行跳转到指定行
Ctrl + Shift + M切换书签在代码行上设置书签
Ctrl + Shift +. (句号)下一个书签通过书签向前循环
Ctrl + Shift + , (逗号)上一个书签通过书签向后循环
Ctrl +. (句号)下一个错误源代码编辑器窗口滚动到包含下一个构建错误的行
Ctrl +, (逗号)上一个错误源代码编辑器窗口滚动到包含上一个构建错误的行
Ctrl + Shift + 1在项目中选择打开项目窗口并在其中选择当前文档
Ctrl + Shift + 2在文件中选择打开文件窗口并在其中选择当前文档
Ctrl + Shift + 3在收藏夹中选择打开收藏夹窗口并在其中选择当前文档

源菜单

命令动作
Alt + Shift + F格式格式化所选代码或整个文件(如果未选择任何内容)
Alt + Shift + 左箭头键向左移动将所选行或多行向左移动一个制表符
Alt + Shift + 右箭头键向右移动将所选行或多行向右移动一个制表符
Alt + Shift + 上箭头键向上移动将所选行或多行向上移动一行
Alt + Shift + 下箭头键向下移动将所选行或多行向下移动一行
Ctrl + Shift + 上箭头键向上复制复制所选行或多行一行向上
Ctrl + Shift + 下箭头键向下复制复制所选行或多行一行向下
Ctrl + / (斜杠) 或 Ctrl + Shift + C切换注释切换当前行或所选行的注释
Ctrl + 空格键完成代码显示代码完成框
Alt + 插入插入代码弹出一个上下文感知菜单,您可以使用它来生成常见结构,如构造函数、getter 和 setter
Alt + Enter修复代码显示编辑器提示,并在显示灯泡时,IDE 会在提示可用时通知您
Ctrl + Shift + I修复导入生成文件中指定类所需的导入语句
Ctrl + P显示方法参数选择下一个参数;您必须选择(高亮显示)一个参数,此快捷键才能起作用
Ctrl + Shift + 空格显示文档显示光标下项目的文档
Ctrl + Shift + K插入下一个匹配的单词当您键入其开始字符时,生成代码中其他地方使用的下一个单词
Ctrl + K插入上一个匹配的单词当您键入其开始字符时,生成代码中其他地方使用的上一个单词

重构菜单

命令动作
Ctrl + R重命名原地重命名
Ctrl + M移动原地移动
Alt + 删除安全删除删除之前,显示引用

运行菜单

命令动作
F6运行主项目运行主项目
Alt + F6测试项目为项目启动 PHP 单元测试
Shift + F6运行文件运行当前选择的文件
Ctrl + F6测试文件为当前文件启动 PHP 单元测试
F11构建主项目编译文件;如果选择文件夹,IDE 将编译所有文件,而不管它们自上次编译以来是否发生了更改
Shift + F11清理并构建主项目编译文件;如果选择文件夹,IDE 将编译所有文件,而不管它们自上次编译以来是否发生了更改
F9编译文件编译文件;如果选择文件夹,IDE 仅编译自上次编译以来新的或已更改的文件

调试菜单

命令操作
Ctrl + F5调试主项目调试主项目
Ctrl + Shift + F5调试文件开始当前选定文件的调试会话
Ctrl + Shift + F6为文件调试测试开始 PHPUnit 中文件的调试测试
Shift + F5结束调试会话结束调试会话
F5继续恢复调试直到下一个断点或程序结束
F8跳过执行程序的一行源代码。如果该行是一个方法调用,执行整个方法然后停止
Shift + F8跳过表达式跳过表达式然后停止调试
F7步入执行程序的一行源代码;如果该行是一个方法调用,执行程序直到方法的第一条语句然后停止
Ctrl + F7跳出执行程序的一行源代码;如果该行是一个方法调用,执行该方法并返回控制权给调用者
F4运行到光标运行当前项目到文件中光标的位置,然后停止程序执行
Shift + F7运行到方法运行当前项目到指定方法,然后进入该方法
Ctrl + Alt + 上箭头键使被调用者为当前使被调用方法成为当前调用;仅在调用堆栈窗口中选择调用时可用
Ctrl + Alt + 下箭头键使调用者为当前使调用方法成为当前调用;仅在调用堆栈窗口中选择调用时可用
Ctrl + F8切换行断点在程序中光标位置添加或移除断点
Ctrl + Shift + F8新断点在指定行、异常或方法设置新断点
Ctrl + Shift + F7新建监视添加指定变量以监视
Ctrl + F9评估表达式打开评估表达式对话框

窗口菜单

命令操作
Ctrl + 0源代码编辑器切换到源代码编辑器窗口
Ctrl + 1项目打开项目窗口
Ctrl + 2文件打开文件窗口
Ctrl + 3收藏夹打开收藏夹窗口
Ctrl + 4输出窗口打开输出窗口
Ctrl + 5服务打开服务窗口
Ctrl + Shift + 5HTTP 监视器打开HTTP 监视器窗口
Ctrl + 6任务列表打开任务列表窗口
Ctrl + 7导航器打开导航器
Alt + Shift + 1调试 | 变量打开变量调试器窗口
Alt + Shift + 2调试 | 监视打开监视调试器窗口
Alt + Shift + 3调试 | 调用堆栈打开调用堆栈调试器窗口
Alt + Shift + 4调试 | 类打开类调试器窗口
Alt + Shift + 5调试 | 断点打开断点调试器窗口
Alt + Shift + 6调试 | 会话打开会话调试器窗口
Alt + Shift + 7调试 | 线程打开线程调试器窗口
Alt + Shift + 8调试 | 源代码打开源代码窗口
Ctrl + W关闭关闭当前窗口中的当前选项卡;如果窗口没有选项卡,则关闭整个窗口
Shift + Esc最大化窗口最大化源代码编辑器窗口或当前窗口
Alt + Shift + D取消停靠窗口从 IDE 中分离窗口
Ctrl + Shift + W关闭所有文档关闭源代码编辑器窗口中的所有打开文档
Shift + F4文档打开文档对话框,您可以在其中保存和关闭打开的文档组
Ctrl + Tab (Ctrl + ')切换到最近的窗口以它们最后使用的顺序切换打开的窗口;对话框显示所有打开的窗口和源编辑器窗口中的每个打开文档

滚动和选择

动作
Ctrl + 下箭头键在不移动插入点的情况下向上滚动窗口
Ctrl + 上箭头键在不移动插入点的情况下向下滚动窗口
Ctrl + [将插入点移动到突出显示的匹配括号处;此快捷键仅在插入点紧跟在开放或关闭括号之后时才起作用
Ctrl + Shift + [选择一对括号之间的代码块;此快捷键仅在插入点紧跟在开放或关闭括号之后时才起作用
Ctrl + G跳转到指定行
Ctrl + A选择文件中的所有文本

修改文本

动作
Insert在插入文本和覆盖文本模式之间切换
Ctrl + Shift + J打开国际化对话框,您可以在插入点插入国际化字符串
Ctrl + U, U将所选字符或插入点右侧的字符转换为大写
Ctrl + U, L将所选字符或插入点右侧的字符转换为小写
Ctrl + U, S反转所选字符的大小写或插入点右侧的字符的大小写

代码折叠

动作
Ctrl + - (减号)折叠插入点所在的代码块
Ctrl + + (加号)展开插入点旁边的代码块
Ctrl + Shift + - (减号)折叠所有代码块
Ctrl + Shift + + (加号)展开所有代码块

搜索文本

动作
Ctrl + F3搜索插入点所在的单词并突出显示该单词的所有出现
F3选择当前搜索中单词的下一个出现
Shift + F3选择当前搜索中单词的上一个出现
Alt + Shift + H打开或关闭搜索结果的高亮显示
Ctrl + F打开查找对话框
Ctrl + H打开查找和替换对话框

设置制表位

动作
Tab将插入点右侧的所有文本向右移动
Alt + Shift + Right将包含插入点的行中的文本向右移动
Alt + Shift + Left将包含插入点的行中的文本向左移动

IDE 还为那些习惯于其他编辑器和 IDE 键盘快捷键的用户提供了不同的预配置快捷键配置文件。您可以复制和修改任何键盘快捷键配置文件。IDE 提供以下快捷键配置文件:

  • Eclipse

  • Emacs

  • IDEA

  • NetBeans

  • NetBeans 5.5

由于 NetBeans IDE 5.5 和 NetBeans IDE 6.0 之间的快捷键映射发生了重大变化,您可以选择切换回 NetBeans IDE 5.5 中可用的快捷键。要这样做,请从工具 | 选项 | 键盘映射中选择 NetBeans 5.5 快捷键配置文件。

注意

有关 Mac OS 键盘快捷键,请参阅NetBeans 帮助 | IDE 基础知识 | 键盘快捷键 | Mac OS 键盘快捷键

附录 C. 弹出测验答案

每章的弹出测验答案都在这里提供,供您参考。你得了多少分?

第二章,使用 PHP 编辑器提高编码效率

弹出测验 - 熟悉基本 IDE 功能

1d
2d
3c
4c
5b

弹出测验 - 探索 PHP 编辑器

1d
2d
3b
4d

弹出测验 - 使用重命名重构和即时重命名

1a
2b

弹出测验 - 使用代码补全

1c
2d
3b

弹出测验 - 使用代码生成器

1a
2d

第三章,使用 NetBeans 构建类似 Facebook 的状态发布器

弹出测验 - 理解 PDO

1c

弹出测验 - 理解 CSS

1b
2a
3b

弹出测验 - 复习 jQuery 知识

1c
2d
3c
4c
5b
6d

第四章,使用 NetBeans 进行调试和测试

弹出测验 - 使用 XDebug 进行调试

1a, c, d
2b
3b

弹出测验 - PEAR

1b

弹出测验 - 单元测试和代码覆盖率

1d
2c
3c
4c

第五章,使用代码文档

弹出测验 - 复习标签

1c
2b
3a

第六章,了解 Git,NetBeans 方式

弹出测验 - 理解 Git

1a
2b
3b
4b

弹出测验 - 使用 Git

1a
2b
3b
4d

弹出测验 - 使用远程存储库和分支

1b
2b
3d

第七章,构建用户注册、登录和注销

弹出测验 - 复习 PDO

1c

弹出测验 - 使用命名空间

1a, b, c
2b

弹出测验 - 应用架构

1c
2b
3a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值