生成restful规则路由
在 routes/web.php
添加:
Route::resource('users', 'UsersController');
等同于:
Route::get('/users', 'UsersController@index')->name('users.index');
Route::get('/users/create', 'UsersController@create')->name('users.create');
Route::get('/users/{user}', 'UsersController@show')->name('users.show');
Route::post('/users', 'UsersController@store')->name('users.store');
Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit');
Route::patch('/users/{user}', 'UsersController@update')->name('users.update');
Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy');
详细说明:
HTTP请求 | URL | 动作 | 作用 |
---|---|---|---|
GET | /users | UsersController@index | 显示所有用户列表的页面 |
GET | /users/{user} | UsersController@show | 显示用户个人信息的页面 |
GET | /users/create | UsersController@create | 创建用户的页面 |
POST | /users | UsersController@store | 创建用户 |
GET | /users/{user}/edit | UsersController@edit | 编辑用户个人资料的页面 |
PATCH | /users/{user} | UsersController@update | 更新用户 |
DELETE | /users/{user} | UsersController@destroy | 删除用户 |
模板中引用命名路由写法:
<a href="{{ route('users.show' , ['user'=>$user] }}"></a>
多个路由文件
如果有多个应用,如pc端和m端共用一套代码,就需要不同的路由文件
routes/web.php
引入路由组:
// pc路由组
Route::group(['domain' => 'pc.test.com', 'namespace' => 'Pc'], function () {
include base_path() . '/routes/pc.php';
});
// m路由组
Route::group(['domain' => 'm.test.com', 'namespace' => 'M'], function () {
include base_path() . '/routes/m.php';
});
域名写到
.env
文件更适宜
新建 routes/pc.php
与 routes/m.php
, 将相应的路由规则写入对应的文件,如:
routes/pc.php
:
Route::get('/', 'HomeController@index')->name('wap.index');
nginx中将 pc.test.com 与 m.test.com 都指向 public 目录, laravel会根据
routes/web.php
文件判断域名对应的控制器
网友评论