美文网首页
laravel(三)控制器

laravel(三)控制器

作者: mafa1993 | 来源:发表于2020-11-15 10:57 被阅读0次

    控制器

    1. 创建自定义路由文件,routes->controller.php路由,然后在app->providers的routes provider里面添加(ctrl alt c 复制文件路径)
    2. http->controllers -> controller.php 控制器
    //访问controllr会调用Controller控制器的 index方法
    Route::get('controller','Controller@index')
    
    //多模块在控制器名前增加命名空间
    //控制器本质是通过命名空间访问的,默认思app/http/controllers
    Route::get('admin','Admin\TestController@index')
    
    //路由组命名空间
    Route::namespace('Admin')->group(function(){
        Route::get('admin','TestController@index');
    })
    
    1. 创建控制器 php artisan make:controller 控制器名, 如果带有多模块,需要增加目录 php artisan make:controller Admin/SeconController
    2. 使用同命名空间下的类,不需要使用use引入命名空间
    3. 控制期内使用return会打印到界面上

    单控制器

    1. php artisan make:controller ShowProfile --invokable
      • 控制器内会自动创建一个__invoke魔术方法,当以函数方式调用对象时,会被执行。可以使用controller@__invoke访问
      • 特点: 只写控制器名不写放方法名,会自动调用__invoke
      • 原理,路由默认的第二个参数为回调函数,如果只写控制器名则为调用一个此名称的函数,则将控制器类当做函数进行了调用

    资源控制器

    1. php artisan make:controller Resource --resource
      • 会自动创建update store show等方法
    2. 使用资源路由进行调度
    Route::resource('resource','Resource'); //可以访问到resource控制器的index方法,GET的请求方式,POST方式会访问store方式  put访问update等
    
    1. translate翻译插件 选中 ctrl+shift+y进行翻译
    2. php artisan route:list 查看所有路由

    控制器中间件

    1. 路由器中间件 route::get()->middlewar();
    2. __construct(){$this->middleware('first');}需要在构造方法中调用
    3. $this->middleware()->only(‘test’);只允许确定的方法中使用,只在访问test时使用
    4. $this->middleware()->except('index'); 除了index方法都使用

    相关文章

      网友评论

          本文标题:laravel(三)控制器

          本文链接:https://www.haomeiwen.com/subject/jhknbktx.html