当前位置:Gxlcms > PHP教程 > typecho路由表为什么要存放在数据库,还有每条url为什么要以这样的形式书写

typecho路由表为什么要存放在数据库,还有每条url为什么要以这样的形式书写

时间:2021-07-01 10:21:17 帮助过:24人阅读

阅读了一下typecho的源代码,这个结构还是相当紧凑的,看上去有很重的java对象设计思想
但是对路由表这样设置有很大的疑惑。
目前的写法基本上就是把这个结构固定死了,为什么不让用户可配置呢,比如把路由表存在某个配置文件,或者是实现自动路由功能。是为了保持简单化吗?
现在的方式如果我要做些新的开发好像只有以插件方式去实现了。
这个问题先不谈

我的问题是比如如下的路由表
'attachment' =>

array (size=6)
  'url' => string '/attachment/[cid:digital]/' (length=26)
  'widget' => string 'Widget_Archive' (length=14)
  'action' => string 'render' (length=6)
  'regx' => string '|^/attachment/([0-9]+)[/]?$|' (length=28)
  'format' => string '/attachment/%s/' (length=15)
  'params' => 
    array (size=1)
      0 => string 'cid' (length=3)

看了下代码好像 没有用到url这个字段,所以这里是仅仅为了提示链接是这种模式吗?类似于注释的功能
还是哪里有些功能我自己疏忽了没注意到,有了解的麻烦说下

回复内容:

阅读了一下typecho的源代码,这个结构还是相当紧凑的,看上去有很重的java对象设计思想
但是对路由表这样设置有很大的疑惑。
目前的写法基本上就是把这个结构固定死了,为什么不让用户可配置呢,比如把路由表存在某个配置文件,或者是实现自动路由功能。是为了保持简单化吗?
现在的方式如果我要做些新的开发好像只有以插件方式去实现了。
这个问题先不谈

我的问题是比如如下的路由表
'attachment' =>

array (size=6)
  'url' => string '/attachment/[cid:digital]/' (length=26)
  'widget' => string 'Widget_Archive' (length=14)
  'action' => string 'render' (length=6)
  'regx' => string '|^/attachment/([0-9]+)[/]?$|' (length=28)
  'format' => string '/attachment/%s/' (length=15)
  'params' => 
    array (size=1)
      0 => string 'cid' (length=3)

看了下代码好像 没有用到url这个字段,所以这里是仅仅为了提示链接是这种模式吗?类似于注释的功能
还是哪里有些功能我自己疏忽了没注意到,有了解的麻烦说下

你是说整个还是只针对attachment?
整个是有用到url的

人气教程排行