控制器用于将相关的 HTTP 请求封装到一个类中进行处理,这些控制器类存放在 app/Http/Controllers
目录下
所有的 Laravel 控制器应该继承自 Laravel 自带的控制器基类 AppHttpControllersController
(基类控制器提供了很多便捷的方法供子类使用,比如 middleware
等),我们为该控制器添加一个 show
方法:
<?php namespace AppHttpControllers; use AppUser; use IlluminateHttpRequest; class UserController extends Controller { /** * 为指定用户显示详情 * * @param int $id * @return Response * @author LaravelAcademy.org */ public function show($id) { return view('user.profile', ['user' => User::findOrFail($id)]); } }
定义指向该控制器动作的路由:
Route::get('user/{id}', 'UserController@show');
命名规则观察 appHttpControllersAuth 下的文件命名规则
大驼峰的控制器名 + Controller.php
创建控制器
注意:其控制器基础结构代码,不需要自己去手动编写,可以通过 artisan 命名行来自动生成
php artisan make:controller 控制器名+Controller关键字
控制器路由
如何使用路由规则调用控制器下的方法,而不再走回调函数
路由设置格式相同,只是将匿名函数换成 控制器类名@方法名
Route::请求方法(路由表达式@方法);