91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用CI框架怎么實現一個框架前后端分離功能

發布時間:2021-02-03 14:39:59 來源:億速云 閱讀:477 作者:Leah 欄目:開發技術

使用CI框架怎么實現一個框架前后端分離功能?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1、建立合理的目錄結構

CI框架的目錄結構以及各目錄的功能相信大家都已經很了解了,在這里就不在重復的進行介紹了(如果還有不是很明白的可以去看博主的博客專欄)。我們要實現前后端框架功能分離,首先就要建立合理的目錄結構,也就是你想將你的前端控制器放在何處、后臺控制器放在何處、前端視圖放在那個文件夾、后臺管理視圖放在那個文件夾。

使用CI框架怎么實現一個框架前后端分離功能

如上圖是Pkadmin后臺管理系統的目錄結構,我將控制器全部放在框架本身的controllers文件夾中,只添加了不同的前端后臺文件夾存放各自的控制器文件,視圖也是同樣。不做贅述。

2、擴展加載器設置視圖路徑

① 為了項目有更好的維護性,我把視圖路徑設置為常量,在App/config/constants.php中進行定義常量:

//定義前臺視圖路徑常量
define('HOME_VIEW_DIR', 'views/Home/');
//定義后臺視圖路徑常量
define('ADMIN_VIEW_DIR', 'views/Pkadmin/');
//版本
define('PKADMIN_VERSION', '1.0.0');

② 擴展加載器

加載器如何擴展如果有博友不會的可以去查看CI框架手冊,上面講的非常清楚。(多說一句:在APP/core文件夾下創建PK_Loader.php文件)

<?php

defined('BASEPATH') OR exit('No direct script access allowed');
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、擴展控制器

擴展控制器主要是為了生成前臺后臺的父控制器方便與進行操作繼承(為了方便可以很快明白其原理,代碼有所精簡)。

<?php

defined('BASEPATH') OR exit('No direct script access allowed');
/**
 * 前臺父控制器
 */
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();
 }
}

4、測試

在Pkadmin控制器文件夾中新建Admin.php(后臺首頁)控制器文件進行輸出測試(代碼有所刪除精簡)。

<?php

defined('BASEPATH') OR exit('No direct script access allowed');
class Admin extends Pkadmin_Controller {
 public function __construct() {
  parent::__construct();
  $this -> load -> model('login_model', 'admin');
  $this -> load -> library('pagination');
 }
 /**
  * Pkadmin 后臺首頁action
  */
 public function index() {
  $this -> load -> view('admin.html', $data);
 }
}

關于使用CI框架怎么實現一個框架前后端分離功能問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

奉化市| 高邮市| 康平县| 桂东县| 梁山县| 安化县| 鹤山市| 彝良县| 竹北市| 兴城市| 平昌县| 永平县| 涞水县| 松潘县| 铜梁县| 徐闻县| 北票市| 张掖市| 淮滨县| 浑源县| 普安县| 克什克腾旗| 太湖县| 那曲县| 河南省| 左贡县| 山东| 兴国县| 广东省| 阿克苏市| 依安县| 达州市| 沿河| 东港市| 平果县| 贵阳市| 荔波县| 福贡县| 盈江县| 南江县| 方城县|