Laravel基础之Controllers
发布日期:2021-05-28 16:19:20 浏览次数:21 分类:精选文章

本文共 1100 字,大约阅读时间需要 3 分钟。

1.简介

使用Controller类来组织应用请求处理逻辑比将所有逻辑定义为路由文件中的Closures更为合理。Controller允许开发者将相关的请求处理代码分组为一个类,存储在app / Http / Controllers目录中。

2.控制器基础

2.1 定义控制器

下面是一个基本控制器类的示例,注意控制器扩展了Laravel附加的基本Controller类。基类提供了一些便利方法,例如用于附加中间件的方法。

此外,可以像下面样例中定义路由:

namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Models\User;
class UserController extends Controller
{
/**
* 展示指定用户的个人资料页面
* @param int $id
* @return \Illuminate\View\View
*/
public function show($id)
{
return view('user.profile', ['user' => User::findOrFail($id)]);
}
}

2.2 控制器的Action方法

在Controller类中定义的方法称为Action,可以用于处理Web请求。例如:

public function index()
{
return view('admin.dashboard', ['message' => '欢迎来到控制台']);
}

2.3 中间件处理

Action方法中也可以添加中间件。通过$this->middleware()方法可以链式调用中间件。

public function profile($id)
{
$this->middleware('auth')->handle();
return view('user.profile', ['user' => User::findOrFail($id)]);
}

2.4 路由定义

控制器的方法可以用路由直接声明:

Route::get('user/{id}/profile', [UserController::class, 'show']);

3. 其他

通过Controller类可以更好地组织应用逻辑,将请求处理和业务逻辑封装在一起,使代码更易维护和扩展。同时,合理使用中间件可以提升应用安全性和性能。

上一篇:Laravel基础之HTTP Requests
下一篇:Laravel基础之CSRF保护

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月29日 20时48分51秒