boa框架开发手册v5.2

路由定义

路由表为临时目录中config/router.php,在开启路由的情况下,解析URL和生成URL均优先检索此表。一条完整的路由规则如下:


	[
		'url'    => 'news/{name}/{id}.html',
		'act'    => 'news.content.show',
		'method' => 'post',
		'scheme' => 'https',
		'param'  => [
			'id' => '(\d+)'
		]
	]
	

url

必须,待匹配的URL规则,和URL中的路径部分进行匹配

开头和结尾的 / 可以省略,不影响匹配结果

act

必须,模块.控制器.动作(节点式),发生匹配后,则路由到这里

method

可选,请求方式(如post),限定该规则只对该方式有效

请求方式不区分大小写

scheme

可选,请求协议(如https),限定该规则只对该协议有效

param

可选,url中参数值匹配规则,使用正则表达式。如本例中,{name}参数未设置规则,则默认使用配置中param_val,{id}参数设置了规则 (\d+) ,表示只匹配数字。

  • https://boasoft.top/news/it/php-8-released.html {id}不匹配
  • http://boasoft.top/news/it/1.html scheme不匹配
  • https://boasoft.top/news/it/1.html 匹配,得到一组环境数据:
    
    [
    	'mod' => 'news',
    	'con' => 'content',
    	'act' => 'show',
    	'var' => [
    		'name' => 'it'
    		'id'   => 1
    	]
    ]
    

程序会执行 'news.content.show' 动作,在该动作中可以用 $this->name 和 $this->id 来访问参数