我使用 laravel 4 已经有一段时间了,我需要创建一个管理区域,所以我决定使用一个包来保持一切井井有条,并与应用程序的其余部分分开。
所以我用 composer 作为“vendor/admin”创建了一个包。
然后我在 laravel 网站上添加了这些行
AdminServiceProvider.php
public function boot()
{
$this->package('vendor/admin', 'admin');
include __DIR__.'/../../routes.php';
}
public function register()
{
//
$this->package('vendor/admin');
}
我还在 vedor/admin/目录中创建了一个 routes.php 文件来路由这个文件中的所有管理区域。
在我运行“php artisan dump-autoload
”之后,我最终完成了对 artisan “php artisan config:publish vendor/admin
”的表扬
现在我希望能够将这个包用于 mysite.com/admin 路由,我希望包中的 routes.php 文件呈现该 URI 的路由,为此:
- 我需要修改我的 app/routes.php 吗?
- 如何使 vendor/admin/src/routes.php 文件为所有 mysite.com/admin 路由做路由?
谢谢。
最佳答案
不,您不需要编辑 app/routes.php
。只要它不包含任何可能与您的包中的路由冲突的 admin
路由,您就可以保持这种状态。
包中的路由文件可以像“普通”app/routes.php
一样使用。处理 admin
路由的一种简单方法是使用前缀组:
Route::group(array('prefix' => 'admin'), function(){
// all your admin routes. for example:
Route::get('dashboard', '...');
// will match GET /admin/dashboard
});
除此之外,请确保您的包已正确加载!一部分是注册服务提供商。假设您的包的命名空间是 Admin
,您需要将 Admin\AdminServiceProvider
添加到 app/config/app.php
中的提供程序数组。 More information
关于php - laravel 4 工作台路由到包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27365032/