新项目要开写,选 php框架这事绕不开。主流的就那么几个,定位差别挺大,按团队背景和项目类型挑,比只看排行榜靠谱。
几个主流选手
- Laravel:全球范围内用得最多,生态最全,队列、任务调度、数据库迁移开箱即用,文档完善,版本迭代快,新项目的默认选项之一
- ThinkPHP:国内市场占有率很高,中文文档友好,上手快,国内公司和外包项目用得多,招聘里出现频率也高
- Symfony:组件化最彻底,企业级项目常见,学习曲线偏陡,很多其他框架的底层组件就来自它,国内一些公司的自研框架,本质也是这类思路的变体
- Yii:性能和开发效率平衡得不错,自带代码生成工具,做后台管理系统省事
- CodeIgniter:轻量,约束少,适合小项目和快速原型
常驻内存的新路线
传统 php框架每次请求都要重新加载一遍框架代码,高并发下开销不小。基于 Swoole 的一批框架走常驻内存路线,代表是 Hyperf,还有轻量的 Webman,性能比传统模式高一个量级。代价是对代码规范要求更严,全局状态、内存泄漏都要自己盯着,适合并发量大的接口服务。另外别为了技术新鲜感上这套,多数中小系统并发到不了要常驻内存的量,传统框架够用。
实际怎么选
几条实在的建议:个人学习和中小项目,Laravel 或 ThinkPHP 都合适,看身边哪个资源多;找工作先看目标城市的招聘要求,国内不少岗位明确写 ThinkPHP;有 Java、Go 背景转过来的,Laravel 的依赖注入和服务容器会更亲切。框架只是工具,SQL、HTTP、设计模式这些基础扎实了,换框架就是一周的事。框架自带的功能再全也别一股脑全用,队列、缓存这些先想清楚业务要不要,装多了维护成本跟着涨。
最后给个收尾判断:手上只有一个要快速上线的项目,选自己最熟的那个;打算长期吃这碗饭,Laravel 和 ThinkPHP 都过一遍,简历和实际工作都够用。