如何使用php中codeIgniter框架?

CodeIgniter 是轻量级 PHP 框架,适合中小型项目;支持 MVC 结构但不强制复杂约定,学习成本低;通过 Composer 安装,php spark serve 启动服务;配置在 app/Config/ 和 .env;路由、控制器、模型、视图分工明确,开箱即用。

如何使用php中codeigniter框架?

CodeIgniter 是一个轻量级、上手快的 PHP 框架,适合中小型项目或需要快速开发的场景。它不强制使用 MVC 的复杂约定,但默认按 MVC 结构组织代码,学习成本低,文档清晰。

安装与基础配置

推荐用 Composer 安装最新稳定版(如 CodeIgniter 4):

  • 运行 composer create-project codeigniter4/appstarter myproject 创建新项目
  • 进入目录后,用 php spark serve 启动内置服务器(默认 http://localhost:8080)
  • 配置文件app/Config/ 下,比如 App.php 设置 baseURL,Database.php 配置数据库连接
  • 确保 .env 文件存在并启用(重命名 example.env),用于管理环境变量(如数据库账号、debug 开关)

创建控制器与路由

控制器处理请求逻辑,路由决定 URL 对应哪个方法:

  • app/Controllers/ 下新建文件,如 Home.php,类名首字母大写,继承 Controller
  • 添加 public 方法(如 index()),返回内容或调用视图:return view(‘welcome_message’);
  • app/Config/Routes.php 中注册路由:$routes->get(‘/’, ‘Home::index’);
  • 支持参数路由,例如:$routes->get(‘user/(:num)’, ‘User::view/$1’);,$1 表示捕获的数字参数

使用模型操作数据库

模型封装数据访问逻辑,CodeIgniter 4 内置 Query Builder 和实体类支持:


MixPHP3.0.27

MixPHP3.0.27

MixPHP 是一个 PHP 命令行模式开发框架;基于 Vega 驱动的 HTTP 可以同时支持 Swoole、WorkerMan、FPM、CLI-Server 生态,并且可以无缝切换;V3 是一个高度解耦的版本,整体代码基于多个独立的模块构建,即便用户不使用我们的脚手架,也可以使用这些独立模块,并且全部模块都支持原生开发。例如:你可以只使用 mix/vega 来搭配 laravel orm 使用

MixPHP3.0.27
12


查看详情
MixPHP3.0.27

立即学习PHP免费学习笔记(深入)”;

  • 生成模型命令:php spark make:model UserModel,会创建在 app/Models/
  • 模型类默认继承 Model,自动关联同名数据表(如 UserModel → users 表)
  • 常用方法:$this->findAll()$this->find(5)$this->where(‘status’, ‘active’)->first()
  • 插入数据:$this->insert([‘name’ => ‘Alice’, ’email’ => ‘a@example.com’]);

加载视图与传参

视图是纯 HTML + 简单 PHP,用于展示数据,不写业务逻辑:

  • 视图文件放在 app/Views/,如 home/index.php
  • 控制器中传数组给视图:return view(‘home/index’, [‘title’ => ‘首页’, ‘items’ => $data]);
  • 视图里直接用 $title$items 变量,无需超全局或 extract()
  • 支持布局模板:用 view(‘layouts/main’, [‘content’ => view(‘home/index’)]) 实现嵌套

基本上就这些。CodeIgniter 的优势在于“约定优于配置”,多数功能开箱即用,不需要折腾依赖注入或复杂生命周期。只要理解控制器收请求、模型管数据、视图负责输出这个主线,就能快速写出可维护的代码。

以上就是如何使用php中codeIgniter框架?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1821542.html

发表回复

Your email address will not be published. Required fields are marked *