路由

多数情况下,CakePHP 的默认路由都能够很好地工作。对用户体验和搜索引擎兼容敏感的程序员将注意到 CakePHP 的 URL 映射到动作的方式。所以在这篇教程里我们仅仅快速的更改了一下路由。

路由技术的更多更高级的信息,请参见 路由配置 。

默认的,CakePHP 用 PagesController 回应对站点根的访问(例如 www.example.com),渲染一个叫 “home” 的视图。我们通过建立一条路由规则,用我们自己的 PostsController 来代替它。

可以在 /app/Config/routes.php 中找到路由配置。要注释掉或者删除定义默认路由的那一行。它看起来像是:

1 Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));

一行将默认的 home 页关联给 URL ‘/’。我们想要用我们自己的控制器关联它,所以用如下行替换这一行:

1 Router::connect('/', array('controller' => 'posts', 'action' => 'index'));

这将把 PostsController 的 index() 动作关联给 URL ‘/’。

注解

CakePHP 还支持 ‘逆向路由’ ——如果通过``array(‘controller’ => ‘posts’, ‘action’ => ‘index’)`` 传递给期望得到数组的函数来定义如上路由,那么结果将是 ‘/’。这意味着总是用数组通过路由去定义要去的 URL 是个好主意,并能确保总是会指向同一个位置。

结语

创建应用程序这条路,将使你赢得超出以往的狂热幻想的和平、光荣、爱和金钱。容易,不容易?记住,这个教程只是一个基础。CakePHP 提供了更多的特性和更灵活的方式,简单起见,我们不希望这个教程覆盖那么多。使用手册的剩余部分作为构建富于特性的应用的指南。

现在已经建立了一个基于真实内容的基本的 Cake 应用程序。阅读 Cookbook 和 API 的剩余内容,开始自己的项目吧。

如果需要帮助,到 #cakephp 来看我们。欢迎来到 CakePHP!

建议后续阅读:

这些都是学习CakePHP的人将来通常要研究的共同任务:

  1. 布局: 自定义 web 站点的布局
  2. 元素 :包含和重用视图片断
  3. 脚手架: 创建代码前的原型
  4. 使用 Bake 生成代码 使用 Bake 生成基本的 CRUD 代码
  5. 简单授权验证和授权应用程序: 用户验证和授权教程

延伸阅读

  • 一个典型的 CakePHP 请求
  • CakePHP 约定
    • 控制器约定
      • 关于控制器命名的思考
    • 文件名和类名约定
    • 模型和数据库约定
    • 视图约定
  • CakePHP 的文件夹结构
    • app 文件夹
  • CakePHP 的结构
    • 应用程序扩展
    • 控制器扩展 (“组件”)
    • 模型扩展 (“行为”)
    • 视图扩展 (“助手”)