【问题标题】:How to use standard php package in Laravel? I try to import it but it can't be found?如何在 Laravel 中使用标准的 php 包?我尝试导入它但找不到它?
【发布时间】:2019-05-11 19:17:17
【问题描述】:

我安装了这个 Json 验证包:

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

它只是一个安装到 vendor/justinrainbow/json-schema 中的 PHP 包。 如果需要查看,它的 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 一起安装并且在 vendor 文件夹中。

如何访问它以便我可以运行它在其 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']);
    }
}

【问题讨论】:

    标签: php laravel composer-php


    【解决方案1】:

    这样做就可以了:

    use JsonSchema\Validator as JsonValidator;
    

    在方法中:

    $validator = new JsonValidator;
    

    【讨论】:

    • 你也可以使用new \JsonSchema\Validator();
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 2015-04-05
    • 2016-05-31
    • 1970-01-01
    相关资源
    最近更新 更多