php培训:构建样例应用程序(五)

2025-05-19 01:27:49

创建表和模型

  如果您没有 posts 表,您跳过了第 1 部分中创建 posts 表的那一部分,请立即转到相应位置查看并创建该表。在 /column/protected/cakePHP/app/models 目录中创建名为 post.php 的文件。该文件将包含模型的类定义。定义十分简单:类是 Post 并扩展 AppModel,并且应当将类变量 $name 设为 post。

  所有工作就这么多。您的模型将使用来自 AppModel 的所有继承方法。现在可以接着构建控制器了。

  注:您可能已经注意到该表被称为 posts(复数),而模型名称为 post(单数)。这是 Cake 的重要约定部分。模型总是单数,而其对应的表总是复数。

  构建 Cake posts 控制器

  posts 控制器将十分简单,像您今天编写的其他控制器一样。您将安插几个帮助器,然后定义三个操作:index、read 和 write。

  index 操作将获取 posts 列表并使其对视图可用。read 操作将获取 post 的 ID,检索 post 并使 post 数据可用于视图。write 操作用于接受提交(如果有提交操作)并将数据保存到数据库中。

  有关语法和结构的详细信息,请查看 代码下载 中的 /column/protected/cakephp/app/controllers/posts_controller.php。

  控制器已经完成。现在可以接着构建最后几个视图。

  构建 Cake 视图

  您需要使用在其他框架中为 Blahg 创建的三个基础视图。在本例中,您将在 /column/protected/cakephp/app/views/posts 目录中创建 index.ctp、read.ctp 和 write.ctp 文件。这些文件只是 CakePHP 将使用的模板,它们很像您在 symfony 中创建的模板。请查看代码归档中的这些文件。视图将充分使用表单和 HTML 帮助器来输出链接和表单元素,但是它们看上去应当类似您为 symfony 创建的其他视图。

  注意,视图不会呈现到完全的 HTML 文件中。默认布局是由 CakePHP 提供的。这些默认布局文件都是位于 /column/protected/cakephp/cake/libs/views/templates/layouts 中,但是不必修改这些文件。如果需要更改默认布局,请将 default.ctp 布局文件的副本放到 /column/protected/cakephp/app/views/layouts 中并根据需要进行修改。

  注:使用这些帮助器的话,则 Cake 中的表单和链接更易于维护,因为 Cake 将确保链接指向应用程序中的正确安装位置或移至其他目录的位置,并且如果正确设定了表单元素名称的格式,Cake 将为您完成大部分工作。

  根据 Blahg 的需求构建视图,或者安装 代码下载 中的视图。假定所有内容均已正确编写并安装,您应当能够访问位于 http/localhost/cakephp/posts 的 CakePHP 版本的 Blahg(假定已在本地安装)。

总结:

  您完成了很多工作:安装、启动并运行了三个框架,并且在每个框架中创建了一个基本应用程序。

  花一些时间使用每个框架中的 Blahg,然后尝试在每个框架中扩展 Blahg。尝试编写一个 comments 控制器,该控制器将允许用户发布对每个 post 的回复。可是这时还不能把链接注释整合到 posts 中。但如果您感觉这样做没问题,那就尽管去做吧!在第 3 部分中,将为您提供涉及这部分操作的一些代码。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:55
  • 阅读量:68
  • 阅读量:30
  • 阅读量:91
  • 阅读量:30
  • 猜你喜欢