今天研究了在Laravel框架中的控制器中加入後臺的目錄.發現了一些小的規律,拿來和你們分享一下吧.php
一般狀況下,咱們是直接在controllers目錄中加入咱們的控制器,而後再routes.php 路由表中尋找對應的控制器和action進行處理.但是現在有個問題,假設咱們的前臺和後臺同在一個項目中,也就是說前臺和後臺的控制器會在一塊.固然不是沒有辦法進行區分.咱們可以在控制器前面加上Front,Admin等標記來分別前臺控制器和後臺控制.json
這裏我給你們提供一種方法來將先後臺的控制器進行分離.瀏覽器
首先咱們在controllers目錄中創建一個admin目錄.composer
第一種方法:直接在後臺創建控制器,比方AdminController.php 裏面正常的寫上咱們的內容.框架
在路由表中, 工具
Route::get('admin','AdminController@index');優化
咱們發現程序報錯,說沒法找到控制器AdminController.lua
咱們打開命令行工具,進入到該項目的更文件夾中,也就是artisan,composer.json所在的文件夾中,spa
執行命令 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\IndexController@index 這種控制器來處理請求.
好了,這就是我學到的內容,拿來和你們分享分享.
Persistence makes life valuable.
Best Wishes.