V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wyan453351466
V2EX  ›  问与答

类似 Laravel 框架这样路由的写法真的好吗?

  •  
  •   wyan453351466 · 2017-01-11 09:25:14 +08:00 · 1996 次点击
    这是一个创建于 2873 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这是 laravel 中我几乎唯一感到神烦的一点。每一个请求都得单独写路由。这样有什么好处呢?像 CI 那样自动匹配 [模块 /控制器 /方法] 的路由方式有啥坏处?别跟我说什么单独写路由可以清晰地知道自己开放了多少接口出去,当你的路由有数千行之多的时候看着一样晕好吗?!甚至连查找一个 uri 访问的是哪个控制器都变得困难了!

    10 条回复    2017-01-11 20:49:46 +08:00
    Felldeadbird
        1
    Felldeadbird  
       2017-01-11 09:34:05 +08:00
    有得有失。 如果想 CI 这种自动匹配的,你做 URL 定制时需要多弄一套方案,对于后面接手的来说,没有文档的情况下,可能会掉坑。
    Laravel 这类就可以直接通过 URL 定位到具体的方案。
    不论怎样,这些都是习惯问题。
    iloveyou
        2
    iloveyou  
       2017-01-11 09:51:51 +08:00
    我发过类似的帖子,同学们说的透彻。 https://www.v2ex.com/t/272328
    wyan453351466
        3
    wyan453351466  
    OP
       2017-01-11 10:12:47 +08:00
    @Felldeadbird 不会啊。类似 CI 这样自动匹配的, URL 定制官方也会提供一套方案的。配置文件里可以配,无需自己弄。例如 CI 官方文档: http://codeigniter.org.cn/user_guide/general/routing.html

    我的意思是,为什么 laravel 不允许或不推崇自动匹配这种做法呢?原本 laravel 路由有一个隐式控制器的方法。后来也废弃了
    wyan453351466
        4
    wyan453351466  
    OP
       2017-01-11 10:33:05 +08:00
    @iloveyou 看了你发的帖子。帖子下面争论的也很激烈啊。 还是有不小比例的人对这种全部手动路由的方式感到嗤之以鼻的。。。
    shoaly
        5
    shoaly  
       2017-01-11 11:29:03 +08:00
    我也很讨厌, 目前的解决方法是 把 web.php 那个 router 在分拆, 比如某 /article/subpath, 有很多的话, 我会重新建立一个 article.php 的文件专门存放 跟 article 有关的 route
    freefcw
        6
    freefcw  
       2017-01-11 11:45:03 +08:00
    在吐槽路由数量多的时候,可以先看看是不是有解决方案,而不是单纯过来吐槽

    很明显,可以拆分很多个文件,每个文件部分路由就可以了,另外数千个接口,考虑下你们的项目是不是太大了?
    allenhu
        7
    allenhu  
       2017-01-11 12:01:00 +08:00
    同样,从 yii 转 laravel 的,完全适应不了,而且,有些开源项目里,就是有人把路由跟 controller/action 起完全不一样的名字,看的很绕。
    allenhu
        8
    allenhu  
       2017-01-11 12:04:47 +08:00
    很多人说 laravel 这样灵活啊,但是一个框架太灵活真的好么?框架本来就是用来约束一套开发规则的,而且默认路由与灵活性并不矛盾,你不喜欢默认的,再自定义好了
    coooooooode
        9
    coooooooode  
       2017-01-11 16:45:58 +08:00
    有的人 喜欢约定大于配置
    有的人 喜欢自己单独配置
    lygmqkl
        10
    lygmqkl  
       2017-01-11 20:49:46 +08:00 via iPhone
    以前讨论过 感觉 laravel 这种靠一个人撑起的 project 太危险了。只能说到这里,说多会被吐槽
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2792 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:21 · PVG 10:21 · LAX 18:21 · JFK 21:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.