Maison >php教程 >PHP开发 >Notes d'étude CodeIgniter Item2 - MVC dans CI

Notes d'étude CodeIgniter Item2 - MVC dans CI

黄舟
黄舟original
2016-12-29 10:02:321374parcourir

1. Contrôleur dans CI

Pour créer votre propre projet via CI, il vous suffit de copier le répertoire de l'application, le répertoire système et le fichier index.php du package compressé CI dans votre propre répertoire de projet. Modifiez entièrement votre propre code dans le répertoire de l'application. Ne modifiez pas le répertoire système lorsqu'une nouvelle version de CI sera publiée dans le futur, il vous suffira de remplacer le contenu du fichier système. problème dans la mise à niveau.

Notes détude CodeIgniter Item2 - MVC dans CI

Une fois la copie terminée, ouvrez la page d'accueil du nouveau projet via l'URL : http://localhost:8080/testCodeIgniter/

Notes détude CodeIgniter Item2 - MVC dans CI

A travers cette page, CI nous indique que la vue actuellement affichée est définie dans le fichier Welcome_message.php, et que le contrôleur actuellement utilisé est Welcome.php

Ouvrir

/application/controllers/Welcome.php

fichier, ce fichier n'a qu'une seule méthode d'indexation, qui charge la vue

welcome_message

[code]<?php
defined(&#39;BASEPATH&#39;) OR exit(&#39;No direct script access allowed&#39;);

class Welcome extends CI_Controller 
{
    /**
     * Index Page for this controller.
     *
     * Maps to the following URL
     *         http://example.com/index.php/welcome      *    - or -
     *         http://example.com/index.php/welcome/index      *    - or -
     * Since this controller is set as the default controller in
     * config/routes.php, it&#39;s displayed at http://example.com/      *
     * So any other public methods not prefixed with an underscore will
     * map to /index.php/welcome/<method_name>
     * @see http://codeigniter.com/user_guide/general/urls.html      */
    public function index()
    {
        $this->load->view(&#39;welcome_message&#39;);
    }
}
?>

afficher le fichier

welcome_message.php

Dans le répertoire

/application/views



accédez au contrôleur via l'URL en utilisant pathinfo, le le format est : protocole:// Nom de domaine/fichier d'entrée/contrôleur/nom de méthode, pour les méthodes privées, les méthodes protégées ou les méthodes commençant par un trait de soulignement, ne sont pas accessibles via pathinfo

Ajoutez une nouvelle méthode de test ci-dessus fichier de contrôle Welcome.php :

[code]public function test()
{
    echo "这是Welcome控制器的test方法";
}

Vous pouvez appeler la méthode de test du contrôleur Welcome via

pathinfo(http://localhost:8080/testCodeIgniter/index.php/Welcome/test)



Créer un nouveau contrôleur utilisateur, comprenant un index

[code]<?php
class User extends CI_Controller 
{
    public function index()
    {
        echo &#39;user---index&#39;;
    }
}
?>

Le contrôleur doit hériter de la classe CI_Controller

La méthode d'index du contrôleur utilisateur est accessible via pathinfo : http://localhost:8080/testCodeIgniter/index. php/user/index

Notes détude CodeIgniter Item2 - MVC dans CI

Remarque : pathinfo est sensible à la casse Après avoir testé avec la version CI3.0, il n'est pas sensible à la casse

2. dans CI

Contrôleur Lors du chargement de la vue

CI charge la vue via le contrôleur, le nom du fichier de vue est index.php en appelant

[code]$this->load->view(&#39;/user/index&#39;);

À ce moment. , il n'est pas nécessaire d'ajouter un suffixe de fichier. Le chemin du fichier est basé sur l'application/Chemin relatif vers le répertoire des vues

Les fichiers d'affichage peuvent être du code natif PHP, aucun code HTML n'est requis

Plusieurs vues peuvent être chargées dans le contrôleur, et les vues peuvent être chargées séquentiellement de haut en bas en fonction de la structure du document

[code]<?php
    echo "这是user视图";
?>

Le contrôleur alloue des variables

Deux méthodes :

1. Variable unique

[code]$this->load->vars(&#39;title&#39;, &#39;这是标题&#39;);


2. Allouer un lot de variables

[code]$data[&#39;title&#39;] = &#39;这是标题&#39;;
$data[&#39;list&#39;] = $list;
$this->load->vars($data);

Pour ces deux méthodes d'allocation, vous pouvez utiliser

dans la vue
$title

et

$list

pour accéder aux variables, voici juste des exemples, des projets réels, les données doivent être obtenues à partir du modèle.

3. Le nom du fichier modèle dans CI

doit être en minuscule, car dans

system/core/loader.php

的model方法中,会将传入的模型名称转成小写再去寻找对应的文件,但是类名必须是首字母大写并且拼装“

_model

”,拼装后的结果应与模型文件的文件名一致,只是首字母大写,例如:文件名是

user_model.php

,类名应该是

User_model



– user_model.php文件 

[code]<?php
    class User_model extends CI_Model
    {

        function __construct()
        {
            parent::__construct();
        }

        function getAllUser()
        {
            $this->load->database();
            $result = $this->db->get(&#39;blog_user&#39;);
            return $result->result();
        }
    }
?>

在控制器中这样调用

[code]// 加载模型,通过第二个参数还可以指定别名,后面的代码使用别名访问 
$this->load->model(&#39;user_model&#39;);
// 加载完成后,超级对象就生成了user_model属性,它是User_model类型的对象
$list = $this->user_model->getAllUser();
// 将数据传给视图
$this->load->view(&#39;user_view&#39;, array(&#39;list&#39;=>$list));

原则上,除了关系表,每张实体表都应该对应一个模型

 以上就是CodeIgniter学习笔记 Item2--CI中的MVC的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn