2017-04-16 3 views
0

렉스와 심포니 구성 요소와 간단한 사이트를 구축 할 때, 나는 FormServiceProvider 서비스를 설치 한 후 다음과 같은 오류가 나타날 수네임 스페이스에서 "심포니 구성 요소 구성 백분율을"클래스 "XmlUtils"를로드하려고

을 ClassNotFoundException XliffFileLoader.php 라인 54 :

네임 스페이스 "Symfony \ Component \ Config \ Util"에서 "XmlUtils"클래스를로드하려고 시도했습니다. 다른 네임 스페이스에 "사용"문을 잊어 버렸습니까?

템플릿은 여기에 있습니다 :

https://silex.sensiolabs.org/doc/2.0/providers/form.html

내가이 이야기 대부분의 다른 질문의 수를 읽었습니다 :

{% 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 %} 

내가 여기 설치 방향에 따라 전역 네임 스페이스 식별자 (로컬 네임 스페이스를 상속하는 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()); 

마지막으로 두 사람은 것으로 제안 된 사람들은 여기에 문제가 아니지만, 여기 세 가지 중 두 가지를 포함 하나입니다 원인은 구성 오류에 기인합니다.

이 상황에서이 오류가 어떻게 해결 되었습니까?

답변

2

이 문제의 해결책은 지정된 파일을보고 암시한다 :

private function extract($resource, MessageCatalogue $catalogue, $domain) 
{ 
    try { 
     $dom = XmlUtils::loadFile($resource); 
    } catch (\InvalidArgumentException $e) { 
     throw new InvalidResourceException(sprintf('Unable to load "%s": %s', $resource, $e->getMessage()), $e->getCode(), $e); 
    } 

라인 (54) $dom로 시작하는 네 번째 줄입니다. PhpStorm은 다음 두 가지 use 문 아무것도 참조하지 않은 것으로 나타났다 : 그게 symfony/config 구성 요소로 이어지는, 어디에서 왔는지 궁금해 나를 인도

use Symfony\Component\Config\Util\XmlUtils; 
use Symfony\Component\Config\Resource\FileResource; 

. 나는 다시 렉스 FormServiceProvider 문서에 가서이 줄을 실행 기억 :

composer require symfony/validator symfony/config 

참고 목록에서 두 번째. 내가 그것을 입력하는 것을 잊었거나 (내가 회상 한 바대로) 을 타이핑했고 설치하지 않았다. 어쩌면 그것은 실수를 저질렀고 그것을 잡지 못했을까요? 나는 모른다. 그러나 Symfony 구성 요소를 사용하는 프로젝트에서이 오류가 발생하는 경우 구성 구성 요소가 설치되어 있는지 확인하십시오.