codeigniter项目需遵循命名与结构、代码质量、测试与交付、安全与性能四维规范:控制器用大驼峰、模型加_model后缀、视图小写下划线;禁用全局变量、强制哈希敏感字段、控制器仅调度;用php_codesniffer检查psr-12、git钩子阻断违规代码;输入必校验、敏感操作加csrf、静态资源走cdn、日志统一记录。

CodeIgniter项目要保持长期可维护和团队协作顺畅,离不开一套清晰、落地的PHP开发规范。它不是纸上谈兵的条文,而是围绕框架特性、项目结构和实际协作痛点形成的实践共识。
命名与结构:贴合CI的MVC逻辑
CodeIgniter虽轻量,但MVC分层明确,命名必须强化这种语义区分:
- 控制器类名用大驼峰(UserController),方法名用小驼峰(listProducts),避免下划线或缩写
- 模型类统一加 _model 后缀(Product_model),便于自动加载识别;方法名体现数据操作意图(get_active_items)
- 视图文件用小写+下划线(user/profile.php),路径层级对应功能模块,不嵌套过深
- 配置文件、语言包、钩子等辅助资源,严格按 application/config/、application/language/ 等标准目录存放
代码质量:从PSR到CI特有约束
基础语法规范采用PSR-12,但需结合CodeIgniter自身机制做适配:
- 禁用全局变量(如 $_POST),一律通过 $this->input->post() 获取,保障输入可控与可测试
- 数据库操作必须使用Query Builder或Active Record,避免裸SQL拼接;敏感字段(密码、token)写入前强制哈希
- 控制器只负责流程调度,业务逻辑下沉至模型或独立服务类;单个方法行数建议≤30,复杂逻辑拆解为私有方法
- 所有对外输出(如 echo、json_encode)前调用 html_escape() 或 esc()(CI4)转义,防范XSS
测试与交付:让规范真正落地
规范若不能被验证和执行,就容易流于形式。CI项目推荐三步闭环:
- 用 PHP_CodeSniffer 集成PSR-12检查:
phpcs --standard=PSR12 application/ --extensions=php - 单元测试覆盖核心模型与关键控制器逻辑,继承 CI_TestCase,利用 set_data()、request() 等方法模拟请求环境
- 上线前运行 phpcbf 自动修复格式问题,并将 phpcs 检查加入Git pre-commit钩子,阻断不合规代码入库
安全与性能:隐含在日常编码中的底线
规范不只是“怎么写好看”,更是“怎么写更稳”:
- 所有用户输入必须校验($this->form_validation),失败时返回明确错误而非静默失败
- 敏感操作(如删除、支付)强制二次确认或CSRF Token验证($this->security->get_csrf_hash())
- 静态资源(CSS/JS)走CDN或启用CI内置缓存($this->output->cache(60)),动态内容合理设置HTTP缓存头
- 日志记录统一走 $this->log->write_log(),错误级别分明,生产环境关闭调试模式($config['log_threshold'] = 1)
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











