生成 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 文件判断域名对应的控制器
来源: http://www.jianshu.com/p/9834e0931e5c