Heim > php教程 > PHP开发 > Hauptteil

CodeIgniter-Studiennotizen Punkt 2 – MVC in CI

黄舟
Freigeben: 2016-12-29 10:02:32
Original
1362 Leute haben es durchsucht

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
Nach dem Login kopieren

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

welcome_message
Nach dem Login kopieren

[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;);
    }
}
?>
Nach dem Login kopieren

lädt Datei anzeigen

welcome_message.php
Nach dem Login kopieren

Im Verzeichnis

/application/views
Nach dem Login kopieren



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方法";
}
Nach dem Login kopieren

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

pathinfo(http://localhost:8080/testCodeIgniter/index.php/Welcome/test)
Nach dem Login kopieren



einen neuen Benutzercontroller erstellen, einschließlich eines Index Methode

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

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;);
Nach dem Login kopieren

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视图";
?>
Nach dem Login kopieren

Controller weist Variablen zu

Zwei Methoden:

1. Einzelne Variable

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


2. Zuweisen eines Stapels von Variablen

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

Für diese beiden Zuordnungsmethoden können Sie mit

in der Ansicht
$title
Nach dem Login kopieren

und

$list
Nach dem Login kopieren

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
Nach dem Login kopieren

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

_model
Nach dem Login kopieren

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

user_model.php
Nach dem Login kopieren

,类名应该是

User_model
Nach dem Login kopieren



– 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();
        }
    }
?>
Nach dem Login kopieren

在控制器中这样调用

[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));
Nach dem Login kopieren

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

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


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage