php Laravel 架構之建立後台目錄

來源:互聯網
上載者:User

標籤:衝突   namespace   分享   ble   相同   目錄   isa   靜態類   控制器   

今天研究了在Laravel架構中的控制器中加入背景目錄.發現了一些小的規律,拿來和大家分享一下吧.

通常情況下,我們是直接在controllers目錄中加入我們的控制器,然後再routes.php 路由表中尋找對應的控制器和action進行處理.可是如今有個問題,假設我們的前台和後台同在一個項目中,也就是說前台和背景控制器會在一塊.當然不是沒有辦法進行區分.我們能夠在控制器前面加上Front,Admin等標記來分別前台控制器和後台控制.

這裡我給大家提供一種方法來將前背景控制器進行分離.

首先我們在controllers目錄中建立一個admin目錄.

第一種方法:直接在後台建立控制器,比方AdminController.php 裡面正常的寫上我們的內容.

在路由表中, 

Route::get(‘admin‘,‘[email protected]‘);

我們發現程式報錯,說無法找到控制器AdminController.

我們開啟命令列工具,進入到該項目的更檔案夾中,也就是artisan,composer.json所在的檔案夾中,

執行命令 composer dumpautoload 或者 composer dump-autoload 

這是對自己主動載入進行最佳化.

我們執行完命令之後,進入vendor檔案夾的composer檔案夾中,

我們查看一下我們的autoload_classmap.php檔案,發現裡面多了個AdminController的一條記錄.

對了,然後我們重新整理一下瀏覽器,就行看到該後台控制器的內容了.

可是這個有個缺點,就是每次加入新的控制器的時候都必需要執行一下這個命令才行..

另一點須要注意的是:假設你的後台目錄中出現了和前台同樣的控制器的時候,這是的程式會報錯.

提示後台和前台有個控制器名字相衝突.

這裡的解決方式是在後台使用名字空間進行處理.

比方我們我的後台相同有個IndexController控制器

<?

PHP

namespace Controllers\Admin;

class IndexController extends \BaseController{

      public function index(){


      }

}

?

>

這裡還是要注意一點了,當使用名字空間之後,我們在裡面使用的全部靜態類都預設是當前名字空間的類.所以有時我們須要使用use View; Use ...等之類的名字空間.

同一時候在路由表中我們相同要使用 Controllers\Admin\[email protected] 這種控制器來處理請求.

好了,這就是我學到的內容,拿來和大家分享分享.

Persistence makes life valuable.

Best Wishes.


php Laravel 架構之建立後台目錄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.