【发布时间】:2017-04-16 14:13:11
【问题描述】:
在使用 Silex 和 Symfony 组件构建简单站点时,我在安装 FormServiceProvider 服务后收到以下错误:
XliffFileLoader.php 第 54 行中的 ClassNotFoundException:
尝试从命名空间“Symfony\Component\Config\Util”加载类“XmlUtils”。 您是否忘记了另一个命名空间的“使用”语句?
模板在这里:
{% extends 'base.html.twig' %}
{% block body %}
<h1>{{ page.title }}</h1>
<p>By {{ page.author }}, published on {{ page.publishedAt|date('m/d/Y') }}</p>
<pre>{{ page.content }}</pre>
<hr/>
{{ form_start(form) }}
{{ form_body(form) }}
{{ form_end(form) }}
{% endblock %}
我按照这里的安装说明进行操作:
https://silex.sensiolabs.org/doc/2.0/providers/form.html
我已经阅读了许多其他问题,其中大部分是关于缺少全局名称空间标识符(\DomDocument 而不是继承本地名称空间的DomDocument),或者没有安装php-xml,或者缺少配置。这些不是这里的问题,但这里有一个涵盖这三个中的两个:
Symfony app_dev.php install \DOMDomain error
这里是配置调用:
$this->app->register(new ServiceControllerServiceProvider());
$this->app->register(new LocaleServiceProvider());
$this->app->register(new TranslationServiceProvider(), [
'locale_fallbacks' => ['en'],
'translator.messages' => [],
'translator.domains' => [],
]);
$this->app->register(new AssetServiceProvider());
$this->app->register(new TwigServiceProvider(), [
'twig.path' => self::TEMPLATE_DIR
]);
$this->app->register(new FormServiceProvider());
$this->app->register(new MonologServiceProvider());
$this->app->register(new HttpFragmentServiceProvider());
最后两个是根据配置错误被建议为罪魁祸首的。
在这种情况下如何解决此错误?
【问题讨论】:
标签: symfony symfony-forms silex