传统 CI 路由写法和 Laravel 路由的一些对比

今天看到一篇文章,有个人在抱怨 Laravel 的路由为何如此的繁琐,每一个方法都需要为之去写一个对应的 Route ,而不如 CI 那么方便的去直接通过魔法路由规定了 模块-控制器-方法 这样的范例,那么究竟为何这样设计呢,我列一写我想到的理由作为大家参考,希望能有所帮助:

  1. 如果你的 Route 是类似 CI 自动猜测出来的,那么必定会经过所有控制器;
  2. 如果仅仅 url 做出一些改变,你必定会增加一些文件,这是不希望看到的;
  3. CIRoute 是通过 file_existsis_dir() 来检查路由有消息,这是个好方法,但是对于复杂的项目这是完全累赘的,性能大大降低,而 Laravel 采用静态的路线,直接告诉你这个路由走这个方法,非常的轻量级;
  4. 你无法从命名你的 Controllers ,如果你的老板要你对路由进行归类,那将会很惨;
  5. Laravel 很好的支持了 RESTful;
  6. 逻辑方法完全解耦,如果你想在 CI 里面实现一些中间件将会比较痛苦(虽然可以实现);
  7. route.php 是一个很好的文档记录,甚至可以让文档交接很顺畅,包括你可以为它写任何注释说明,花5秒钟去写一个路由映射,收获将会甚大;
  8. 最后一点当然是遵循了 PSR-2 标准,遵循标准的东西往往短期难于接受,但是将来会受益匪浅。
本帖已被设为精华帖!
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 4
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!