学习 CodeIgniter 框架的基础知识
CodeIgniter 是一个轻量级的 PHP 框架,适合快速开发 Web 应用程序。它的核心特点是简单易用、文档丰富且性能高效。
官方网站与文档
访问 CodeIgniter 官网 下载最新版本并阅读官方文档。文档提供了完整的安装指南、配置说明和 API 参考。
MVC 架构
CodeIgniter 遵循 MVC(Model-View-Controller)模式:
- Model:处理数据逻辑,与数据库交互。
- View:负责前端展示,通常是 HTML 文件。
- Controller:协调模型和视图,处理用户请求。
安装与配置
下载与安装
从官网下载压缩包,解压到 Web 服务器目录(如 Apache 的 htdocs)。确保 PHP 版本符合要求(通常为 PHP 7.4+)。
配置基础设置
修改 application/config/config.php 文件:
php
$config['base_url'] = 'http://yourdomain.com/';
$config['index_page'] = 'index.php'; // 若使用 URL 重写可设为空
数据库配置
在 application/config/database.php 中设置数据库连接:
php
$db['default'] = [
'hostname' => 'localhost',
'username' => 'your_username',
'password' => 'your_password',
'database' => 'your_database',
'dbdriver' => 'mysqli',
];
创建第一个控制器与视图
控制器示例
在 application/controllers 目录下创建 Welcome.php:
php
class Welcome extends CI_Controller {
public function index() {
$this->load->view('welcome_message');
}
}
视图示例
在 application/views 目录下创建 welcome_message.php:
html
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Hello, CodeIgniter!</h1>
</body>
</html>
访问 http://yourdomain.com/index.php/welcome 即可看到页面。
数据库操作与模型
创建模型
在 application/models 目录下创建 User_model.php:
php
class User_model extends CI_Model {
public function get_users() {
$query = $this->db->get('users');
return $query->result();
}
}
在控制器中调用模型
修改 Welcome.php:
php
public function users() {
$this->load->model('User_model');
$data['users'] = $this->User_model->get_users();
$this->load->view('user_list', $data);
}
路由与 URL 优化
自定义路由
在 application/config/routes.php 中定义路由规则:
php
$route['login'] = 'auth/login'; // 将 /login 映射到 Auth 控制器的 login 方法
移除 index.php
启用 Apache 的 mod_rewrite,并在项目根目录创建 .htaccess 文件:
apache
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
扩展与库的使用
加载辅助函数与库
在控制器或配置中加载内置库:
php
$this->load->library('session');
$this->load->helper('url');
自定义库
在 application/libraries 目录下创建自定义库,例如 Custom_logger.php:
php
class Custom_logger {
public function log_message($message) {
// 自定义日志逻辑
}
}
调试与错误处理
启用调试模式
在 index.php 中设置环境为开发模式:
php
define('ENVIRONMENT', 'development');
日志记录
使用内置的日志功能:
php
log_message('error', 'Something went wrong!');
进阶学习资源
- 官方论坛:参与社区讨论解决问题。
- GitHub 仓库:查看源码和贡献者提供的示例。
- 视频教程:YouTube 或 Udemy 上的 CodeIgniter 课程。
通过以上步骤,可以逐步掌握 CodeIgniter 的核心功能并开始实际项目开发。