📅  最后修改于: 2023-12-03 15:25:56.409000             🧑  作者: Mango
在 Laravel 中,控制器是用于处理 HTTP 请求的类。由于控制器将是包含在您的应用程序目录的文件中的 PHP 类文件,因此您需要知道如何查找和访问该目录。
Laravel 应用程序的目录结构基本如下:
├── app
│ ├── Console
│ ├── Exceptions
│ ├── Http
│ │ ├── Controllers
│ ├── Providers
│ └── ...
├── bootstrap
├── config
├── database
├── public
└── ...
上面的目录结构是 Laravel 8 版本的目录结构。您会注意到,在 app
目录中,有一个名为 Http
的目录,其中包含控制器。
控制器的路径是 app/Http/Controllers
,其中包含您的控制器类。在此目录中,您可以创建一个名为 UserController.php
的文件,并在其中编写包含各种动作的控制器类。
例如,以下是 UserController
的示例:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
// 显示用户列表
}
public function create()
{
// 显示创建用户表单
}
public function store(Request $request)
{
// 处理创建用户表单提交的数据
}
public function show($id)
{
// 显示特定用户的详细信息
}
public function edit($id)
{
// 显示编辑用户表单
}
public function update(Request $request, $id)
{
// 处理编辑用户表单提交的数据
}
public function destroy($id)
{
// 处理删除用户请求
}
}
该文件包含一个名为 UserController
的控制器类,其中包含多个动作。您可以通过访问 UserController
的路由来调用这些操作。
要使用控制器动作,您需要将其绑定到路由。以下是将 /users
URI 与 UserController
中的 index
方法绑定的示例:
Route::get('/users', 'App\Http\Controllers\UserController@index');
请注意,路径中不必指定 app/Http/Controllers
目录,因为在命名空间中已经存在。
Laravel 中的控制器实际上是 PHP 类,并存储在 app/Http/Controllers
目录中的文件中。您可以在此目录中创建任意数量的控制器类,并将每个类的方法视为一个路由操作,该路由操作可以通过 URI 访问。