路由
多数情况下,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的人将来通常要研究的共同任务:
- 布局: 自定义 web 站点的布局
- 元素 :包含和重用视图片断
- 脚手架: 创建代码前的原型
- 使用 Bake 生成代码 使用 Bake 生成基本的 CRUD 代码
- 简单授权验证和授权应用程序: 用户验证和授权教程
延伸阅读
- 一个典型的 CakePHP 请求
- CakePHP 约定
- 控制器约定
- 关于控制器命名的思考
- 文件名和类名约定
- 模型和数据库约定
- 视图约定
- 控制器约定
- CakePHP 的文件夹结构
- app 文件夹
- CakePHP 的结构
- 应用程序扩展
- 控制器扩展 (“组件”)
- 模型扩展 (“行为”)
- 视图扩展 (“助手”)