V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
franktz
V2EX  ›  PHP

php7.0 来了!大家谈谈主流 php 框架的使用感受吧!

  •  
  •   franktz · 2015-12-14 14:02:41 +08:00 · 15302 次点击
    这是一个创建于 3053 天前的主题,其中的信息可能已经有所发展或是发生改变。

    php7.0 来了,主流的 php 框架是否会进行一次洗牌?

    目前大家都在用哪些 php 框架呢?大家为什么选择这个框架、有什么优缺点吗?

    请大家随意畅谈自己在使用 php 框架中的一些经验,谢谢!

    纯技术讨论帖,严禁水军!!!

    44 条回复    2017-01-25 00:34:22 +08:00
    BOYPT
        1
    BOYPT  
       2015-12-14 14:03:56 +08:00
    我在小项目里面用 slim, 没试过 php7 ,目测会挂。
    crayygy
        2
    crayygy  
       2015-12-14 14:17:29 +08:00
    没学过 PHP...不知道 PHP7 入门怎么样😂
    mytsing520
        3
    mytsing520  
       2015-12-14 14:42:24 +08:00
    PHP 7.0 ,不向后兼容的变更: http://php.net/manual/zh/migration70.incompatible.php
    PHP 7.0 ,新特性: http://php.net/manual/zh/migration70.new-features.php
    移除的拓展: ereg 、 mssql 、 mysql 、 sybase_ct
    移除的外部通讯接口: aolserver 、 apache 、 apache_hooks 、 apache2filter 、 caudium 、 continuity 、 ISAPI 、 milter 、 NSAPI 、 phttpd 、 pi3web 、 roxen 、 thttpd 、 tux 、 webjames
    其他特性参考官方网站说明。
    raincious
        4
    raincious  
       2015-12-14 14:50:56 +08:00
    我自己的一个项目+框架升级 PHP 7.0 毫无压力,只是 Memcached 扩展还没准备好,需要从源代码编译好安装。

    如果要做升级的话,仔细看看不兼容的部分,以免有坑:
    http://php.net/manual/en/migration70.incompatible.php

    如果是用的第三方框架,最好等对方升级好框架之后再开始评估。
    Pastsong
        5
    Pastsong  
       2015-12-14 14:57:00 +08:00
    @BOYPT Slim3 作者说他就是在 PHP7 里面开发的

    反正我自己的项目都感觉升级挺无痛的
    AcmeSa
        6
    AcmeSa  
       2015-12-14 15:48:46 +08:00
    移除那么些扩展是什么意思?不让人用了?
    BOYPT
        7
    BOYPT  
       2015-12-14 16:11:09 +08:00
    @Pastsong 是么。。。最近开了个新项目,从 slim 3.0.0RC2 开始用,发现好几个以前的框架糖果没了…完全当成新框架用了……不过感觉跟 node.js express 啊, python bottle 那些越来越像了。
    pynix
        8
    pynix  
       2015-12-14 16:19:45 +08:00
    @AcmeSa 没人用吧
    BOYPT
        9
    BOYPT  
       2015-12-14 16:20:42 +08:00
    @Pastsong 没了$resp->redirect() $resp->halt 感觉好痛
    iyaozhen
        10
    iyaozhen  
       2015-12-14 16:35:49 +08:00
    @AcmeSa 不是,还是可以用,需要自行编译。那些扩展也有安全风险
    usapla
        11
    usapla  
       2015-12-14 16:46:41 +08:00   ❤️ 3
    TP 框架,我以前一直觉得 TP 是垃圾框架,然后工作后,天天用他,而且为了兼容老项目,还在使用 Tp2.1 ,随着使用的时间,我逐渐的感觉到,原来是真垃圾啊啊啊啊啊啊
    kokutou
        12
    kokutou  
       2015-12-14 17:35:19 +08:00   ❤️ 1
    @usapla 以为会反转。。
    huigeer
        13
    huigeer  
       2015-12-14 17:59:48 +08:00
    坐等 laravel 框架更新
    herozzm
        14
    herozzm  
       2015-12-14 20:01:15 +08:00   ❤️ 1
    大点的项目 phalcon ,小点的 ci ,看了楼上对 tp 的说法,暗自庆幸当年没跳 tp 的坑,本来当初准备学 laravel 的,但安装 laravel 就把我卡住了,各种工具套装一起上,感觉挺麻烦的
    phithon
        15
    phithon  
       2015-12-14 20:15:23 +08:00
    看来用 slim 的挺多啊,我也正在用 slim3 做开发
    mcfog
        16
    mcfog  
       2015-12-14 20:34:43 +08:00   ❤️ 1
    去年的话我会推荐 slim ,但现在情况发生了变化,与 php7 发布无关的变化

    我坚信未来一定是 PSR-7 的。参照 node 的话, PSR-7 约等于 node 自带的 request/response 接口,现在它的具体实现以及 connect/express 库虚位以待就等社区自己生长了

    slim3 是 psr-7 的,但还差一点味道,不够模块化
    zend-diactoros+zend-stratigility 颇具具体实现 & connect 的风范,但完全照搬 connect 结果如何有待观察

    至于能像 express 那样高完成度的,兼顾扩展性、模块化和快速上手的,目前还没看到

    顺便,我觉得以后两种不同的 phper 一定会越来越明显: php5.2er VS modern phper
    system
        17
    system  
       2015-12-14 20:41:26 +08:00
    @usapla 同感,而且告诉作者这个有 BUG ,作者说很久没更新 忘记了。一个人的框架。
    BeatenMo
        18
    BeatenMo  
       2015-12-14 20:59:59 +08:00
    yii2 路过
    表示目前 php7 跑 yii2 没啥问题~
    mahone3297
        19
    mahone3297  
       2015-12-14 21:43:09 +08:00
    @mcfog
    》顺便,我觉得以后两种不同的 phper 一定会越来越明显: php5.2er VS modern phper
    这句话,有点意思。。。我也相信了。。。
    zonghua
        20
    zonghua  
       2015-12-14 22:06:06 +08:00
    没有人用 Yaf 吗?鸟哥会全力支持吧。
    raincious
        21
    raincious  
       2015-12-14 22:07:43 +08:00
    @mcfog

    > 我坚信未来一定是 PSR-7 的

    好奇为什么。仅仅只是封装下接口而已,没那么革命性吧?除非有朝一日用 PHP 就可以编写能在生产环境用的 HTTP Server ,但是就目前而言貌还有一堆问题需要解决。
    cevincheung
        22
    cevincheung  
       2015-12-14 22:13:38 +08:00
    windows 下的 binary 有问题,加载不进来 mb_string 扩展, PDO 扩展
    imNull
        23
    imNull  
       2015-12-14 23:08:30 +08:00 via Android
    借楼问一下大家使用 slim 写 rest api 时,用哪种方式来验证请求的合法性?
    @BOYPT
    @Pastsong
    @phithon
    @mcfog
    movtoy
        24
    movtoy  
       2015-12-14 23:28:14 +08:00
    @mcfog 去年推荐 slim ,现在你推荐啥?刚看了一下 slim 感觉比 laravel 清新好多,各个参数表示非常直白,一眼就看出什么意思。
    hantsy
        25
    hantsy  
       2015-12-14 23:30:57 +08:00
    PSR 模仿 JSR 定制一系列通用规范,包括最基本的格式化, LOG , Class AutoLoad ,到最新的 MiddleWare 可交换等,为未来 PHP 开发可交换组件提供基础。 Symfony 对 PSR 影响深远,目前很多框架,产品,组件都是基于 Symfony 核心(即使不使用 Symfony 整个框架), laravel , Drupal 都是使用 Symfony Kernel 。

    Symfony 是真正推动 PHP 工业化进程的框架。

    ZF 3 也声明完全支持 PSR 7 ,目前放出的 expressive 中很多组件支持最新 PSR , 也是可以使用第三代替,给开发人员更多选择,而不像 ZF2 那样一窝粥全包了。
    edsgerlin
        26
    edsgerlin  
       2015-12-14 23:51:20 +08:00 via Android
    @herozzm Phalcon 真神器也!就是用的人感觉太少。 Zend Framework 2 除了和 ORM 还有 Template Engine 的集成不太方便没啥黑点,也是没人用。
    scourgen
        27
    scourgen  
       2015-12-15 00:11:05 +08:00
    Symfony 用了 5~6 年了,从 1 用到 2 ,应该还会继续用下去。
    flydogs
        28
    flydogs  
       2015-12-15 08:10:06 +08:00
    Yii2 兼容 php7
    速度提升很大
    http://simpleforum.org
    flydogs
        29
    flydogs  
       2015-12-15 08:11:30 +08:00
    @BeatenMo 深有同感。 Yii2 提前兼容了。
    BOYPT
        30
    BOYPT  
       2015-12-15 09:01:01 +08:00
    @imNull 那要看你的 api 在哪里使用吧,配合 web 使用的,就验证 session ;独立使用的,就参考 twitter 、 oauth 、微信、微博等,无非都是授权限制时间的 access token ; 只是需要类似 rpc 那样简单调用的,每次调用都加密钥就好了。
    getive
        31
    getive  
       2015-12-15 09:29:01 +08:00
    我用 TP ,现在稳定版是 3.2.3 ,前几天放出 5.0 beta 版了。我觉得是最好用 PHP 框架。
    mclxly
        32
    mclxly  
       2015-12-15 09:54:36 +08:00
    用过 Yii 1+ 和 Laravel 5.1 。
    Laravel 没有生成 CRUD 代码框架的工具,唯一遗憾,其它都好用。
    mcfog
        33
    mcfog  
       2015-12-15 10:40:40 +08:00   ❤️ 1
    @raincious

    promise 也就是个异步的接口而已,但大家都遵守, promise 就能成为事实标准。 express/connect 中间件也就是个中间件的接口而已,但大家都遵守, express 就能成为事实标准。

    PSR7 也有同样的潜力,让所有的框架,组件,中间件都遵守同一种接口,当然革命性

    @imNull

    不怕笑话,我还从来没写过 rest 接口,主要是觉得驾驭不了 rest 原则,不如直接用最朴素的 jsonrpc

    @movtoy

    看菜下饭吧, PSR7 需要一点时间让社区慢慢接受,现在还没形成规模效应之前,还是该干啥干啥。 slim3 也是个不错的选择。 之前写的挑选框架的个人方法 => http://inside.mcfog.wang/2015/09/ichizon-d/
    Owenjia
        34
    Owenjia  
       2015-12-15 10:41:17 +08:00 via Android
    只用过 lumen ,感觉 artisan 要自己完善下才好用,其他都还好。
    php230
        35
    php230  
       2015-12-15 11:07:33 +08:00
    YAF
    initialdp
        36
    initialdp  
       2015-12-15 11:28:29 +08:00
    没有人用 CI 么?
    evakiss
        37
    evakiss  
       2015-12-15 17:21:14 +08:00 via Android
    先打断一下吧,楼上一堆人网站每天几个 ip ,就大谈,哎呀 tp 垃圾臃肿,国产没逼格, phalcon 和 yaf 才是性能彪悍之王, Laravel 啊,艺术家的杰作啊! ZF 啊,垃圾中的轰炸机!各位如果网站如果没有达到六位数的 daily ip 之前, php7 还是 PHP6 还是 5 还是 4 跟你一点关系都没有,用 tp zf 还是用电话 01 键写代码跟你也一点都没有, PHP7 抛不抛弃 MySQLli 跟你也一点关系都没有,老老实实用 txt 做数据库吧,够你们的日 ip 了,不多说了,我要去给别人解释为什么玛莎拉蒂比兰博基尼好了,掰掰
    imNull
        38
    imNull  
       2015-12-15 19:02:09 +08:00
    @BOYPT @mcfog 感谢
    imNull
        39
    imNull  
       2015-12-15 19:04:23 +08:00
    @initialdp 再用,自己写一些小东西(当时想在 CI 和 TP 两个中间选一个,好多人喷 TP 。。。
    ben548
        40
    ben548  
       2015-12-16 09:52:52 +08:00
    slim 很小,开箱即用,文档一天就能看完,只是好像没有完整的 MVC 结构?一般只是用来做 restful 接口开发吧?
    thenbsp
        41
    thenbsp  
       2015-12-16 11:16:42 +08:00
    PHP 框架里的带头大哥 Symfony ,最近发布了 3.0 ,用不用不说,但一定得看。
    yhylord
        42
    yhylord  
       2015-12-16 17:43:53 +08:00 via Android
    @evakiss 说得好,日 IP 没有六位数就不要当一个现代人了,干脆滚回去茹毛饮血的时代吧,这个站根本不能入您法眼
    thenbsp
        43
    thenbsp  
       2016-03-17 21:00:23 +08:00   ❤️ 1
    changwei
        44
    changwei  
       2017-01-25 00:34:22 +08:00
    为什么都说用 slim3 得人比较多啊?难道这里用 lumen 的人很少嘛?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1500 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 17:10 · PVG 01:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.