laravel 框架路由、ajax post提交方式头部,控制器。中间件

一、路由

1.1 别名

    Route::get('/admin/user',['as'=>'au','uses'=>function(){
        //通过别名创建url
        route('别名',['参数']);
        //通过字符串创建url
        url('字符串',['参数']);
    }]);


1.2 csrf 保护
    你的应用程序不受到 跨网站请求伪造 攻击

    使用form表单创建post  
        <?php echo csrf_field(); ?> 
        {{ csrf_field() }}  推荐
    使用ajax创建post提交
        1. head头部添加: <meta name="csrf-token" content="{{ csrf_token() }}">
        2. 设置ajax 头部:
            $.ajaxSetup({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                }

            }); 

二、中间件
作用: 任务验证
1. 创建 php artisan make:middleware xxxMiddlewar
2. 编写中间件任务逻辑
// 检测session
if( request->session()->has(‘login’)){              return next($request);//通过 执行下一个请求
}else{
// 登录页面
return redirect(‘/admin/login’);
}
3. 注册中间件
E:\wamp\www\lamp_204\27_laravel\web\app\Http\Kernel.php

    添加: 'login'=>\App\Http\Middleware\LoginMiddleware::class,
4. 使用
    Route::get()->middleware('login');//对单个路由使用
    //对一组路由使用
    Route::group(['middleware'=>"login"],function(){

    });

三、控制器

2.1 创建控制器
        php artisan make:controller AbcController
2.2 指定控制器

        基本
            Route::get('/index','IndexController@index');
            Route::post('/index','IndexController@index');
        隐式
            Route::controller('/index','IndexController');
            注意:
                方法名称前面加上访问方式 get post
        资源
            Route::resource('/index','IndexController');

            由资源控制器处理的行为
            动词          路径               行为(方法) 路由名称
        =================================================================
            GET         /photos             index   photos.index
            GET         /photos/create      create  photos.create
            POST        /photos             store   photos.store
            GET         /photos/{id}        show    photos.show
            GET         /photos/{id}/edit   edit    photos.edit
            PUT/PATCH   /photos/{id}        update  photos.update
            DELETE      /photos/{id}        destroy photos.destroy

猜你喜欢

转载自blog.csdn.net/weixin_42489436/article/details/81362974
今日推荐