栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > YurunPHP

路由配置 - YurunPHP1.0开发手册

YurunPHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

路由配置 - YurunPHP1.0开发手册


在项目的配置目录下,创建route.php
一个空的route配置文件:

return array(
'route' => array(

)
);

所有配置都在

'route' => array(

)

中编写。
一个完整的路由配置示例:

return array(
'route' => array(
// 默认不指定文件时使用的文件名。可不设置。
'default_file' => 'index.php',
// 是否隐藏默认文件名,不设置时默认为false
'hide_default_file' => true,
// 定义所有入口文件的权限,可不设置
'entrance' => array(
'index.php' => array(
// 使用允许规则
'priority' => 'allow',
// 允许访问Public模块下所有控制器所有动作
'allow' => array('Public*'),
),
'admin.php' => array(
// 使用拒绝规则
'priority' => 'deny',
// 无效
'allow' => array('Public*','Public/Index/index'),
// 默认缺省的模块/控制器/动作,*号代表所有
'default_mca' => 'Admin/Index/*'
)
),
// 路由规则
'rules' => array(
// URL => 模块/控制器/动作名
'a.php@/b/[b:word:3]' => 'Home/Index/$1',
'a/[alias:word]' => '>/Home/Index/$1',
'b/[b:word:1:2][c:word:3]' => 'Home/Index/$1$2',
'login' => 'Admin/User/login',
'c/[id:d+]' => 'Home/Index/test'
)
)
);

URL格式:

[文件名@]地址

可以在地址中定义各种变量,还可以用类型长度来限定。
格式:

[变量名[:类型[:长度最小值[:长度最大值]]]]

可选类型:
| 名称 | 支持长度 | 描述 |
| -- | -- | -- |
| int | √ | 整数 |
| double | | 小数 |
| letter | √ | 大小写字母 |
| big_letter | √ | 大写字母 |
| small_letter | √ | 小写字母 |
| word | √ | 包含大小写英文字母、0-9数字、_- |
| 留空 | √ | 所有字符 |
| 正则表达式 | √ | 原样代入 |

下面主要讲解的是rules中的路由规则。

'a.php@/b/[b:word:3]' => 'Home/Index/$1'

生效的URL:

http://localhost/a.php/b/abc

对应模块控制器动作:

Home/Index/abc

如果在对应动作方法中定义参数$b,则会把abc传入$b参数中。

* * * * *

'a/[alias:word]' => '>/Home/Index/$1'

生效的URL:

http://localhost/a/a123

对应模块控制器动作:

Home/Index/a123

如果在对应动作方法中定义参数$alias,则会把a123传入$alias参数中。

* * * * *


'b/[b:word:1:2][c:word:3]' => 'Home/Index/$1$2'

生效的URL:

http://localhost/a/test
http://localhost/a/login

对应模块控制器动作:

Home/Index/a123

不生效的URL:

http://localhost/a/hehehe
http://localhost/a/log

如果在对应动作方法中定义参数$b或$c,则会把对应值传入参数中。
* * * * *

'login' => 'Admin/User/login'

生效的URL:

http://localhost/login

对应模块控制器动作:

Admin/User/login

起到了伪静态的作用,当然你也可以定义为

'login.html' => 'Admin/User/login'

这时访问

http://localhost/login.html

同样对应模块控制器动作:

Admin/User/login

* * * * *


'c/[id:d+]' => 'Home/Index/test'

生效的URL:

http://localhost/c/123

对应模块控制器动作:

Home/Index/test

如果在对应动作方法中定义参数$id,则会把123传入$id参数中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/213900.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号