我是用Laravel 5开发网络的新手,我安装了asGgardCMS,在看到asgardCms代码之后,我发现app/Http/route.php文件中没有任何代码,路由所需的代码被放置在模块代码中。例如,路由菜单管理器模块所需的代码放在Modules/Media/apiRoutes.php和Modules/Media/backendRoutes.php文件中。也许能帮我,告诉我怎样才能像那样管理我的路线?
发布于 2015-12-09 16:17:11
可以在服务提供程序中加载自定义路由文件。AsgardCMS也是这样做的,请参阅加载后端路由的核心RoutingServiceProvider中的此方法:
https://github.com/AsgardCms/Core/blob/master/Providers/RoutingServiceProvider.php#L77
Laravel文档在包开发部分提供了一个简单的示例:
http://laravel.com/docs/5.1/packages#routing
发布于 2018-12-23 03:22:59
Laravel的路由上的group()方法可以接受文件名,所以我们可以这样做:
// web.php
Route::prefix('admin')
->group(base_path('routes/admin.php'));
// admin.php
Route::get('/', 'AdminController@index');发布于 2015-12-09 17:48:18
routes.web.php和routes.api.php。RouteServiceProvider.php文件如下所示:<?php
namespace App\Providers;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Routing\Router;
class RouteServiceProvider extends ServiceProvider
{
/**
* This namespace is applied to the controller routes in your routes file.
*
* In addition, it is set as the URL generator's root namespace.
*
* @var string
*/
protected $webNamespace = 'App\Http\Controllers\Web';
protected $apiNamespace = 'App\Http\Controllers\Api';
/**
* Define your route model bindings, pattern filters, etc.
*
* @param \Illuminate\Routing\Router $router
*
* @return void
*/
public function boot(Router $router)
{
//
parent::boot($router);
}
/**
* Define the routes for the application.
*
* @param \Illuminate\Routing\Router $router
*
* @return void
*/
public function map(Router $router)
{
/*
|--------------------------------------------------------------------------
| Web Router
|--------------------------------------------------------------------------
*/
$router->group(['namespace' => $this->webNamespace], function ($router) {
require app_path('Http/routes.web.php');
});
/*
|--------------------------------------------------------------------------
| Api Router
|--------------------------------------------------------------------------
*/
$router->group(['namespace' => $this->apiNamespace], function ($router) {
require app_path('Http/routes.api.php');
});
}
}注意:您可以添加任意数量的路由文件.
https://stackoverflow.com/questions/34182806
复制相似问题