今天研究了在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.