控制器用于将相关的 HTTP 请求封装到一个类中进行处理,这些控制器类存放在 app/Http/Controllers
目录下
所有的 Laravel 控制器应该继承自 Laravel 自带的控制器基类 App\Http\Controllers\Controller
(基类控制器提供了很多便捷的方法供子类使用,比如 middleware
等),我们为该控制器添加一个 show
方法:
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
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');
命名规则观察 app\Http\Controllers\Auth 下的文件命名规则
大驼峰的控制器名 + Controller.php
创建控制器
注意:其控制器基础结构代码,不需要自己去手动编写,可以通过 artisan 命名行来自动生成
php artisan make:controller 控制器名+Controller关键字
控制器路由
如何使用路由规则调用控制器下的方法,而不再走回调函数
路由设置格式相同,只是将匿名函数换成 控制器类名@方法名
Route::请求方法(路由表达式@方法);