V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
a1274598858
V2EX  ›  程序员

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

  •  
  •   a1274598858 · 2019-05-16 17:20:13 +08:00 · 11498 次点击
    这是一个创建于 2052 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 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
        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 啊
    qwertyzzz
        21
    qwertyzzz  
       2019-05-16 18:27:05 +08:00
    tp5
    ThankYou
        22
    ThankYou  
       2019-05-16 18:32:42 +08:00
    为啥不用 java 开发???
    littleylv
        23
    littleylv  
       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 年了。
    vacker
        40
    vacker  
       2019-05-16 21:33:51 +08:00 via Android
    不要问,问就是 010101
    galikeoy
        41
    galikeoy  
       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 可以的
    skiy
        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 了
    ruooooooli
        63
    ruooooooli  
       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。性能不够机器来抗
    zfy941
        83
    zfy941  
       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   ·   实用小工具   ·   946 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 21:41 · PVG 05:41 · LAX 13:41 · JFK 16:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.