友情提示:此篇文章大约需要阅读 7分钟28秒,不足之处请多指教,感谢您的阅读。 订阅本站
基本路由
基本路由配置
加载页面
//加载页面
Route::get('jiazai', function(){
return view("home");
});
加载控制器
//加载控制器 Route::get('jiben2','JibenController@index');
创建控制器
手动创建
需要将已有控制器复制一份,并进行重命名,一定注意文件名必须和类名一致。
aitisan创建
php artisan make:controller IndexController;
路由类型
// 类型
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
// Get操作
// 登录操作
Route::get('login', 'LoginController@index');
// Post操作
// 处理登陆操作
Route::post('check', 'LoginController@check');
// Put操作
// 路由定义
// put请求
Route::get('putweb', 'LoginController@putweb');
// put请求处理页面
Route::put('put', 'LoginController@put');
// Controller 控制器定义
/*
* put操作
*/
public function putweb(){
return view('putweb');
}
/*
* put处理操作
*/
public function put(){
dd($_POST);
}
view 视图定义
<form action="put" method="post">
{{--登陆防止跨站攻击--}}
{{csrf_field()}}
<input type="hidden" name="_method" value="put">
<p>
User:
<input type="text" name="username" id="">
</p>
<p>
Pass:
<input type="password" name="password" id="">
</p>
<p>
<input type="submit" value="提交">
<input type="reset" value="重置">
</p>
</form>
CSRF 保护
Laravel 可以轻松使地保护你的应用程序免受 cross-site request forgery (CSRF)攻击,跨站点请求伪造是一种恶意攻击,它凭借已通过身份验证的用户身份来运行未经过授权的命令。
一个路由实现多种请求
match请求
可以实现自定义请求。
Route::match(['get', 'post'], '/', "IndexController@index");
any请求
可以实现全部请求类型。
Route::any('/', "IndexController@index");
资源路由
实例
后台拥有很多模块,用户模块、管理模块(增、删、查、改)
Route::get('user/index', 'UserController@index');
Route::get('user/add', 'UserController@add');
Route::get('user/edit', 'UserController@edit');
Route::post('user/insert', 'UserController@insert');
Route::post('user/update', 'UserController@update');
Route::get('user/delete', 'UserController@delete');
资源路由
Route::resource('Admin','IndexController');
带参数的路由
1 带参数的路由
Route::get('user/del/{id}',function($id){
echo $id;
});
2 带多个参数的路由
Route::get('userInfo/{name}/{sex}', function($name, $sex){
echo $name;
echo $sex;
});
3 设置路由默认值
//设置路由的默认值
Route::get('user/edit/{id?}', function($id="默认值"){
echo $id;
});
4 带参数访问到控制器
//带参数访问控制器
Route::get('userInfo/{name}/{sex}',"IndexController@UserInfo");
//带参数访问控制器Demo
public function UserInfo($a, $b){
var_dump($a);
var_dump($b);
}
命名路由
Route::get('abc', 'IndexController@abc')->name('one');
# 获取别名的url地址
route('one');
#通过命名路由实现重定向
return redirect()->route('one');
路由组
中间件
命名空间
/*
* 路由组 -- 后台
*/
Route::group(['namespace'=>'Admin'], function(){
Route::get('admin', 'IndexController@index');
Route::get('admin/user', 'UserController@index');
Route::get('admin/goods', 'GoodsController@index');
});
/*
* 路由组 -- 前台
*/
Route::group(['namespace'=>'Home'], function(){
Route::get('/', 'IndexController@index');
});
发表回复