如何在Laravel中使用标准php包?我尝试导入它,但是找不到它?

时间:2019-05-11 19:17:17

标签: php laravel composer-php

我安装了这个Json Verification软件包:

https://github.com/justinrainbow/json-schema

这只是一个PHP软件包,它安装在vendor / justinrainbow / json-schema中。 如果需要调查的话,它位于composer.json:https://github.com/justinrainbow/json-schema/blob/master/composer.json

我需要在我的代码中访问它,所以我在控制器中尝试了此操作:

use JsonSchema\Validator;

当我在方法中执行此操作时:

$validator = new JsonSchema\Validator;

我收到此错误:

 Symfony\Component\Debug\Exception\FatalThrowableError  : Class 'App\Commands\JsonSchema\Validator' not found

软件包已随composer一起安装,并且位于供应商文件夹中。

如何访问它,以便可以运行它在GitHub页面上显示的一些代码:

$data = json_decode(file_get_contents('data.json'));

// Validate
$validator = new JsonSchema\Validator;
$validator->validate($data, (object)['$ref' => 'file://' . realpath('schema.json')]);

if ($validator->isValid()) {
    echo "The supplied JSON validates against the schema.\n";
} else {
    echo "JSON does not validate. Violations:\n";
    foreach ($validator->getErrors() as $error) {
        echo sprintf("[%s] %s\n", $error['property'], $error['message']);
    }
}

1 个答案:

答案 0 :(得分:0)

通过以下操作使其正常工作:

use JsonSchema\Validator as JsonValidator;

并在方法中:

$validator = new JsonValidator;