当前位置:首页 >> laravel

Laravel框架之基础控制器介绍与使用

  • laravel
  • 2019-09-29 09:13:10
  • 人已阅读
简介Laravel框架之基础控制器介绍与使用,知识点:1 控制器的功能;2 定义控制器;3 访问控制器;4 单行为控制器;5 依赖注入

知识点

1.控制器的功能 2.定义控制器 3.访问控制器 4.单行为控制器 5.依赖注入


1.控制器的功能

  • url请求最终将会被定位到一个函数/方法

  • 路由目标中的闭包,完全可以用控制器中的方法替换

  • 控制器是一个特殊的类,可以有很多的方法,极大的扩展了路由的功能

  • 明确: 控制器并不是必须的,其功能完全可以用路由闭包来解决

  • 总结: 控制器拥有比闭包更加强大的业务处理能力


2.定义控制器

  • 参考示例: app/Http/Controllers/Controller.php

  • 命名空间:app/Http/Controllers, 与目录路径完全一致

  • 可以创建模块目录,来管理多个功能类似的控制器类,例如:admin admin/IndexController.php, admin/AddController.php

  • 可继承控制器基类: AppHttpControllersController


3.访问控制器

  • 必须针对控制器中的方法创建路由,才可以进行访问

  • 路由表达式与路由地址,必须与该方法在控制器类中的声明完全一致

  • Route::get('index/index/{course?}','adminIndex@index');

  • 控制名可以使用Controller做后缀,会更加直观


4.单行为控制器

  • 如果业务极其简单,可以使用单行为控制器

  • 即直接将控制器类当成方法进行调用

  • 类内部是通过魔术方法: __invoke()实现


5.依赖注入

  • Laravel使用容器技术来管理应用的所有依赖对象

  • 依赖注入可以有效的解决多个对象调用之间的代码耦合问题

  • 将当前方法依赖的外部对象,通过参数的方式注入到当前应用中

  • 依赖注入点:

    • 构造方法: 注入对象可被类中其它方法所共享

    • 普通方法: 注入对象仅限当前方法使用


展示源码

1.控制器定义

$course]);
    }
}

2.对应模板文件:

  • 制作对应的视图模板: resources/views/admin/index/index.blade.php

我在php中文网学习 {{ $course }} 

3.单一行为控制器:

单行为控制器执行结果';
    }
}

4.Index.php控制器完整源码

$course]);
    }

    protected $request = null;
    // 构造方法注入
    public function __construct(Request $request)
    {
        $this->request = $request;
        var_dump($this->request);
        dump($this->request);
    }

    public function show(Request $request)
    {
        dump('show(): ',$request);
    }
}

5. 路由文件: web.php

        
Top