转载请注明来自souldak,微博:@evagle

首先如果你在config/main.php里面没有配置urlManager的话,那么流程如下(摘自yii官网)

  1. 用户发出了访问 URL http://www.example.com/index.php?r=post/show&id=1 的请求,Web 服务器通过执行入口脚本index.php 处理此请求。
  2. 入口脚本创建了一个 应用 实例并执行。
  3. 应用从一个叫做 request应用组件中获得了用户请求的详细信息。
  4. 应用在一个名叫 urlManager 的应用组件的帮助下,决定请求的 控制器动作 。在这个例子中,控制器是 post,它代表 PostController 类;动作是 show ,其实际含义由控制器决定。
  5. 应用创建了一个所请求控制器的实例以进一步处理用户请求。控制器决定了动作show 指向控制器类中的一个名为 actionShow 的方法。然后它创建并持行了与动作关联的过滤器(例如访问控制,基准测试)。如果过滤器允许,动作将被执行。
  6. 动作从数据库中读取一个 ID 为 1Post 模型
  7. 动作通过 Post 模型渲染一个名为 show视图
  8. 视图读取并显示 Post 模型的属性。
  9. 视图执行一些 小物件
  10. 视图的渲染结果被插入一个 布局
  11. 动作完成视图渲染并将其呈现给用户。

但是如果你已经配置了urlManager如下:

'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                '<controller:\w+>/<id:\d+>'=>'<controller>/index',
                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
                '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
            ),
        ),

那么直接访问http://www.example.com/index.php?r=post/show&id=1就不可能得到show action的结果了。首先这个请求会交给defaultController的indexAction处理,defaultController在main.php里制定,如果defaultController不是PostControler,你可能就会莫名其妙了。如果正好是的话,则会返回indexAction的内容,而不是showAction。

其实要访问这个也很简单,http://www.example.com/index.php/post/show?id=1就行了

因为urlManager已经设置成按照<controller>/<action>的形式

最新文章

  1. CodeSmith7 系列 破解教程
  2. 关闭SELinux和iptables防火墙
  3. petset翻译
  4. MINA系列学习-IoAccpetor
  5. python的继承
  6. php--group_concat()函数总结
  7. 常用思科设备图标(JPG+矢量图)
  8. 文本编辑BOM标记(Byte Order Mark)
  9. jq屏蔽f5
  10. .h(头文件) .lib(库文件) .dll(动态链接库文件) 之间的关系和作用的区分
  11. MySQL 导入外部数据时报错:1153: Got a packet bigger than &#39;max_allowed_packet&#39; 解决方案
  12. i春秋misc部分writeup
  13. 你不得不用的MAC软件开发工具软件,个个万里挑一
  14. 个人博客作业_week7
  15. Emmagee&#160;app性能测试工具使用教程
  16. 迷你MVVM框架 avalonjs 0.8发布
  17. java集合(类似python的列表)
  18. java 关于同步异步的理解
  19. java第六天
  20. 20145324 Java实验五

热门文章

  1. Qt的目录依赖问题----怎样生成一个绿色的Qt软件包
  2. [置顶] LED办公楼宇照明节能方案及城市夜景照明节能方案
  3. libcurl post上传文件
  4. [转载]各种在线api地址
  5. &lt; high performance web sites &gt; 阅读小记
  6. java实现字符串匹配问题之求两个字符串的最大公共子串
  7. 解决外贸电商难题,PayPal中国外贸电商大会圆满礼成
  8. [Asp.net]常见word,excel,ppt,pdf在线预览方案(转)
  9. javaweb学习路之一--web项目搭建
  10. 【转】Ubuntu 上编译Android出现cannot find -lstdc++解决办法