我希望将 symfony 的 yaml 组件添加到 Silex,但是我在添加 5.3 版本时遇到问题。添加无命名空间版本工作正常,但我宁愿从https://github.com/symfony/Yaml获得命名空间版本。这是我的服务提供商:
public function register(Application $app)
{
if (isset($app['classPath'])) {
$app['autoloader']->registerNamespace('Symfony\Component\Yaml', $app['classPath']);
}
}
但是当我这样做是代码:
use Symfony\Component\Yaml\Yaml;
Yaml::load(__DIR__ . '/../configuration/application.yml');
我收到以下错误:
致命错误:在第 20 行的 /mnt/hgfs/silex/web/index.php 中找不到类 'Symfony\Component\Yaml\Yaml'
完全正确的答案:gregoire 发表了关于注册 Symfony 命名空间的评论,而不是 Symfony\Comonent\Yaml 所以我基本上重新创建了命名空间的目录结构并将根注册到 Symfony 命名空间,效果很好。