Heim  >  Artikel  >  php教程  >  CodeIgniter-Studiennotizen Punkt 2 – MVC in CI

CodeIgniter-Studiennotizen Punkt 2 – MVC in CI

黄舟
黄舟Original
2016-12-29 10:02:321362Durchsuche

1. Controller in CI

Um Ihr eigenes Projekt über CI zu erstellen, müssen Sie nur das Anwendungsverzeichnis, das Systemverzeichnis und die Datei index.php im CI-komprimierten Paket in Ihr eigenes Projektverzeichnis kopieren. Bearbeiten Sie Ihren eigenen Code vollständig im Anwendungsverzeichnis. Wenn in Zukunft eine neue Version von CI veröffentlicht wird, müssen Sie nur den Inhalt der Systemdatei ersetzen Probleme beim Upgrade.

CodeIgniter-Studiennotizen Punkt 2 – MVC in CI

Nachdem der Kopiervorgang abgeschlossen ist, öffnen Sie die Homepage des neuen Projekts über die URL: http://localhost:8080/testCodeIgniter/

CodeIgniter-Studiennotizen Punkt 2 – MVC in CI

Über diese Seite teilt uns CI mit, dass die aktuell angezeigte Ansicht in der Datei „Welcome_message.php“ definiert ist und der aktuell verwendete Controller „Welcome.php“ ist

Öffnen

/application/controllers/Welcome.php

Datei, diese Datei hat nur eine Indexmethode, die die Ansicht

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;);
    }
}
?>

lädt Datei anzeigen

welcome_message.php

Im Verzeichnis

/application/views



greifen Sie über die URL mit pathinfo auf den Controller zu Das Format lautet: Protokoll:// Domänenname/Eintragsdatei/Controller/Methodenname, für private Methoden, geschützte Methoden oder Methoden, die mit einem Unterstrich beginnen, kann nicht über pathinfo zugegriffen werden

Fügen Sie oben eine neue Testmethode hinzu Steuerdatei Welcome.php:

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

Sie können die Testmethode des Welcome-Controllers aufrufen, indem Sie

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



einen neuen Benutzercontroller erstellen, einschließlich eines Index Methode

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

Der Controller muss von der CI_Controller-Klasse erben

Auf die Indexmethode des Benutzercontrollers kann über pathinfo zugegriffen werden: http://localhost:8080/testCodeIgniter/index. php/user/index

CodeIgniter-Studiennotizen Punkt 2 – MVC in CI

Hinweis: Bei Pathinfo wird die Groß-/Kleinschreibung beachtet. Nach dem Testen mit der CI3.0-Version wird die Groß-/Kleinschreibung nicht beachtet.

2 in CI

Controller Beim Laden der Ansicht

CI lädt die Ansicht über den Controller, der Ansichtsdateiname lautet index.php, indem

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

aufgerufen wird Es ist nicht erforderlich, ein Dateisuffix hinzuzufügen. Der Dateipfad basiert auf der Anwendung/dem relativen Pfad zum Ansichtsverzeichnis.

Ansichtsdateien können nativer PHP-Code sein, es ist kein HTML-Code erforderlich

In den Controller können mehrere Ansichten geladen werden, und Ansichten können entsprechend der Struktur des Dokuments nacheinander von oben nach unten geladen werden

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

Controller weist Variablen zu

Zwei Methoden:

1. Einzelne Variable

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


2. Zuweisen eines Stapels von Variablen

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

Für diese beiden Zuordnungsmethoden können Sie mit

in der Ansicht
$title

und

$list

auf Variablen zugreifen, Hier sind nur Beispiele, reale Projekte, Daten sollten aus dem Modell bezogen werden.

3 Der Name der Modelldatei in CI

muss klein geschrieben werden, da in

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)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn