我在最后一天一直在努力让 Symfony Yaml解析器在我的应用程序中工作。
我的composer.json
看起来像这样;
{
"require": {
"symfony/class-loader": "2.4.*@dev",
"symfony/yaml": "2.4.*@dev",
"facebook/php-sdk": "dev-master"
},
"autoload": {
"psr-0": {
"MyApp": "src/"
}
}
我在我的应用程序中使用它:
use Symfony\Component\Yaml\Parser;
$parser = new Parser();
var_dump( $parser->parse( file_get_contents('config.yml') ) );
然后我收到此错误:
(!)致命错误:第16行的/Projects/my-app/web/index.php中找不到类'Symfony \ Component \ Yaml \ Yaml'
UniversalClassLoader(来自"symfony/class-loader"
)工作得很好,当我检查加载了哪些命名空间时,Symfony\Component\Yaml
是数组中的第一个。
我的IDE(PHPStorm)在类名下面给出了一条波浪线,“存在多个定义”。一个是进入真正的供应商文件夹,另一个是指composer.phar
文件中的文件(只读)。
有谁知道我做错了什么?
答案 0 :(得分:6)
显示您的引导代码。特别是在创建自动加载器的地方。
通常,您应该使用作曲家生成的自动加载文件而不是S2文件。
这有效:
require_once __DIR__ . '/../vendor/autoload.php';
use Symfony\Component\Yaml\Parser;
$parser = new Parser();
var_dump( $parser->parse( file_get_contents('config.yml') ) );