• 技术文章 >后端开发 >php教程

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

    2016-10-18 08:55:59原创686

    阅读了一下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核实处理。
    专题推荐:typechophp php typecho
    上一篇:html文件和php文件同样的内容,打开效果不一样? 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 分享PHP函数使用小工具(附代码示例)• PHP安全编码总结(经验分享)• 非常全面!PHP常见漏洞代码总结!• 一文详解PHP实现职责链设计模式(附代码示例)• php实现通过JSON RPC与go通讯(附代码)
    1/1

    PHP中文网