php7.0 来了!大家谈谈主流 php 框架的使用感受吧! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
franktz
V2EX    PHP

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

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

    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  
    PRO
       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 就可以编写能在生产环境用的 HTP 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     Solana     2908 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 14:26 PVG 22:26 LAX 06:26 JFK 09:26
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86