PHP 入门教程
PHP 常用框架简介
本教程共 65 篇 · 第 40 篇 · 更新于 2026-07-24 · 约 5 分钟阅读
PHPPHP8框架LaravelThinkPHPSymfonyCodeIgniter
40. PHP 常用框架简介
本节目标:了解 Laravel、ThinkPHP、Symfony、CodeIgniter 的特点与适用场景,能根据项目需求选择合适的框架。
框架是别人写好的”半成品”,帮你处理了路由、数据库、安全等通用问题。学会用框架,开发效率能提升数倍。
40.1 为什么使用框架
手写 PHP 虽然自由,但容易遇到这些问题:
- 代码组织混乱,难以维护
- 安全问题(SQL 注入、XSS)需要自己全面防护
- 重复写数据库连接、表单验证等”轮子”
- 团队协作没有统一规范
框架通过提供目录结构、设计模式、安全机制和工具库,让你专注业务逻辑。
40.2 Laravel(国际首选)
Laravel 是目前全球最流行的 PHP 框架,以优雅的语法和丰富的生态著称。
特点
- Eloquent ORM:最优雅的数据库操作方式
- Blade 模板:简洁强大的视图层
- Artisan 命令行:内置大量开发工具
- 迁移与种子:数据库版本控制
- 队列系统:轻松处理异步任务
快速示例
<?php
// 路由定义
Route::get('/users', function () {
return User::all(); // Eloquent 查询所有用户
});
// 控制器
class UserController extends Controller {
public function show(int $id): View {
$user = User::findOrFail($id);
return view('user.show', compact('user'));
}
}
适用场景
中大型项目、RESTful API、需要长期维护的企业应用。
TipLaravel 学习曲线稍陡,但文档极其完善,社区活跃,是值得投入时间的选择。
40.3 ThinkPHP(国内流行)
ThinkPHP 是国内使用最广泛的 PHP 框架,中文文档丰富,上手快。
特点
- 中文文档全面:对国内开发者友好
- 命名规范简单:符合国内开发习惯
- 内置功能丰富:缓存、验证、分页等开箱即用
- 多应用模式:适合中大型项目的模块化开发
快速示例
<?php
// 路由
Route::get('hello/:name', 'index/hello');
// 控制器
namespace app\controller;
use think\Controller;
class Index extends Controller {
public function hello(string $name) {
return 'Hello,' . $name;
}
}
适用场景
国内项目、快速开发、团队 PHP 水平参差不齐时更易推广。
40.4 Symfony(企业级基石)
Symfony 是一套可复用的 PHP 组件库,许多其他框架(包括 Laravel)都依赖它的组件。
特点
- 高度模块化:只使用需要的组件
- 企业级设计:严格遵循设计模式
- 稳定性强:长期支持版本(LTS)维护 3 年以上
- 调试工具优秀:Profiler 可分析性能、数据库查询等
适用场景
大型 enterprise 项目、对代码质量和可维护性要求极高的系统。
40.5 CodeIgniter(轻量快速)
CodeIgniter 以小巧、快速著称,适合不需要全功能框架的项目。
特点
- 体积小巧:核心仅几 MB
- 学习成本低:几乎没有门槛
- 性能优秀:轻量级,运行速度快
- 配置简单:几乎没有繁琐的配置文件
快速示例
<?php
// 控制器
class News extends CI_Controller {
public function index() {
$data['news'] = $this->news_model->get_news();
$this->load->view('news/index', $data);
}
}
适用场景
小型项目、原型开发、对性能要求极高的简单应用。
40.6 框架对比总结
| 特性 | Laravel | ThinkPHP | Symfony | CodeIgniter |
|---|---|---|---|---|
| 流行度 | 全球第一 | 国内第一 | 企业级 | 轻量首选 |
| 学习曲线 | 中等 | 低 | 高 | 极低 |
| 中文文档 | 有社区翻译 | 官方中文 | 较少 | 有社区翻译 |
| 适合规模 | 中大 | 中 | 大 | 小 |
| 性能 | 良好 | 良好 | 良好 | 优秀 |
| 生态丰富度 | 非常丰富 | 丰富 | 丰富 | 一般 |
Note框架选择没有绝对的好坏,关键是看团队熟悉度、项目规模和维护周期。小项目用重框架反而增加负担。
40.7 如何选择
- 个人学习:推荐 Laravel,社区大、岗位多
- 国内快速交付:ThinkPHP 上手最快
- 大型长期项目:Symfony 或 Laravel
- 极简单应用:CodeIgniter 或原生 PHP
来源:参考了 runoob「PHP 框架」、PHP中文网「PHP框架」、GitHub「php-the-right-way」等,改写后所得。