什么是控制器?

2025年3月17日 | 阅读 3 分钟

Laravel 控制器是 Laravel 框架中的一个重要特性。最初,我们在路由文件中以闭包的形式处理请求逻辑;现在,我们使用控制器类来代替在路由文件中使用闭包。控制器用于在单个类中处理请求逻辑,并且控制器定义在 "app/http/Controllers" 目录中。Laravel 框架遵循 MVC (模型-视图-控制器) 架构,其中控制器充当在模型和视图之间来回传递流量的角色。

控制器的默认文件位于 app/http/Controllers 目录中。

在上面的代码中,使用了命名空间,因为它允许您在同一应用程序的不同部分使用相同的函数名称和类。例如,

假设我们要运行名为 RunQuery() 的函数。它们位于不同的目录 functions1functions2 中,因此我们可以说命名空间避免了相同函数名称之间的冲突。

'use' 用于将类导入到当前文件中。

让我们看看如何通过 Git Bash 窗口创建控制器。

步骤 1: 打开 Git Bash 窗口并在 Git Bash 窗口中输入命令 "php artisan make:Controller PostsController" 以创建控制器。

Laravel Controllers

上图显示已成功创建名为 PostsController 的控制器。

步骤 2: 现在转到您的项目,看看是否创建了 PostsController 文件。文件的路径是

C:\xampp\htdocs\laravelproject\app\Http\Controllers

Laravel Controllers

上图显示已创建 PostsController 文件。

PostsController.php 文件的默认代码如下所示

上面的代码包含扩展 Controller 类的类,但是这个类不包含 create、update 或 delete 等函数。现在我们将看到如何创建包含一些默认功能的控制器。

要创建控制器,我们首先要从项目中删除我们在上一步中创建的 PostsController.php

输入命令

php artisan make:controller -resource PostController,此命令用于创建控制器。

Laravel Controllers

现在,转到您的项目,看看是否创建了 PostController 文件。文件的路径将是

C:\xampp\htdocs\laravelproject\app\Http\Controllers

Laravel Controllers

上图显示 PostController 文件已成功创建。

PostController.php 文件的默认代码如下所示

上面的代码包含用于对资源执行各种操作的函数,例如

create(): 用于创建新资源。

store(): 用于存储指定的资源。

update(): 用于更新存储中指定的资源。

destroy(): 用于从存储中删除指定的资源。