Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie das CI-Framework, um das Front- und Back-End des Frameworks zu trennen

So verwenden Sie das CI-Framework, um das Front- und Back-End des Frameworks zu trennen

不言
不言Original
2018-06-14 14:08:092426Durchsuche

Dieser Artikel stellt hauptsächlich die Methode des CI-Frameworks vor, um die Trennung von Front-End und Back-End des Frameworks zu realisieren. Er analysiert detailliert die zugehörigen Ansichten, Controller-Einstellungen und die Erweiterung der Front-End- und Back-End-Trennung des CI-Frameworks in Form von Beispielen. Freunde in Not können sich darauf beziehen.

Das Beispiel dieses Artikels analysiert die Methode des CI-Frameworks, um die Trennung von Front-End und Back-End zu realisieren Rahmen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Wenn wir mit dem CI-Framework entwickeln (oder mit allen anderen Frameworks entwickeln), sind wir es immer gewohnt, das Front-End und das Back-End zu trennen Legen Sie die jeweiligen Controller, Modelle oder Ansichten in verschiedenen Ordnern des von uns entwickelten Projekts ab. An diesem Punkt ist das ThinkPHP-Framework praktischer als das CI-Framework. In diesem Blogbeitrag beschreiben wir, wie man die Front-End- und Back-End-Implementierung basierend auf der CI-Framework-Entwicklung trennt. (In diesem Artikel wird das von mir entwickelte Pkadmin-Hintergrundverwaltungssystem als Beispiel verwendet. Das Pkadmin-Hintergrundverwaltungssystem basiert auf dem Codeigniter_v3.1.0-Framework und der Olive Admin-Hintergrundvorlage. Ich werde hier nicht zu viel vorstellen. Interessierte Freunde können es überprüfen raus auf Github. Willkommen Jeder korrigiert und lernt voneinander

1. Erstellen Sie eine vernünftige Verzeichnisstruktur

Ich glaube, jeder kennt bereits die Verzeichnisstruktur des CI-Frameworks und Hier sind die Funktionen der einzelnen Verzeichnisse Für das Back-End-Framework müssen wir zunächst eine angemessene Verzeichnisstruktur festlegen, d

Wie oben gezeigt, ist dies die Verzeichnisstruktur des Pkadmin-Backend-Verwaltungssystems Controllers-Ordner des Frameworks selbst und fügte nur unterschiedliche Front-End- und Backend-Ordner zum Speichern ihrer jeweiligen Controller-Dateien hinzu. Dasselbe gilt für die Ansichten.

2. Der Erweiterungslader legt den Ansichtspfad fest

① Um eine bessere Wartbarkeit des Projekts zu erreichen, habe ich den Ansichtspfad auf eine Konstante in App/config/constants.php gesetzt. Definiere Konstanten in:

//定义前台视图路径常量
define('HOME_VIEW_DIR', 'views/Home/');
//定义后台视图路径常量
define('ADMIN_VIEW_DIR', 'views/Pkadmin/');
//版本
define('PKADMIN_VERSION', '1.0.0');

② Erweiterungslader

So erweitern Sie den Loader: Wenn es Blogger gibt, die nicht wissen, wie es geht, können Sie sich das CI-Framework ansehen klar (noch etwas: Erstellen Sie die Datei PK_Loader.php im Ordner APP/core)

<?php
/**
 * ==========================================
 * Created by Pocket Knife Technology.
 * Author: ZhiHua_W <zhihua_wei@foxmail.com>
 * Date: 2016/11/02 0031
 * Time: 上午 9:19
 * Project: Pkadmin后台管理系统
 * Version: 1.0.0
 * Power: 加载器扩展
 * ==========================================
 */
defined(&#39;BASEPATH&#39;) OR exit(&#39;No direct script access allowed&#39;);
class PK_Loader extends CI_Loader {
 /**
  * 设置前台视图路径
  */
 public function set_home_view_dir() {
  $this -> _ci_view_paths = array(APPPATH . HOME_VIEW_DIR => TRUE);
 }
 /**
  * 设置后台视图路径
  */
 public function set_admin_view_dir() {
  $this -> _ci_view_paths = array(APPPATH . ADMIN_VIEW_DIR => TRUE);
 }
}

3. Erweiterter Controller

Erweiterte Controller dienen hauptsächlich der Vereinfachung der Generierung übergeordneter Controller im Front- und Backend und der Operationsvererbung (der Code ist der Einfachheit halber vereinfacht, damit Sie das Prinzip schnell verstehen können).

4. Test

Erstellen Sie eine neue Admin.php-Controller-Datei (Backend-Homepage) im Pkadmin-Controller-Ordner für den Ausgabetest (der Code wurde gelöscht und optimiert). )

<?php
/**
 * ==========================================
 * Created by Pocket Knife Technology.
 * Author: ZhiHua_W <zhihua_wei@foxmail.com>
 * Date: 2016/11/02 0031
 * Time: 上午 9:23
 * Project: Pkadmin后台管理系统
 * Version: 1.0.0
 * Power: 控制器扩展
 * ==========================================
 */
defined(&#39;BASEPATH&#39;) OR exit(&#39;No direct script access allowed&#39;);
/**
 * 前台父控制器
 */
class Home_Controller extends CI_Controller {
 public function __construct() {
  parent::__construct();
  $this -> load -> set_home_view_dir();
 }
}
/**
 * 后台父类控制器
 */
class Pkadmin_Controller extends CI_Controller {
 public $data;
 public function __construct() {
  parent::__construct();
  $this -> load -> set_admin_view_dir();
 }
}

Der Hintergrund-Controller erbt den Hintergrund-Controller der übergeordneten Klasse, und der Front-Desk-Controller integriert den Front-Desk-Controller der übergeordneten Klasse und erstellt die entsprechende Ansicht

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist Achtung auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Über die Implementierung der unendlichen Klassifizierung und Rekursion im CI-Framework

Über die Codeklasse zur CodeIgniter-Framework-Verifizierung, Analyse von Bibliotheksdateien und Nutzung

So lösen Sie 404-Fehler im Nginx- und CI-Framework


Das obige ist der detaillierte Inhalt vonSo verwenden Sie das CI-Framework, um das Front- und Back-End des Frameworks zu trennen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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