📜  控制器 laravel 中应用程序目录的路径 - PHP (1)

📅  最后修改于: 2023-12-03 15:25:56.409000             🧑  作者: Mango

控制器 Laravel 中应用程序目录的路径

在 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 访问。