欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-10 19:09:26
...
阅读了一下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的