CakePHP 使用 Bake 代码生成器

来源:互联网 发布:apache ivy 编辑:程序博客网 时间:2024/05/08 14:26

通过使用 BakeCakePHP 代码生成器),可以生成一个包含 Scaffolding 功能和相关视图的控制器。

CakePHP V1.1 中,Bake 是一个直接调用的 PHP 脚本。在 CakePHP V1.2 中,Bake 功能已经转移到了 Cake Console 中,在本教程后面您会逐渐熟悉 Cake Console。将路径 /webroot/cake/console 添加到环境的 PATH 变量中,可以简化操作。设置这个变量之后,就可以直接调用 CakeConsole 而不需要指定路径信息。这种做法并不是必需的,本教程假设不这样做。另外,应该从应用程序的 app 目录(在本示例中是 /project/app)运行 Cake Console,否则 Cake Console 会认为您打算对新的应用程序执行操作。

在继续执行操作之前,请制作现有 app 目录的拷贝。Bake 将覆盖 products 控制器,而且当操作包括关键字 “overwrite”(或者 “copy”“delete”“format” “voodoo”)时,应当经常备份文件。如果遇到问题,请确保 php 位于环境的 PATH 变量中。

products 控制器使用 Bake

要想使用 Bake,应该使用 cd 命令切换到 /webroot/app 目录并启动 Cake Console

php ../cake/console/cake.php bake

已编写的模型应当不会有问题,所以让我们开始编写控制器,但是如果不放心,用bake生成Model也是很容易的~

下面绍介下控制器的Bake方法:

C 键选择控制器。Cake Console 将查看目前操作的应用程序,并列出可以运行 Bake 的控制器。我们要对 products 控制器运行 Bake,选择它的控制器编号xBake 将询问您是否希望以交互方式(interactive)构建控制器。目前,按 N 键让 Bake 自己做出所有决定,但是稍后您应当尝试以交互方式构建一个控制器,感受一下 Bake 的其他功能。接下来,Bake会询问是否希望包含一些基本的类方法。按 Y(因为我们使用 Bake 的目的就是获得这些代码)。接下来,Bake 会询问是否希望创建用于管理路由(routing)的方法。按 N(目前不需要这些方法)。Bake 应当会通知您它创建了文件 /app/controllers/tables_controller.php,并询问是否希望创建一些单元测试文件。目前可以跳过它们。完成操作之后,会回到 Bake 菜单。

大功告成!退出 Cake Console,打开 app/controllers/products_controller.php,看看 Bake 为您实现了什么功能……

原创粉丝点击