如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://v2ex.xtra.eu.org/pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
https://v2ex.xtra.eu.org/solana
topthink
V2EX  ›  推广

ThinkPHPV5.1.7 版本的一些新特性介绍——让你明白路由是如何提速的

  •  
  •   topthink · Mar 30, 2018 · 3811 views
    This topic created in 2994 days ago, the information mentioned may be changed or developed.

    最新版本( V5.1.7 )的主要新特性主要包含:

    • 引入中间件支持
    • 路由改进和提速
    • 查询安全性改进

    本文主要介绍以上三个特性,详细内容参考: https://www.kancloud.cn/thinkphp/thinkphp5_1_new_feature/content

    11 replies    2018-04-03 13:52:21 +08:00
    arsom
        1
    arsom  
       Mar 30, 2018
    支持
    lddsb
        2
    lddsb  
       Mar 31, 2018
    可以的,中间件都有了,很棒!
    xuyl
        3
    xuyl  
       Apr 1, 2018
    照抄 laravel ?
    topthink
        4
    topthink  
    OP
       Apr 1, 2018
    @xuyl 难道中间件只有 laravel 有么? laravel 的路由性能有这么高么?
    jfcherng
        5
    jfcherng  
       Apr 2, 2018   ❤️ 1
    Symfony 4.1 的新路由實現號稱速度是 FastRoute 的兩倍,粗略看內文應該是基於 FastRoute 的再改進版本。

    https://medium.com/@nicolas.grekas/making-symfonys-router-77-7x-faster-1-2-958e3754f0e1
    https://medium.com/@nicolas.grekas/making-symfony-router-lightning-fast-2-2-19281dcd245b

    或許也可以研究下。
    xuyl
        6
    xuyl  
       Apr 2, 2018
    @topthink 粗略看了下文档,think 命令行和 artisan 几乎一样,这没得跑吧。
    FrankAdler
        7
    FrankAdler  
       Apr 2, 2018
    中间件跟 laravel 很像了, 包括命名啥的, 但是 laravel 可以多个中间件, 这个实现起来有点复杂, 所谓的切片... 不过其实不到 50 行代码就能实现了
    路由的分组延迟构想挺好, 打算借鉴下用到自己的框架
    topthink
        8
    topthink  
    OP
       Apr 2, 2018
    @FrankAdler 中间件本来就是支持多个的 按顺序执行 没什么复杂的 laravel 就喜欢把简单问题复杂化而已
    topthink
        9
    topthink  
    OP
       Apr 2, 2018
    @xuyl 这个我只能感到很无语~ 何况 laravel 也都是基于 Symfony 组件,相同的指令执行又有什么
    FrankAdler
        10
    FrankAdler  
       Apr 2, 2018
    @topthink 我看到"中间件方法参数只能有一个,但可以支持任意类型,在 handle 方法的第三个参数传入即可。" 这句话 还以为只能一个... 是我不仔细了,
    "laravel 喜欢把简单问题复杂化" 是因为用了很多其他语言的模式和思想导致的, 不过给一种思想或者模式定义下行为, 然后起个名字, 我觉得还是很有用的, 虽然增加了门槛, 比如中间件这个东西, 最初在 laravel 就是个钩子, 后来叫过滤器, 再后来叫中间件, 路由的概念也是这样演化出来的
    topthink
        11
    topthink  
    OP
       Apr 3, 2018
    @FrankAdler ThinkPHP 一开始的版本就有钩子和行为 中间件的引入不过是和主流规范接轨,但本质上没什么区别,都是 AOP
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4586 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 04:05 · PVG 12:05 · LAX 21:05 · JFK 00:05
    ♥ Do have faith in what you're doing.