zoukankan      html  css  js  c++  java
  • laravel

    1》 创建控制器 PHP artisan make:controller UserController
    资源控制器 php artisan make::controller PostController --resource 创建控制器对应的资源控制器 Route::resource('post', 'PostController'); 绑定资源服务器
    2》单动作控制器,在控制器中,定义__invoke 方法。调用对象时,自动调用
    3》 控制器中使用中间件
    __contruct() 方法中,添加 $this->middleware('token')->only(['show','index']);
     
     
    功能剖析
    1 路由中,采用匿名函数(闭包)定义映射关系,并采用return 返回数据信息【而非echo等】
    2 路由动作,采用post,get,put 等 ,针对安全设置,避免使用any(),而采用
    ::match(['get','post'],'/',function(){}); 定义支持的动作。
    3 采用Controller@index 的模式,在控制器中设置内容
    4 路由参数:::get('page/{id}',function($id){})->where(‘id','[0-9]+'); 并用where 进行类型正则约束
    4-1 可选参数:get('page/{name?}',function(){}) 可选参数设置
    5 命名路由: ::get('page',function(){})->name('user.profile') 使用name简化命名路由
    使用route('user.profile') 获取定义的路由
    【在实际开发过程中,推荐使用路由命名来引用路由。】
    6 路由分组 Route::middleware(['filrst','second'])->group(function(){});
    命名空间 Route::namespace('Admin')->group(function(){});
    路由前缀 Route::prefix('admin')->group(function(){});
     
    进阶:
    路由模型绑定
    1)隐式绑定
    将路由参数命名为可以唯一标识对应资源模型的字符串
    如:Route::get('task/{task}', function (AppModelsTask $task) {
    2)显式绑定
    显式绑定需要手动配置路由模型绑定。
    需要在 AppProvidersRouteServiceProvider 的 boot() 方法中新增如
    // 显式路由模型绑定
    Route::model('task_model', Task::class);
    parent::boot();
    3)兜底路由 【5.6版本】
    Route::fallback(function () {
    return '我是最后的屏障';
    频率限制
    1)使用限制中间件。【一分钟能只能访问路由60 次】
    Route::middleware('throttle:60,1')->group(function () {
    Route::get('/user', function () {});
    });
    2)动态设置限制值
    Route::middleware('throttle:rate_limit,1')->group(function () {
    不同的模型类设置不同的 rate_limit 属性值来达到动态设置频率限制的效果
     
    路由缓存
    php artisan route:cache 生成路由缓存
    php artisan route:clear 删除路由缓存
     
    路由基础规则
    路由
    【响应指定路由】
    Route::match(['get','post'],'multy',function(){
    return 'multy';
    });
    【响应任何路由请求方式】
    Route::any('multy1',function(){
    return 'multy1';
    });
    【路由参数及默认值】
    Route::get('user/{id?}',function($id=2){
    return $id;
    });
    【扩展正则表达式】
    Route::get('user/{name?}',function($name='sien'){
    return $name;
    })->where('name','[A-Za-z]+');
    【路由别名】
    Route::get('basic',['as'=>'basic',function(){
    return 'basic';
    }]
    );
    【路由展示视图】
    Route::get('/', function () {
    return view('welcome');
    });
     
    laravel 5.5 中,重写资源路由

  • 相关阅读:
    帆软报表实现全选全不选的功能
    knowledge_others
    skills_kafka
    skills_operation
    problems_others
    skills_windows
    c语言标识符
    快速排序法
    字符串处理scanf("%d%*c",&n);
    Byte.parseByte(String s,int radix)的解释
  • 原文地址:https://www.cnblogs.com/sien6/p/13798318.html
Copyright © 2011-2022 走看看