【发布时间】:2012-01-14 03:44:20
【问题描述】:
我希望将 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');
我收到以下错误:
致命错误:找不到类“Symfony\Component\Yaml\Yaml” /mnt/hgfs/silex/web/index.php 第 20 行
完整正确答案: gregoire 对注册 Symfony 命名空间而不是 Symfony\Comonent\Yaml 发表了评论,所以我基本上重新创建了命名空间的目录结构并将根注册到 Symfony 命名空间,效果很好。
【问题讨论】:
-
那是关于添加我已经成功实现的非命名空间版本的 Yaml。就像我说的那样,为了一致性起见,我宁愿在 Yaml 上使用命名空间版本(其他一切都是命名空间)。如果没有办法将命名空间 Yaml 包含在 silex 中,那么我想我将不得不使用旧版本。
-
你不应该注册 Symfony 命名空间(而不是 Symfony\Component\Yaml)吗?
-
@gregoire 你是对的。发布一个答案,这样我就可以将正确答案归功于您。
-
@ryanzec 您可以回答自己的问题并接受答案。