JokerRoc

第 9771 位会员
注册于 2017-01-11 15:28:01
活跃于 2017-02-17 18:57:47


专栏文章
没有任何数据~~
最近话题
最新评论
  • 类似 Laravel 框架这样显式路由的写法真的好吗? at 2017-01-12 11:10:49

    @coodeer 。。。 还是再补充一下。。

    1. 我说的显式路由在开发上的麻烦是指:每当我新建一个action的时候,都需要在Route文件里面增加配置;每当我需要通过URL定位Controller的时候,需要去一行一行的翻Route文件。这个麻烦是显式路由引起的,跟没好好管理代码无关吧?
    2. 可读性差是指:如果我用上你说的那些【优秀的特性】:分组、中间件、别名、前缀,去配置路由,不可避免的会导致路由看起来很复杂 = 不好读 = 可读性差。
    3. 如果用隐式路由,以上问题均不存在。
    4. 至于你说的管理代码的问题,用显式路由是否增加了我管理代码的成本?更何况即使好好的管理代码,上面我说的问题是不可避免的啊!
    5. 耗费如此多的代价(性能、开发成本、维护成本)使用显式路由,真的值得吗?
  • 类似 Laravel 框架这样显式路由的写法真的好吗? at 2017-01-12 10:13:17

    @coodeer 。。。我一条一条反驳你。

    首先,Laravel 这不是给我更多的自由!只给你一种选择能叫自由?应该显式路由+隐式路由都支持,你想用那个用哪个才叫自由吧?

    1. Route和Controller是两个东东,我没说要绑在一起。
    2. 不需要Controller的,你可以自定义路由啊。一般知名的框架都支持同时支持两者啊。这并不矛盾!
    3. 一个控制器方法被多个URL访问,这种是极少数情况吧?而且这么做很不规范,对SEO非常不利,相当于是重复页面。这种情况用显式路由。
    4. RESTFUL API,同上。这种情况用显式路由。
    5. Route多了分文件,可以,但是这还是没有解决配置麻烦,无法直接通过URL定位Controller,性能差的问题啊!
    6. 快速定位Controller,我说的是直接用文件名匹配,你说的是搜索文件内容,这效率差多了吧?搜索文件内容操作步骤多不说,项目大的时候速度还超慢!
    7. Route和Controller更应该发挥好自己的职责,这一句给我感觉莫名其妙。。隐式路由也是路由啊,怎么就被Controller抢了风头了 = =
    8. 你说的这些优秀特性可以有,跟我说的并不矛盾。我只要求加上隐式路由的功能。。而且,分组、中间件,这个我隐式路由,控制器分成多个模块,不同控制器继承不同的父类,不是也实现了一样的效果?这样性能还更快。
      9...

    最后我补充一点,显式路由不仅仅有开发上麻烦、可读性差、无法快速定位Controller文件这几个问题,还有一个重大的问题是性能!! 路由文件里配置越多,越耗费性能!相当于每次进入页面都要把所有的路由配置解析一边,及时是用了路由缓存,当路由非常多的时候,也是很慢的!
    而隐式路由省略了解析大量路由配置的过程,直接通过URL匹配到Controller,效率快N多!