菜单

php Laravel 框架之创立后台文件夹

2019年6月20日 - Java

明天研讨了在Laravel框架中的调整器中加上后台的公文夹.发掘了一些小的规律,拿来和我们享受一下吧.

在前头的章节中大家上课过什么在 Laravel框架中创设后台文件夹.

日常景况下,大家是平素在controllers文件夹中加多大家的调整器,然后再routes.php
路由表中搜索对应的调整器和action进行管理.然则现在有个难点,如若大家的前台和后台同在二个品类中,相当于说前台和后台的调整器会在一块.不容置疑不是从没有过办法举办区分.大家可以在调节器前面加上Front,Admin等标识来分别前台调节器和后台调控.

php Laravel 框架之创设后台文件夹

近些日子大家再加多一块内容.是有关机关加载的部分.

在大家app目录中还会有个start目录.它在那之中这么写道:

In addition to using Composer, you may use the Laravel class loader to
load your controllers and models. This is useful for keeping all of
your classes in the “global” namespace without Composer updating.

自己翻译一下:除了使用Composer,你还足以行使Laravel的类加载器来加载你的调控器和模型.

那对于让您的类在不采用Composer updating
的意况下处于大局的名字空间中极度有用.

咱们那边有贰个code fragment

ClassLoader::addDirectories(array(

app_path().’/commands’,
app_path().’/controllers’,
//app_path().’/controllers/admin’,
app_path().’/models’,
app_path().’/database/seeds’,

));

对,很精晓,这个文件夹都是咱们常常使用的文书夹,调控器,命令.模型,数据库种子

这个文件夹中的内容正是能够活动加载到全局名字空间中的.

只是还多了三个自个儿注释的内容.那个内容的目标是为啥呢..

正是让咱们controllers目录中的admin中的调节器也如出一辙颇具全局的名字空间.这样我们就足以一贯在路由表中通过

大家的调控器名字来选择了.

本身测试了一下,确实不负众望了,而不再必要compoer dumpautoload

然则依然有个难题,假使admin文件夹中有叁个调节器和外围的名字同样该如何是好?

自家也同样做了贰个试验,最后开采,它只会采纳之中之一,至于到底选用哪一个,就看咱们地方的不行加载的逐条了.

如果是

app_path().’/controllers’,

app_path().’/controllers/admin’,

那么外部的调节器有效,不然的话,admin文件夹里面包车型大巴调整器有效.

结缘从前写的如此多.其实最保证,也壮烈上的主意正是行使 名字空间.

只是编写起来也会越加错综复杂一点咯…小项目得以设想我们的方法.大不断注意一下,别让那么些调节器争执就好了.

又不是不可能调整.对吧.

Do one thing at a time,and do well.

Best Wishes.

版权注解:本文为博主原创小说,未经博主允许不得转发。


此地笔者给我们提供一种艺术来将前后台的调整器进行分离.

率先大家在controllers文件夹中创立三个admin文件夹.

首先种方法:直接在后台创建调整器,譬喻AdminController.php
里面符合规律的写上大家的内容.

在路由表中, 

Route::get(‘admin’,’AdminController@index’);

作者们发掘先后报错,说无法找到调节器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\IndexController@index
那样的调整器来管理请求.

好了,那正是本身学到的剧情,拿来和大家分享分享.

Persistence makes life valuable.

Best Wishes.

版权注明:本文为博主原创作品,未经博主允许不得转发。


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图