求推荐个比较好用的 PHP 框架。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
a1274598858
V2EX    程序员

求推荐个比较好用的 PHP 框架。

  •  
  •   a1274598858 2019-05-16 17:20:13 +08:00 12308 次点击
    这是一个创建于 2342 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言    2019-05-16 17:57:42 +08:00
    最好和 Java 开发模式有点相似的
    104 条回复    2019-05-18 19:15:24 +08:00
    1  2  
    jabin88
        1
    jabin88  
       2019-05-16 17:32:13 +08:00
    yii
    zjsxwc
        2
    zjsxwc  
       2019-05-16 17:33:23 +08:00 via Android   1
    symfony
    Dcynsd
        3
    Dcynsd  
       2019-05-16 17:37:52 +08:00   1
    laravel
    Donne
        4
    Donne  
       2019-05-16 17:41:51 +08:00
    yaf
    tms
        5
    tms  
       2019-05-16 17:45:21 +08:00
    楼上齐了
    a1274598858
      &nbs; 6
    a1274598858  
    OP
       2019-05-16 17:46:05 +08:00
    thinkphp 咋样
    @tms
    @Donne
    @Dcynsd
    @zjsxwc
    @jabin88
    salamanderMH
        7
    salamanderMH  
       2019-05-16 17:46:33 +08:00 via Android
    slim 比较小,但好用
    jellybool
        8
    jellybool  
       2019-05-16 17:48:26 +08:00 via iPhone   1
    好用就 laravel,不过你要稍微牺牲一点性能的追求
    chinvo
        9
    chinvo  
       2019-05-16 17:49:15 +08:00
    @salamanderMH #7 slim 只有路由吧
    PHPJit
        10
    PHPJit  
       2019-05-16 17:55:22 +08:00
    不要问,问就是 laravel
    Sanko
        11
    Sanko  
       2019-05-16 17:56:20 +08:00 via Android
    不要问,问就是 symfony
    pota
        12
    pota  
       2019-05-16 17:56:55 +08:00
    不要问,问就是 symfony
    server
        13
    server  
       2019-05-16 17:57:23 +08:00
    不要问,问就是 php
    2kCS5c0b0ITXE5k2
        14
    2kCS5c0b0ITXE5k2  
       2019-05-16 17:59:57 +08:00
    zend
    hiddendeerer
        15
    hiddendeerer  
       2019-05-16 18:02:47 +08:00
    yii2
    mahone3297
        16
    mahone3297  
       2019-05-16 18:02:53 +08:00
    cakephp
    meepo3927
        17
    meepo3927  
       2019-05-16 18:13:34 +08:00
    CodeIgnitor, 也不错
    Mrxx
        18
    Mrxx  
       2019-05-16 18:20:11 +08:00
    Codeigniter 最简单
    KasuganoSoras
        19
    KasuganoSoras  
       2019-05-16 18:23:47 +08:00
    不要问,问就是 Laravel
    lvqingan
        20
    lvqingan  
       2019-05-16 18:27:04 +08:00
    类似 JAVA 开发模式的,那肯定是 Symfony 啊
    asLw0P981N0M0TCC
        21
    asLw0P981N0M0TCC  
       2019-05-16 18:27:05 +08:00
    tp5
    ThankYou
        22
    ThankYou  
       2019-05-16 18:32:42 +08:00
    为啥不用 java 开发???
    U7Q5tLAex2FI0o0g
        23
    U7Q5tLAex2FI0o0g  
       2019-05-16 18:33:47 +08:00
    @mahone3297 #16 难得见到同好
    xiaoz
        24
    xiaoz  
       2019-05-16 18:35:50 +08:00 via Android
    问就是 Codeigniter
    lepig
        25
    lepig  
       2019-05-16 18:37:49 +08:00
    别问 问就是 laravel
    Donne
        26
    Donne  
       2019-05-16 19:01:54 +08:00
    要和 Java 开发模式相似,那就放弃 Yaf 吧。如果是做无并发的后台,考虑 Laravel 和 TP 都是可以的,symfony 没用过。
    wentaoliang
        27
    wentaoliang  
       2019-05-16 19:03:20 +08:00
    类似于 java 的肯定是 swoft 啊
    JoHandle
        28
    JoHandle  
       2019-05-16 19:06:15 +08:00 via iPhone
    Laravel
    Valid
        29
    Valid  
       2019-05-16 19:17:42 +08:00
    slim
    mamahaha
        30
    mamahaha  
       2019-05-16 19:26:14 +08:00
    没基础慎用 laravel,太好用了,容易把人伺候成废柴。
    lzhnull
        31
    lzhnull  
       2019-05-16 19:27:45 +08:00 via Android
    zend
    benhuang1024
        32
    benhuang1024  
       2019-05-16 19:45:58 +08:00
    最好和 Java 开发模式有点相似的?
    暗指 Laravel 呀
    agdhole
        33
    agdhole  
       2019-05-16 20:36:17 +08:00
    和 Java 相似,Laravel 欢迎你
    yuekcc
        34
    yuekcc  
       2019-05-16 20:42:08 +08:00
    slim +1
    a1274598858
        35
    a1274598858  
    OP
       2019-05-16 20:48:14 +08:00
    哈哈,谢谢大家,这周末我去看看 tp5 和 Laravel 选哪个
    zuokanyunqishi
        36
    zuokanyunqishi  
       2019-05-16 20:55:01 +08:00 via Android
    laravel,yii
    gehirnh
        37
    gehirnh  
       2019-05-16 21:00:57 +08:00 via Android
    laravel
    Varobjs
        38
    Varobjs  
       2019-05-16 21:31:32 +08:00 via Android
    不要问,问就自己造
    JohnLou
        39
    JohnLou  
       2019-05-16 21:32:19 +08:00
    Codeigniter,用了快 8 年了。
    vovov
        40
    vovov  
       2019-05-16 21:33:51 +08:00 via Android
    不要问,问就是 010101
    dfourc
        41
    dfourc  
       2019-05-16 21:48:31 +08:00
    不要问,问就是手写框架
    iPhonePKAndroid
        42
    iPhonePKAndroid  
       2019-05-16 21:52:03 +08:00
    laravel
    pkm
        43
    pkm  
       2019-05-16 22:16:02 +08:00
    laravel 很好用
    sorshion
        44
    sorshion  
       2019-05-16 22:25:17 +08:00
    swoft 咯
    1more
        45
    1more  
       2019-05-17 00:29:45 +08:00 via iPhone
    CI 上手十分容易
    LongLights
        46
    LongLights  
       2019-05-17 01:28:42 +08:00 via Android
    @jellybool codecast 大佬?
    beyondye
        47
    beyondye  
       2019-05-17 01:41:09 +08:00
    推荐一个简单好用的 PHP 框架
    https://github.com/beyondye/framework
    jellybool
        48
    jellybool  
       2019-05-17 06:33:26 +08:00 via iPhone
    @LongLights 不是大佬,codecasts.com 是我的小站
    visonme
        49
    visonme  
       2019-05-17 07:24:44 +08:00
    就个人使用过的来说:
    喜欢集成度比较高的可以考虑:laravel
    喜欢模块化的:symfony
    喜欢小巧+DIV: SLIM
    to2false
        50
    to2false  
       2019-05-17 08:44:46 +08:00
    如果跟 spring 差不多的话,建议 swoft
    xlmo
        51
    xlmo  
       2019-05-17 08:48:26 +08:00
    现在在用 Laravel,但是自己还是比较喜欢 Codeigniter。
    zyy314680012
        52
    zyy314680012  
       2019-05-17 08:55:48 +08:00 via Android
    laravel
    polymerdg
        53
    polymerdg  
       2019-05-17 08:56:08 +08:00
    Codeigniter 轻量级 用起来很爽 接近 PHP 原生
    askfilm
        54
    askfilm  
       2019-05-17 08:57:57 +08:00
    类似 JAVA 开发模式的,那肯定是 Symfony 啊 +1
    tanszhe
        55
    tanszhe  
       2019-05-17 09:02:47 +08:00
    https://github.com/lizhichao/one
    极简 . 高性能 . 松耦合 . 分布式 . 可运行于多种环境(cli,apache/php-fpm,swoole)
    baiban
        56
    baiban  
       2019-05-17 09:06:09 +08:00
    类似于 java, 强推 swoft
    callme
        57
    callme  
       2019-05-17 09:10:33 +08:00
    @Donne 26# 请问大佬,有并发的后台用什么 php 框架?
    lzj307077687
        58
    lzj307077687  
       2019-05-17 09:10:58 +08:00
    不要问,问就是 Laravel
    orqzsf1
        59
    orqzsf1  
       2019-05-17 09:21:22 +08:00   3
    最后楼主选择了 tp5
    benhuang1024
        60
    benhuang1024  
       2019-05-17 09:24:05 +08:00
    @orqzsf1 可以的
        61
    skiy  
       2019-05-17 09:30:33 +08:00
    类型 Java 的只有 swoole 下的 swoft 框架合适你了。
    liuguang
        62
    liuguang  
       2019-05-17 09:38:43 +08:00
    php 的主流框架已经变成 laravel 了
    ruolis
        63
    ruolis  
       2019-05-17 09:46:14 +08:00
    最后楼主选择了 tp5 +1
    Donne
        64
    Donne  
       2019-05-17 09:48:08 +08:00
    @callme 我司的接口服务都是用的 yaf,当然高并发中更重要的还是缓存和架构的设计。
    toma77
        65
    toma77  
       2019-05-17 09:48:40 +08:00
    百度用的 yi
    wenhainan
        66
    wenhainan  
       2019-05-17 09:49:01 +08:00
    个人接活儿 thinklphp5.0.24 公司开发乖乖用 yii2 吧
    OMGZui
        67
    OMGZui  
       2019-05-17 09:49:47 +08:00
    类似 java 的话,用 swoft
    lzs5240
        68
    lzs5240  
       2019-05-17 09:50:15 +08:00
    laravel
    iphper993
        69
    iphper993  
       2019-05-17 09:55:12 +08:00
    phalcon
    showx
        70
    showx  
       2019-05-17 10:05:25 +08:00
    phpshow
    66beta
        71
    66beta  
       2019-05-17 10:07:27 +08:00 via Android
    laravel 一统江湖很多年了
    Caballarii
        72
    Caballarii  
       2019-05-17 10:13:36 +08:00
    thinkphp 最像,laravel 是像 ruby on rails 的
    DamonLin
        73
    DamonLin  
       2019-05-17 10:14:07 +08:00
    不要问,问就是 TP5
    peinhu
        74
    peinhu  
       2019-05-17 10:16:58 +08:00
    建议就是不要用跟 swoole 相关的任何框架,其它随便,上面说的挺全了,laravel 和 yii 不错,symfony 学习曲线太陡。
    codebear01
        75
    codebear01  
       2019-05-17 10:29:05 +08:00
    tp 吧
    Liang
        76
    Liang  
       2019-05-17 10:31:09 +08:00
    我来统计下,截止我的回复:

    laravel: 24
    thinkphp+tp: 2+8=10
    symfony: 8
    codeigniter+ci: 5+2=7
    yaf: 3
    yii: 5
    flashrick
        77
    flashrick  
       2019-05-17 10:57:02 +08:00
    既然是 php 框架 那肯定要综合功能,实用性,还有学习成本了。
    综合来说 tp5 是最好的,其次 laravel

    但你要说跟 java 相似 只有一个:
    swoft。。
    mrgeneral
        78
    mrgeneral  
       2019-05-17 10:57:32 +08:00
    symfony 和 java 框架比较像,配置、注解、模块化。

    laravel 更像是 symfony 的简化版,还有更简化的 lumen。

    yaf 没啥东西,主打的性能,适合基于 DIY

    yii 中规中矩

    ci 就算了吧虽然很简单,但是性能打不过 yaf,拓展性打不过 yii,很尴尬

    tp5 一直被 laravel 使用者群嘲,tp3 不维护了,上 tp5 还不如上 laravel
    qianji201712
        79
    qianji201712  
       2019-05-17 11:12:32 +08:00
    只专情于一个框架,而对框架进行各种嘲讽批判的,都是很幼稚的行为,算不上一个优秀的开发者,在我看来,没有最好,只有合适不合适,说说我的观点吧:

    Yii 我用过,只是因为自己不熟悉,感觉入门难度大,就放弃了
    Laravel 没用过,看文档全面,而且也比较火,写法优雅一些,不做评价
    Phalcon 我现在开发钱迹用的就是 Phalcon,当初是看中它的性能而处于技术热爱使用的,目前项目中都在用,怎么说呢,我感觉打 80 分吧(满分 100 ),因为它使用者还是相对少一些,英文文档虽然全面,但是中文支持不友好,缺少一个强大的社区,虽然看英文文档没问题,但是当遇到问题了,或者一些疑惑,查阅文档总是不得其意,当然,它有很多好处:MVC 结构,DB 设计全面,写 Web 也方便,性能还是各大框架中排前面的。

    对于 ThinkPHP,不知道为什么会有那么多人嘲讽,我觉得是很不公平的,我也是从 3 用到 5,算是经历和几个大版本的更新,看着开发者在精心维护,还是值得赞扬,而且,TP 文档全面,学习简单(我当初第一个后端项目用的就是它),有很多现成的东西可以直接使用,方便省事。

    另外,推荐一个 ThinkCMF 框架,专门做后台管理系统的,非常好用,直接往里面填自己的代码就好了,基础配置都很完善。

    综上,让我从头选择做钱迹的话,我推荐 TP,主要是方便快速,只要 PHP 学熟了,框架都一样
    ibugeek
        80
    ibugeek  
       2019-05-17 11:24:31 +08:00
    用 Laravel,如果是 api 接口开发用 lumen,要性能上 go
    jowan
        81
    jowan  
       2019-05-17 11:38:01 +08:00   4
    我使用过 tp3、5、ci3、laravel5、yii2、swoole、phalcon,简单说下我的使用方式和经验:


    TP:国内使用范围广,社区活跃度高,开源但是社区显得比较商业化,二三线城市招人或找工作容易,成本低。3.X 系列比较老了,大概使用了 1 年,开发过五六个电商项目,使用过程中发现一些 BUG (如开启 DEBUG 模式下,在 Linux 和 WIn 下面的驼峰路由映射有问题),也提交过官方,不过那时候官方正在上线 TP5,5 系列的话也是属于现代化开发模式了,可以对比 Laravel5。


    CI: 简单易用 性能好 使用超过两年,不过很多轮子都要自己造或者引入第三方包 3.x 系列的基本上一代产物了 相对于现代化开发实在太落后了 如果项目很小 对设计模式也不太要求的话大可放心使用


    Laravel: 社区活跃度高 ,生态非常好,性能相对落后。重逻辑下哪怕优化做的很好 QPS 也比较感人,不过大多数情况下很少直达语言这个瓶颈,以我们的项目来说主要问题在 DB 和磁盘的 I/O,所以改善实现方式,大量采用 Redis 来做缓存来处理这些问题。主要是快发起来确实太爽,我目前使用的主力框架也是 5.5LTS 版本,牺牲点性能换来的高效程度目前可以接受,个别项目对并发要求高的用到了 swoole 来常驻内存加速。


    YII2:个人觉得 JAVA 过来的应该比较容易上手,中规中矩,方便的 GII, 性能也比较可以,不过组件深度绑定的 bootstrap 还有后端资源管理令我无法接受,短暂使用过两个项目,如果深度定制化要动手的地方还是比较多,适合没有 UI 妹子的后端。


    Swoole:注意是 4.X 版本,我主要配合 Laravel 使用,具体场景如异步通知、Websocket、物联网接口等,最好先学习并掌握多进程 /多线程,TCP/IP,SOCKET 等相关知识,不推荐新手使用。


    Phalcon:这个用在个别金融项目的微服务项目里,时间用的不是太长,不敢随便评价,没碰到过什么大坑。


    其实不管你用什么框架 如果你本身编程思想和技术不行 哪怕用 Laravel 也只能写出来难以维护的代码 反之亦然
    没淘汰的框架既然存在都有他的价值 争论哪个框架牛逼实则没有太大意义 就算你拿 Yaf 去做一个日 PV 不到 200 的博客,也不能体现出他的强悍支出,具体看场景:好钢要用在刀刃上。
    keepeye
        82
    keepeye  
       2019-05-17 11:39:40 +08:00
    工作上哪个最流行用哪个,别追求小众。所以我推荐 Laravel。性能不够机器来抗
    zfyime
        83
    zfyime  
       2019-05-17 11:41:28 +08:00
    ThinkPHP5.1
    sunmoon1983
        84
    sunmoon1983  
       2019-05-17 11:49:39 +08:00
    @jowan YII2:个人觉得 JAVA 过来的应该比较容易上手,中规中矩,方便的 GII, 性能也比较可以,不过组件深度绑定的 bootstrap 还有后端资源管理令我无法接受

    Yii3 已经不是这样啦!
    yoshiyuki
        85
    yoshiyuki  
       2019-05-17 13:29:08 +08:00
    yii2
    zzfly256
        86
    zzfly256  
       2019-05-17 14:09:13 +08:00
    @jellybool 没想到 jb 大佬也逛 V2EX 哈哈
    luxiaokuo
        87
    luxiaokuo  
       2019-05-17 14:10:21 +08:00
    @qianji201712 活捉大佬
    jellybool
        88
    jellybool  
       2019-05-17 14:24:19 +08:00 via iPhone
    @zzfly256 你这个简称...
    cszchen
        89
    cszchen  
       2019-05-17 14:33:12 +08:00
    Yii2 开发起来真的很快
    Laravel 虽然流行,组件和包最多,但是开发起来没有 Yii2 高效

    Yii2 的配置文件不如 Laravel 方便,其次默认加载前端资源这点也不友好。但是 Yii2 数据校验更易用,开发的时候这个用的最多。

    这是我的使用感受,因人而异。
    daqiaowijiu
        90
    daqiaowijiu  
       2019-05-17 14:37:47 +08:00
    别问问就是 laravel
    FantaMole
        91
    FantaMole  
       2019-05-17 16:16:58 +08:00
    商业项目还是用人多的好,不然要跑路了发现没人会这个,交接工作不方便
    EvilCult
        92
    EvilCult  
       2019-05-17 16:49:15 +08:00
    看到说 laravel 的这么多,我就放心了...
    lccgsn
        93
    lccgsn  
       2019-05-17 17:10:41 +08:00
    tp 不敢用 漏洞多
    onepunch
        94
    onepunch  
       2019-05-17 17:17:52 +08:00
    symfony phalcon 比较好,不过上手还是有难度的 ; tp 很粗暴 相当粗暴 -,-
    Varobjs
        95
    Varobjs  
       2019-05-17 17:20:30 +08:00 via Android
    @qianji201712 原来大佬也是用 phalcon,之前用过一年多,也是另外大佬推荐的,感觉是用过最好的一个,现在是公司自己的框架。
    因为很喜欢 phalcon,个人小项目又不想装扩展,就学(chao)习 phalcon,写了一个超简单的。233
    cw1490908
        96
    cw1490908  
       2019-05-17 18:18:49 +08:00
    phalcon +1
    Actrace
        97
    Actrace  
       2019-05-17 18:30:01 +08:00   1
    很多人觉得 PHP 简单,其实 PHP 是最复杂的,因为它总是吸引你去了解各种框架,然后自造轮子。
    最后,你会达到一个境界,所有的框架都是辣鸡,因为你可以根据业务随时撸一个框架出来。

    突然想起一张很经典的 GIF 图(楼下的观众可以帮忙贴一下吗):
    贱法,其第一层境界,手中无贱,心中有贱。
    其第二层境界,人贱合一,手中无贱,心中亦无贱。
    其第三层境界,那就不再是贱人,而是贱圣!
    jziwenchen
        98
    jziwenchen  
       2019-05-17 18:58:21 +08:00
    Phalcon 没人提吗? 超级好用.
    dvaknheo
        99
    dvaknheo  
       2019-05-18 00:11:48 +08:00
    其实,小白就只需要路由。

    以前都是用 CI 对付过去。
    看了 CI4 的代码,我觉得还是用 tp5 做路由吧。

    其他东西,能不用的一概不用。


    另外,对比一个框架,爆栈 调试也是常见做法。
    laravel 除了性能,调试也不方便,容易让人不知头脑。
    herozzm
        100
    herozzm  
       2019-05-18 00:49:23 +08:00 via iPhone
    phalcon 秒杀其他框架
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     954 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 19:21 PVG 03:21 LAX 12:21 JFK 15:21
    Do have faith in what you're doing.
    ubao 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