当前位置: 代码迷 >> PHP >> php Laravel 框架之建立后台老板文件夹
  详细解决方案

php Laravel 框架之建立后台老板文件夹

热度:148   发布时间:2016-04-28 19:07:23.0
php Laravel 框架之建立后台文件夹

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