Laravel - 在web.php以外的文件中创建路由
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel - 在web.php以外的文件中创建路由相关的知识,希望对你有一定的参考价值。
在web.php中制作网站的各个页面的路线使其体积庞大且非结构化。所以我的问题是有没有办法将它保存在单独的文件中?
// Calling Registration function
Route::any('/admin-store','AdminUserController@store')->name('admin-reg');
// Redirecting to Registration page
Route::get('/admin-registration','AdminUserController@index')->name('admin-registration');
// Redirecting to login page
Route::get('/admin-login','AdminLoginController@index')->name('admin-login');
// Redirecting to Admin Profile Page
Route::get('/admin-profile','AdminProfileController@index')->name('admin-profile');
// Calling Login function
Route::post('admin-login-result','AdminLoginController@login')->name('admin-log');
// Calling Function to Update Profile
Route::post('admin-edit-profile','AdminEditController@updateProfile')
->name('admin-edit-profile');
// Redirecting to Profile Edit page
Route::get('/admin-edit-profile','AdminEditController@index')->name('admin-edit');
答案
Short answer
是的你可以。
Long answer
1 - 创建新的Route文件
创建新的路由文件,对于此示例,我将其命名为users.php
并在那里存储相关路由:
路线/ users.php
Route::get('/my-fancy-route', 'MyCoolController@anAwesomeFunction');
// and the rest of your code.
2 - 将路径文件添加到RouteServiceProvider
应用程序/提供者/ RouteServiceProvider.php
在这里添加一个新方法,我称之为mapUserRoutes
:
/**
* Define the User routes of the application.
*
*
* @return void
*/
protected function mapUserRoutes()
{
Route::prefix('v1') // if you need to specify a route prefix
->middleware('auth:api') // specify here your middlewares
->namespace($this->namespace) // leave it as is
/** the name of your route goes here: */
->group(base_path('routes/users.php'));
}
3 - 将其添加到map()
方法中
在同一个文件(RouteServiceProvider.php
)中,转到顶部并在map()
函数中添加新方法:
/**
* Define the routes for the application.
*
* @return void
*/
public function map()
{
// some other mapping actions
$this->mapUserRoutes();
}
4 - 最后的步骤
我不完全确定这是否有必要,但从不伤害:
- 停止服务器(如果正在运行)
- 做
php artisan config:clear
- 启动你的服务器。
以上是关于Laravel - 在web.php以外的文件中创建路由的主要内容,如果未能解决你的问题,请参考以下文章
你可以拥有你的 API 并在 Laravel 中吃(消费)它吗?