我正在使用PHP 7.1
,并且试图运行以下软件包BladeOne。
在我的php文件中,我有以下代码:
<?php
require "vendor/autoload.php";
use eftec\bladeone;
$views = __DIR__ . '/views';
$cache = __DIR__ . '/cache';
define("BLADEONE_MODE", 1); // (optional) 1=forced (test),2=run fast (production), 0=automatic, default value.
$blade = new bladeone\BladeOne($views,$cache); // HERE I GET AN ERROR
我收到以下错误:
Fatal error: Uncaught Error: Class 'eftec\bladeone\BladeOne' not found in /home/ubuntu/workspace/blade-autoload.php:9
Stack trace:
#0 {main}
thrown in /home/ubuntu/workspace/blade-autoload.php on line 9
我的composer.json文件如下所示:
{
"name": "blade-one",
"authors": [{
"name": "test",
"email": "test@test.com"
}],
"require": {
"eftec/bladeone": "^3.0"
}
}
我使用composer update
和composer dump-autoload
安装软件包,然后重新生成自动加载文件。但是,这不起作用。
有人建议我在做什么错吗?
感谢您的答复!
答案 0 :(得分:2)
看v3.0中的自动加载器定义:https://github.com/EFTEC/BladeOne/blob/3.0/composer.json-这看起来是错误的,它只是eftec\\
,应该是eftec\\bladeone\\
。似乎已在当前master
中修复。
此问题看起来很相关:https://github.com/EFTEC/BladeOne/issues/26
历史表明他有些挣扎:https://github.com/EFTEC/BladeOne/commits/master/composer.json
因此,您应确保获得固定/最新版本。