使用PHP use语句时指定目录?

问题描述 投票:0回答:1

我正在开发一个旧的 Laravel 项目,在 api.php 路由文件中,有如下代码。

use App\Http\Controllers\Api;
use App\Http\Controllers\VendorApi;

Route::get('/some-route', [Api\SomeController::class, 'index']);
Route::get('/some-vendor-route', [VendorApi\SomeController::class, 'index']);

控制器的目录是:

app/
├─ Http/
│  ├─ Controllers/
│  │  ├─ Api/
│  │  │  ├─ SomeController.php
│  │  ├─ VendorApi/
│  │  │  ├─ SomeController.php

当我运行

php artisan route:list
时,即使代码仍在运行,也会抛出各种错误。像这样的错误。

目标类 [App\Http\Controllers\Api\App\Http\Controllers\Api\SomeController] 不存在。

目标类 [App\Http\Controllers\Api\App\Http\Controllers\VendorApi\SomeController] 不存在。

我尝试查找使用

use
语句时指定目录是否是有效的 PHP,但我找不到任何相关信息。 ChatGPT 说它无效。

有谁知道在 PHP 中使用

use
语句时指定目录是否有效?

php laravel routes
1个回答
0
投票

听起来您已经在加载

api.php
路由文件的路由组上定义了一个命名空间。转到您的
RouteServiceProvider
并查看加载该文件的组是否已定义命名空间。

否则,它可能是在

RouteServiceProvider
本身上定义的命名空间。

© www.soinside.com 2019 - 2024. All rights reserved.