新手搭建codeigniter后台应分三步:先运行环境(推荐ci4+xampp/laragon+composer),再实现登录认证(用myth/auth完成注册登录及权限基础),最后开发内容管理模块(如文章crud)并集成权限控制与动态菜单。

新手用 CodeIgniter 搭建常用后台项目,建议从“能跑起来、能登录、能管数据”这三步切入,不追求一步到位,先让系统动起来再迭代功能。
选对版本和环境起步
推荐直接用 CodeIgniter 4(CI4),它更现代、文档清晰、安全机制完善,且对 PHP 8.0+ 支持好。避免从 CI3 开始——虽然稳定,但已停止维护,学习成本反而更高。
- 本地开发用 XAMPP 或 Laragon,自带 Apache + MySQL + PHP,省去手动配置麻烦
- 用 Composer 创建项目:
composer create-project codeigniter4/appstarter admin-panel - 进项目目录,重命名
.env.example为.env,去掉# CI_ENVIRONMENT = development前的 # 号,开启开发模式 - 在
.env中填好数据库信息:database.default.hostname = localhost、database.default.username = root等
先做登录页和用户认证
后台没有登录就等于没门锁。别急着写菜单或列表,先把身份验证跑通。
- 安装 Myth/Auth:
composer require myth/auth,它提供开箱即用的注册、登录、密码重置和角色权限基础 - 运行迁移命令:
php spark migrate,自动建好 users、auth_tokens 等表 - 访问
/login页面,用默认种子数据(如 admin@example.com / password)测试能否登录成功 - 确认登录后 session 生效,
session()->get('user_id')能取到值,这是后续所有权限控制的前提
搭一个可操作的内容管理模块
以“文章管理”为例,这是后台最典型的功能,练完就能复用到商品、用户、订单等其他模块。
- 用 Spark 命令生成模型和控制器:
php spark make:model PostModel -t、php spark make:controller Post - 在
PostModel中指定表名:protected $table = 'posts';,并启用时间戳字段(protected $useTimestamps = true;) - 在
Post控制器里写index()(查列表)、create()(显示表单)、store()(存数据)三个方法,用$this->validate()做基础校验 - 视图用 Bootstrap 4/5 写简单表格和表单,不用追求美观,重点是字段能提交、数据能入库、列表能刷新
加权限和菜单,让后台像模像样
登录之后看到的页面,应该只显示当前用户被允许访问的功能。
- Myth/Auth 自带角色管理,可在后台或 CLI 创建角色(如 admin、editor),再给角色分配权限(如 post.create、post.delete)
- 在控制器构造函数中加权限检查:
if (! auth()->user()->can('post.list')) { throw \CodeIgniter\Exceptions\PageNotFoundException::forPage(); } - 菜单不用硬编码,用
menu_builder类或简单数组配合视图逻辑:遍历权限列表,只渲染用户有权限的菜单项 - 把 AdminLTE 或 Bootstrap Admin 模板的 sidebar 和 header 抽成公共视图片段,统一引入,避免重复写 HTML











