Laravel Nova工具不适用于Class not found错误

时间:2019-05-03 15:44:30

标签: php laravel laravel-5 laravel-nova

我正在使用laravel nova创建工具。

我先运行了此命令,

php artisan nova:tool mytools/cachier

然后在我的mai应用程序目录App \ Providers \ NovaServiceProvider中添加

use Mytools\Cachier\Cachier;

public function tools()
    {
        return [
            new Cachier(),
        ];

    }

这是我的工具作曲家json

{
    "name": "mytools/cachier",
    "description": "A Laravel Nova tool.",
    "keywords": [
        "laravel",
        "nova"
    ],
    "license": "MIT",
    "require": {
        "php": ">=7.1.0"
    },
    "autoload": {
        "psr-4": {
            "Mytools\\Cachier\\": "src/"
        }
    },
    "extra": {
        "laravel": {
            "providers": [
                "Mytools\\Cachier\\ToolServiceProvider"
            ]
        }
    },
    "config": {
        "sort-packages": true
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

但是现在当我尝试访问应用程序时,出现此错误。

  

Symfony \组件\调试\异常\ FatalThrowableError   (E_ERROR)找不到“ Mytools \ Cachier \ Cachier”类

如果有人可以提供帮助,那就太好了:'(

2 个答案:

答案 0 :(得分:0)

检查您导入的namespace

use Mytools\Cachier\Cachier; // <----

public function tools()
    {
        return [
            new Cachier(),
        ];

    }

我认为应该是:

use Mytools\Cachier; // <----

// ...

PS:另外,请检查类中定义的namespace与之匹配。

答案 1 :(得分:0)

对于任何使用此工具的人(或者您尚未弄清OP的人),我都会遇到这个问题,因为在生成工具时我没有运行composer或npm命令。从项目根目录尝试composer update mytools/cachier