📜  CodeIgniter体系结构(1)

📅  最后修改于: 2023-12-03 14:59:58.293000             🧑  作者: Mango

CodeIgniter体系结构

CodeIgniter是一款流行的PHP开源Web应用程序框架。它采用了MVC(模型,视图,控制器)的架构模式,这使得它易于开发和维护。以下是CodeIgniter的体系结构:

模型

模型是应用程序的数据层,负责处理数据。在CodeIgniter中,模型可以与多个数据库交互,并封装了数据访问逻辑。模型应该是所有控制器的基础。

以下是一个简单的CodeIgniter模型示例:

class User_model extends CI_Model {

    public function get_users() {
        $query = $this->db->get('users');
        return $query->result();
    }

    public function get_user($id) {
        $query = $this->db->get_where('users', array('id' => $id));
        return $query->row();
    }

    public function create_user($data) {
        $this->db->insert('users', $data);
        return $this->db->insert_id();
    }

    public function update_user($data, $id) {
        $this->db->where('id', $id);
        $this->db->update('users', $data);
    }

    public function delete_user($id) {
        $this->db->where('id', $id);
        $this->db->delete('users');
    }
}
视图

视图是应用程序的用户界面层,负责呈现数据。在CodeIgniter中,视图使用PHP文件来呈现数据,这使得它易于使用并且不需要学习新的模板语言。视图只应该是控制器和模型的展示层,不应该包含任何业务逻辑。

以下是一个简单的CodeIgniter视图示例:

<!DOCTYPE html>
<html>
<head>
    <title><?php echo $title; ?></title>
</head>
<body>
    <h1><?php echo $heading; ?></h1>

    <?php foreach ($users as $user): ?>
        <p><?php echo $user->name; ?></p>
    <?php endforeach; ?>
</body>
</html>
控制器

控制器是应用程序的逻辑层,负责处理用户请求并向模型和视图传递数据。在CodeIgniter中,控制器是所有请求的入口点。

以下是一个简单的CodeIgniter控制器示例:

class Users extends CI_Controller {

    public function index() {
        $this->load->model('user_model');
        $data['users'] = $this->user_model->get_users();
        $data['title'] = 'User List';
        $data['heading'] = 'User List';

        $this->load->view('users/index', $data);
    }

    public function view($id) {
        $this->load->model('user_model');
        $data['user'] = $this->user_model->get_user($id);
        $data['title'] = 'User Details';
        $data['heading'] = 'User Details';

        $this->load->view('users/view', $data);
    }

    public function create() {
        // Handle form submission here
    }

    public function update($id) {
        // Handle form submission here
    }

    public function delete($id) {
        // Handle form submission here
    }
}
总结

CodeIgniter的体系结构使得开发人员易于开发和维护应用程序。它采用了MVC架构模式,将应用程序分成模型,视图和控制器三个层次。模型负责处理数据,视图负责呈现数据,控制器负责处理用户请求和向模型和视图传递数据。