Laravel5控制器模块化

maxresdefault
问题由来
首先说下问题的由来,原因是想对Laravel5分模块拆分,这样逻辑上更清爽一些,由于项目也不大,所以决定在controller层面拆个前台和后台,所以很经典的做法也就是在app/Http/controllers下新建两个目录,分别为Home和Admin,所以对应的路由也发生变化这是对的

比如在Admin/下存在一个IndexController.php文件,根据官方文档路由定义成这样
[cc lang=”php” theme=”twitlight” width=”100%” height=”700″ lines=”40″ noborder=”true”]
Route::get(‘admin’, ‘Admin\IndexController@index’);
[/cc]
然后在项目根目录执行一下下面的命令,这个命令主要是能够将新建的Admin下的类能够autoload
[cc lang=”bash” theme=”twitlight” width=”100%” height=”700″ lines=”40″ noborder=”true”]
php artisan dump-autoload
[/cc]

!但是我这里执行后,发生如标题一样的错误
[cc lang=”bash” theme=”twitlight” width=”100%” height=”700″ lines=”40″ noborder=”true”]
[InvalidArgumentException]
Command “dump-autoload” is not defined.
[/cc]

而且访问浏览器http://localhost/laravel/public/index.php/admin也是有问题的,糟糕问题来啦!

于是可以定位到,我的这个命令是有问题的,百度没查出来什么,只能Google了,最后终于查到一篇非常牛逼的博客,因为laravel的先进,我们可以通过许多命令非常省事的完成许多想做的事,比如我现在想新建一个控制器,只需要执行artisan如下的命令即可,这样就可以通过命令的方式来完成目的,而且已经是自动加载的了,甚至还帮我们定义好了许多函数。
[cc lang=”bash” theme=”twitlight” width=”100%” height=”700″ lines=”40″ noborder=”true”]
php artisan make:controller Admin\NewsController
[/cc]
如何查看artisan这个神奇的东东都有哪些命令 ,只需执行如下命令
[cc lang=”bash” theme=”twitlight” width=”100%” height=”700″ lines=”40″ noborder=”true”]
php artisan list
[/cc]
以后想弄什么,直接通过php artisan XXX 命令即可。

参考
http://code.tutsplus.com/tutorials/your-one-stop-guide-to-laravel-commands–net-30349

Laravel5控制器模块化

发表评论

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