**关闭。**这个问题是not reproducible or was caused by typos。目前不接受答复。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
23小时前关闭
Improve this question
我正在获取类[]不存在错误。
我在下面提供所有不同文件夹的代码:
api.php:
<?php
use App\Http\Controllers\Api\V1\CustomerController;
use App\Http\Controllers\Api\V1\InvoiceController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
Route::group(['prefix' => 'v1', 'namespace' => 'App\Http\Controllers\Api\V1'], function(){
Route::apiResource('customers', CustomerController::class);
Route::apiResource('invoices', InvoiceController::class);
});
CustomerController.php
<?php
namespace App\Http\Controllers\Api\V1;
use App\Models\Customer;
use App\Http\Requests\StoreCustomerRequest;
use App\Http\Requests\UpdateCustomerRequest;
use App\Http\Controllers\Controller;
class CustomerController extends Controller
{
public function index()
{
return Customer::all();
}
}
我是一个laravel的初学者,我尝试了不同的解决方案来解决这个问题,但无法解决这个问题。请让我知道是否需要任何其他文件进行验证。
1条答案
按热度按时间xjreopfe1#
问题是,当我已经有了类的FQDN(完全限定域名)时,我指定了
namespace
,所以我最终得到了\App\Http\Controllers\Api\V1\App\Http\Controllers\Api\V1\CustomerController
,而不是(例如)\App\Http\Controllers\Api\V1\CustomerController
。因此,只需从路由声明中删除namespace
,每次使用YourController::class
(记住添加use
)即可修复它。Laravel改变了Laravel 8中路由的定义方式,从
Route::xxxx('/homme', 'Controller@index')
改为Route::xxxx('/homme', [Controller::class,'index'])
。替换这个
用这个