零基础掌握CodeIgniter的关键是快速跑通最小闭环。先用ServBay或XAMPP配环境,执行composer install和php spark serve;再通过用户注册实战路由、控制器、模型、视图、验证与数据库操作;接着以vue-questionnaire开源项目为样板对接真实业务;最后注意命名大小写、数据库配置和CSRF防护三大避坑点。

零基础掌握 CodeIgniter 常用来源项目开发,关键不在“学完框架”,而在“快速跑通一个可运行、可修改、能交付的最小闭环”。CodeIgniter(CI)轻量、约定优于配置、学习曲线平缓,特别适合从 PHP 基础直接切入真实项目。下面聚焦实战路径,不讲抽象理论,只说你能马上动手的事。
一、环境准备:5分钟搭起可运行的CI脚手架
别卡在环境上。CI 4.x 要求 PHP 7.4+,推荐用 ServBay 或 XAMPP(开箱即用,含 Apache + MySQL + PHP)。下载安装后:
- 把 CI 4 官方压缩包解压到
htdocs/ci4目录下 - 终端进入项目根目录,执行
composer install(若未装 Composer,请先安装) - 运行
php spark serve,浏览器访问http://localhost:8080,看到 “Welcome to CodeIgniter!” 即成功 - 顺手打开
app/Controllers/Home.php,改一句return view('welcome_message');为return view('home');,再新建app/Views/home.php写点内容——这就是你第一个可编辑页面
二、核心流程实战:从接收表单到存入数据库
选一个最常见场景练手:用户注册页。它覆盖 CI 的路由、控制器、模型、视图、验证、数据库操作五大主干:
-
定义路由:在
app/Config/Routes.php加一行$routes->get('register', 'Register::index');和$routes->post('register', 'Register::store'); -
创建控制器:运行
php spark make:controller Register,在index()中加载注册表单视图,在store()中调用验证和模型 -
写验证逻辑:用 CI 内置
$this->validate(),规则如'email' => 'required|valid_email|is_unique[users.email]' -
建数据表:MySQL 执行
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, email VARCHAR(100), password VARCHAR(255)); -
用模型存数据:运行
php spark make:model UserModel,在模型中启用protected $table = 'users';,然后控制器里$this->UserModel->insert($data)
三、对接真实项目:Vue问卷系统就是现成样板
你不需要从零造轮子。开源项目 vue-questionnaire 就是基于 CI 框架开发的完整应用,含前后端分离结构、用户权限、问卷管理、结果统计等模块:
- 项目地址:https://www.php.cn/link/b81d9ded61fa448d2533a00e5e308ab7
- 后台 API 全由 CI 4 提供,查看
app/Controllers/Api/下的控制器,就能看到标准 REST 风格写法 - 登录账号 admin / admin,进后台看“问卷列表”“用户管理”,再翻对应控制器代码,立刻理解 CI 如何组织业务逻辑
- 把它本地跑起来,删掉一个接口、加个字段、改个返回值——比读十页文档记得牢
四、避坑提醒:新手最容易卡住的三个点
不是语法难,而是习惯没转过来。这些细节不注意,会反复报错、查半天:
-
命名严格大小写:控制器类名必须是
Register.php,类内必须是class Register extends BaseController;方法名小写,如index(),不能写成Index() -
数据库配置别漏改:
app/Config/Database.php里的$default组,务必填对hostname(通常是 localhost)、username(root)、password(空或你设的密码)、database(库名) -
CSRF 保护默认开启:表单提交时,必须在
内加,或者临时在app/Config/Filters.php中关闭(仅开发期)











