假如我定义了以下路由 ~~~ Route::get('/','index/index/index'); ~~~ 如果需要编写控制器代码,就需要编写`/app/Http/Controllers/Index`目录下的`Index.php`控制器里的`index`方法 控制器的基本代码如下: ~~~ <?php namespace App\Http\Controllers\Index; class Index { public function index() { } } ~~~ > 控制器可以继承\App\Http\Controller 基础控制器来使用基础控制器中提供的方法,你也可以自定义基础控制器 > 可以给控制器方法传入参数,参数个数和位置取决于路由中正则匹配到的参数。 当路由中的参数为可选,就应该给控制器参数一个初始值 > 如果你继承了基础控制器,那么会有两个属性可以提供使用,$this->request,$this->app ,分别时请求对象和app对象,app对象是来管理容器中实例的,使用方法如下: ~~~ $this->app['完整类名']; ~~~ 这是会直接返回该类的实例,并且其构造方法是实现依赖注入的,如果该类是单例的,并且使用 ~~~ $this->app->has('完整类名'); ~~~ 返回true,那么,例如该类绑定的标识为request,可以直接使用$this->app->request获取容器中的实例。 > 当继承了基础控制器后不再建议使用构造函数初始化,而是使用init() 方法进行初始化。 ~~~ public function init(){} ~~~