快速上手CodeIgniter框架指南

学习 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 的核心功能并开始实际项目开发。

相关推荐
dog2502 小时前
网络长尾延时的重尾本质
开发语言·网络·php
其实防守也摸鱼7 小时前
无线网络安全--10 规避WLAN验证之挫败MAC地址限制
网络·智能路由器·php·教程·虚拟机·wlan·无线网络安全
浩风祭月8 小时前
我用 AI 辅助重构了遗留项目的认证模块:从明文存储到 OAuth 2.0 的安全升级
后端·php·ai编程
宋拾壹9 小时前
fastadmin列表中查看列表,并且添加增加相应的数据
javascript·php·fastadmin
weixin_446260859 小时前
LLM智能体在社交模拟中的决策行为分析:有限状态与LLM-based策略对比研究
开发语言·php
唐青枫11 小时前
Php Doctrine ORM 实战详解:从实体映射到查询、关联与事务
php·symfony
一直奔跑在路上12 小时前
深入浅出RDMA:原理、应用与实战指南
开发语言·php
右耳朵猫AI13 小时前
PHP周刊2026W23 | Composer 2.10、Symfony 8.1、Twig 3.27.1、PHP 8.5、Laravel AI SDK
php·composer·symfony
2401_834636991 天前
Nginx 从入门到实战:静态 / 动态站点、PHP 部署与反向代理全解析
运维·nginx·php
绵绵细雨中的乡音1 天前
监控显示一切正常,可用户根本打不开网站——Blackbox Exporter帮我找到了真相(1)
开发语言·php