设为首页
收藏本站
开启辅助访问
繁体中文
提现
切换到宽版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
资源网
商业源码
分享源码
零氪游戏
SEO学习网
VIP
永久服务器
快捷导航
搜索
搜索
本版
文章
帖子
用户
永久服务器
私密影视你懂得
戴尔服务器代理商
NK博客-SEO的天堂
阿里云宝宝
华为服务器代理商
快排狗SEO
猫先森SEO
破解游戏平台
精品域名任君选购
6/月、50/年、200/永久。
6/月、50/年、200/永久。
6/月、50/年、200/永久。
6/月、50/年、200/永久。
6/月、50/年、200/永久。
6/月、50/年、200/永久。
6/月、50/年、200/永久。
6/月、50/年、200/永久。
6/月、50/年、200/永久。
6/月、50/年、200/永久。
猫先森网络资源站
»
论坛
›
站长资讯
›
网站教程
›
Yii框架分析(八)——URL管理组件
返回列表
查看:
85
|
回复:
0
[PHP]
Yii框架分析(八)——URL管理组件
[复制链接]
程序猿
程序猿
当前离线
积分
34274
论坛元老
积分
34274
主题
17031
UID
1347
M币
67
贡献
17176
发消息
发表于 2014-5-16 09:11:00
|
显示全部楼层
|
阅读模式
URL
管理组件主要提供2个功能:
1、根据用户输入的url,解析出处理这个请求的
路由
——由哪个Controller的哪个Action来处理,同时将url中的参数部分添加到$_GET参数中。在每个web框架中都需要一个这样的组件来进行路由分发的工作。
2、根据路由和参数数组创建出url。在视图层可以对url进行硬编码,即直接写死url地址,但是这往往缺乏灵活性,为后期的维护带来成本。
array( 'components'=>array( 'urlFormat'=>'path', 'rules'=>array( '/art///
/'=>'article//', 'post/
/'=>'post/view', '/'=>'/', ), ), ); 如上是一个url管理组件的配置,一共有3条规则。下图以第一条规则为例,说明了url解析和url创建的两个功能。对于每个路由规则,
CUrlManager
都会创建一个
CUrlRule
对象来处理这条规则对应的这个两个功能,所以说有几条规则就会有几个CUrlRule对象。所以CUrlRule才是url管理的核心所在,接下来分析CUrlRule的工作原理。
每条url路由规则由一个CUrlRule对象来进行处理,接下来以如下路由规则为例:'/art///
/'=>'article//',说明url解析和url创建的处理过程。每个CUrlRule对象处理url的过程可以分为3个阶段:
1、 初始化CUrlRule对象
在CUrlRule对象的构造函数中,会初始化6个重要的成员变量:
2、 解析url
解析url的工作分3步走:a、根据pattern规则,解析出url中的各个字段;b、根据references对路由中的引用字段进行替换;c、将params中指定的字段添加到$_GET数组中
3、 创建url
创建url的工作分3步走:a、根据routePattern规则,解析出输入的路由中各个字段;b、将输入的参数数组和上一步解析的数组进行合并;c、用合并后的数组对template进行替换
——
,
管理
,
组件
相关帖子
•
授权管理怎么用(项目经理如何做好授权管理?)
•
什么是全面质量管理(全面质量管理的五个要点)
•
如何管理(如何管理自己)
•
开源解密版API管理源码一个你从未见过的全新版本界面
•
妖神传说-GM管理特权
•
你玩的也配叫游戏?——浅谈游戏圈的那条“鄙视链”
•
仙剑奇侠传卡牌手游变态版:仙剑奇侠传——25年前的国产游戏之光
•
小游戏推荐:《月圆之夜——药剂师全新版本》暗黑童话向小游戏,惊险刺激新玩法
•
《阴阳师》五周年SR新式神——饴细工技能评测
•
《圣斗士星矢:重生》圣剑拔刃——摩羯座升华版本开启
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
在我站开通SVIP可同时获得17个站点VIP资源
立即登录
或
立即注册
快速回复
返回顶部
返回列表