📜  MVC 如何在 Codeignitor 中工作?

📅  最后修改于: 2022-05-13 01:57:40.461000             🧑  作者: Mango

MVC 如何在 Codeignitor 中工作?

Codeignitor 基于 MVC 设计模式。我们将看到控制器、模型和视图如何工作并向用户显示结果。

控制器:顾名思义,它控制视图和模型之间的通信。所有 URL 都在 CodeIgniter 中使用控制器名称工作。现在让我们看看在创建新控制器时需要记住的一些要点。

  1. 当我们在控制器中创建一个类时,类的名称应该与文件名匹配,并且应该以大写开头,否则我们将在运行项目时收到错误消息。
  2. 一旦声明了类,我们就通过 extends 关键字继承 CI_Controller 的所有属性以使用 CI_Controller 的所有属性(通过PHP | OOP 中的通用术语来理解继承)。如果我们不扩展 CI_Controller 就不会有任何问题,但在这种情况下,我们将无法访问 CI_Controller 的任何属性。
  3. 每个控制器都有一个默认的函数索引,当我们在 URL 中只定义控制器名称时,它会自动运行。对于其余的功能,我们需要在 URL 中的控制器名称之后手动提及它。

Model: Model负责处理后端相关的查询。后端的所有查询或功能,如数据库、我们在模型中编写的 API。现在让我们看看在创建新模型时需要记住的一些要点。

  1. 当我们在模型中创建一个类时,类的名称应该与文件名匹配,并且应该以大写开头,否则我们将在运行项目时收到错误消息。
  2. 一旦声明了类,我们就可以使用 extends 关键字继承 CI_Model 的所有属性以使用 CI_Model 的所有属性
  3. 当我们在模型中创建一个函数,确保它应该是公开的,否则它在控制器中将无法访问。
  4. 要访问控制器中的模型,需要先加载它,加载模型后,我们可以在控制器中调用该特定模型的函数。下面是在控制器中加载模型的行。
    $this->load->model('post_model');

    下面是在自动加载中加载模型的行。 config 文件夹中提供的PHP文件。如果我们需要在我们的项目中全局使用模型,那么使用自动加载。 PHP.

    $autoload['model'] = array('post_model');

视图:视图是 MVC 概念中的表示部分。无论在客户端使用 HTML、CSS 还是 JavaScript,文件中都将通过视图部分显示给用户。视图文件保存在应用程序/视图文件夹中。当模型从后端获取数据并将其返回给控制器时,控制器会在视图页面中传递所有数据。



牢记以上所有要点,我们将看到一个 MVC 如何在 CI 中工作的示例。

例子:

控制器文件:创建文件用户。在 Controller 文件夹中打开PHP并写下下面的代码。

load->model('usermodel');
    }
  
    public function index()
    { 
          //access the getUsers method from usermodel
           $data['users'] = $this->usermodel->getUsers();
           $this->load->view('users_list', $data);
    }
      
}
  
?>

模型文件:创建一个文件usermodel.在 Model 文件夹中打开PHP并写下下面的代码。

'First User', 'lastname'=>'First Name'],
           ['firstname'=>'Second User', 'lastname'=>'Second Name'],
           ['firstname'=>'Third User', 'lastname'=>'Third Name'],
         ] ; 
           
       }
         
}
  
?>

查看文件:创建一个文件users_list。在 View 文件夹中打开PHP并写下下面的代码。


  
    User List
  
    
   
     
      
         
          
      
     
   
                                             

现在运行http://localhost/ci_tutorial/index。 PHP/Users在浏览器中。
输出: