类App \\ Http \\ Controllers \\ Api \\ v1 \\ panel \\ StorageController不存在

时间:2019-11-01 18:04:55

标签: php reactjs ubuntu laravel-5 axios

我在Ubuntu中运行项目时遇到问题。我写了一个项目,它在Windows中成功运行,但是当我想在Linux中运行它时,我在“检查”的“网络”标签中遇到了下面的错误。

siteB

我使用laravel 5.8,反应js和axios

我使用此命令,但不起作用

{message: "Class App\Http\Controllers\Api\v1\panel\StorageController does not exist",…}
exception: "ReflectionException"
file: "/home/komail/projects/lara-nakband/vendor/laravel/framework/src/Illuminate/Container/Container.php"
line: 790
message: "Class App\Http\Controllers\Api\v1\panel\StorageController does not exist"

在api.php中

composer dump-autoload,
php artisan config:clear

在storageController中

<?php

use Illuminate\Http\Request;

 Route::prefix('v1')->namespace('Api\v1\panel')->group(function (){
    Route::get('/storage/list' , 'StorageController@list');
    Route::get('/storage/chart' , 'StorageController@chart');
    Route::post('/storage' , 'StorageController@storeNewProduct');
    Route::get('/categories' , 'CategoriesController@index');
});

在List.jsx中

<?php

namespace App\Http\Controllers\Api\v1\Panel;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Storage;
use Illuminate\Support\Facades\DB;

class StorageController extends Controller
{

    public function list(Request $request)
    {
        dd('ssss');
        $products = Storage::get();
        return $products;
    }

虽然代码在Windows中运行时没有任何错误,但是当我在Linux中调用控制器时,似乎没有有效的答案。实际上,会出现一条消息,说明:控制器不存在。

1 个答案:

答案 0 :(得分:0)

命名空间区分大小写。更改

Route::prefix('v1')->namespace('Api\v1\panel')->group(function (){

以大写字母“ P”匹配控制器中的名称空间

Route::prefix('v1')->namespace('Api\v1\Panel')->group(function (){

反之亦然。

您可以阅读有关命名空间要求here的信息。