CodeIgniter(CI)框架是一个基于 MVC(Model-View-Controller)设计模式的轻量级 PHP 框架。MVC 模式将应用程序分为三个核心部分:模型(Model)、视图(View) 和 控制器(Controller)。以下是一个简单的 MVC 示例,帮助你快速入门 CodeIgniter。
1. MVC 简介
Model(模型):负责与数据库交互,处理数据的读取和写入。
View(视图):负责展示数据,通常是 HTML 页面。
Controller(控制器):负责处理用户请求,调用模型和视图。
2. 示例:一个简单的用户列表功能
我们将实现一个简单的功能:从数据库中获取用户列表并显示在页面上。
3. 步骤 1:创建数据库表
首先,创建一个名为 users
的表。
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL);INSERT INTO users (name, email) VALUES('John Doe', 'john@example.com'),('Jane Doe', 'jane@example.com');
4. 步骤 2:配置数据库连接
在 application/config/database.php
中配置数据库连接。
$db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'root', // 数据库用户名 'password' => '', // 数据库密码 'database' => 'ci_example', // 数据库名 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE, 'db_debug' => (ENVIRONMENT !== 'production'), 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array(), 'save_queries' => TRUE);
5. 步骤 3:创建模型(Model)
在 application/models/
目录下创建一个模型文件 User_model.php
。
<?phpdefined('BASEPATH') OR exit('No direct script access allowed');class User_model extends CI_Model { public function __construct() { parent::__construct(); $this->load->database(); // 加载数据库库 } // 获取所有用户 public function get_users() { $query = $this->db->get('users'); return $query->result_array(); }}?>
6. 步骤 4:创建控制器(Controller)
在 application/controllers/
目录下创建一个控制器文件 User.php
。
<?phpdefined('BASEPATH') OR exit('No direct script access allowed');class User extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('user_model'); // 加载模型 } // 显示用户列表 public function index() { $data['users'] = $this->user_model->get_users(); // 获取用户数据 $this->load->view('user_list', $data); // 加载视图并传递数据 }}?>
7. 步骤 5:创建视图(View)
在 application/views/
目录下创建一个视图文件 user_list.php
。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>用户列表</title></head><body> <h1>用户列表</h1> <table border="1"> <tr> <th>ID</th> <th>姓名</th> <th>邮箱</th> </tr> <?php foreach ($users as $user): ?> <tr> <td><?php echo $user['id']; ?></td> <td><?php echo $user['name']; ?></td> <td><?php echo $user['email']; ?></td> </tr> <?php endforeach; ?> </table></body></html>
8. 步骤 6:配置路由
在 application/config/routes.php
中配置默认路由。
$route['default_controller'] = 'user'; // 将 User 控制器设为默认控制器
9. 步骤 7:运行应用
启动你的 Web 服务器(如 Apache 或 Nginx)。
访问
http://localhost/your-project/
。你应该会看到一个用户列表页面,显示从数据库中获取的用户数据。
10. 代码结构
最终的代码结构如下:
application/ controllers/ User.php models/ User_model.php views/ user_list.php config/ database.php routes.php system/ index.php
11. 总结
通过这个简单的示例,你可以看到 CodeIgniter 的 MVC 模式是如何工作的:
控制器(Controller):处理用户请求,调用模型获取数据,并加载视图。
模型(Model):与数据库交互,获取或操作数据。
视图(View):展示数据,生成 HTML 页面。
这个示例是 CodeIgniter 入门的基础,掌握了 MVC 模式后,你可以进一步学习更复杂的功能,如表单验证、文件上传、分页、Session 管理等。
本文关键词:
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。