CodeIgniter 4 新手应优先使用 appstarter 模板快速上手,通过 composer create-project 创建项目、集成 phpspreadsheet 验证流程、精简配置绕过环境坑、用构造函数自动注入替代手动 new 实现依赖管理。

CodeIgniter 4 新手想快速上手常用开源项目,关键不是从零写代码,而是“站在成熟项目肩膀上理解结构+复用配置+最小改动验证”。下面四点直击实际卡点,不讲虚概念。
选对入门项目模板
别直接 clone 官方 framework 仓库——它只是空壳。新手应优先用 appstarter 模板:
- 执行
composer create-project codeigniter4/appstarter myproject --prefer-dist --no-interaction(务必加镜像,否则国内基本失败) - 它已预装基础路由、错误页、数据库配置示例、.env 支持和 public 入口结构
- 对比纯 framework,appstarter 多了
app/Controllers/Home.php和app/Views/welcome_message.php,打开浏览器就能看到欢迎页,建立第一反馈闭环
立刻跑通一个带数据库的开源模块
比如用 phpspreadsheet 导出 Excel,5 分钟验证全流程:
- 进项目根目录运行:
composer require phpoffice/phpspreadsheet - 新建控制器
app/Controllers/Test/Export.php,粘贴官方示例代码(注意命名空间为App\Controllers\Test) - 在
app/Config/Routes.php加一行:$routes->get('export', 'Test\Export::index'); - 访问
http://localhost/export,生成 Excel 文件——说明 autoloader、路由、依赖加载全部通了
抄作业式改配置,绕过环境坑
新手常卡在“页面空白”或“404”,90% 是路径和 URL 配置错:
- 打开
app/Config/App.php,只改这一行:public string $baseURL = 'http://localhost/';(末尾带斜杠,不要端口号,除非你明确改了 Apache 端口) - 确保 Web 根目录指向
public/子目录(不是项目根目录),XAMPP 或宝塔里把网站根目录设为/path/to/myproject/public - 删掉
public/.htaccess里所有 RewriteRule,只保留最简版(CI4 官方推荐):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
用构造函数自动注入代替手动 new
这是 CI4 区别于旧版的核心优势,也是新手最容易忽略的提效点:
- 不要在控制器里写
$userModel = new UserModel();—— 这会破坏依赖管理和测试性 - 改成构造函数声明:
public function __construct(private UserModel $userModel) {} - 框架自动实例化并注入,后续直接用
$this->userModel->find(1) - 同理可注入自定义服务(如
UserService)、邮件类、缓存驱动等,只要它们已在app/Config/Services.php中注册


















