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

Notes d'étude CodeIgniter Item2 - MVC dans CI

黄舟
Libérer: 2016-12-29 10:02:32
original
1400 Les gens l'ont consulté

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
Copier après la connexion

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

welcome_message
Copier après la connexion

[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;);
    }
}
?>
Copier après la connexion

afficher le fichier

welcome_message.php
Copier après la connexion

Dans le répertoire

/application/views
Copier après la connexion



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方法";
}
Copier après la connexion

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

pathinfo(http://localhost:8080/testCodeIgniter/index.php/Welcome/test)
Copier après la connexion



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;;
    }
}
?>
Copier après la connexion

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;);
Copier après la connexion

À 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视图";
?>
Copier après la connexion

Le contrôleur alloue des variables

Deux méthodes :

1. Variable unique

[code]$this->load->vars(&#39;title&#39;, &#39;这是标题&#39;);
Copier après la connexion


2. Allouer un lot de variables

[code]$data[&#39;title&#39;] = &#39;这是标题&#39;;
$data[&#39;list&#39;] = $list;
$this->load->vars($data);
Copier après la connexion

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

dans la vue
$title
Copier après la connexion

et

$list
Copier après la connexion

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
Copier après la connexion

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

_model
Copier après la connexion

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

user_model.php
Copier après la connexion

,类名应该是

User_model
Copier après la connexion



– 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();
        }
    }
?>
Copier après la connexion

在控制器中这样调用

[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));
Copier après la connexion

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

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


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal