PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

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

原创
2016-10-18 08:55:59 948浏览

阅读了一下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的

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。