2013-04-27 2 views
0

"Xedef"이라는 하나의 앱만있는 Symfony 2.2 프로젝트가 있습니다. 그 응용 프로그램 폴더 안에, 어떤 클래스가 들어있는 Model 디렉토리를 만들었습니다. 난 그냥 같은 네임 스페이스를 선언으로 그 클래스에 대한 네임 스페이스를 정의 할 수 있습니다 기대했다 : 네임 스페이스가 "사용"에 의해 단지의 말을하자,Symfony 2.2에 클래스가 없습니다.

namespace Xedef\Model; 

class MyClass 
{ 
    // ... 
} 

그리고 그들을 사용 내 CONTROLER을 같은 :

use Xedef\Model\MyClass; 

class HomeController extends Controller 
{ 
    public function welcomeAction() 
    { 
     $myObj = new MyClass(); 
    } 
} 

하지만 나는 운이 없었습니다. 그 결과 다음 오류가 발생합니다.

FatalErrorException: Error: Class 'Xedef\Model\MyClass' not found in /gitRepo/XedefApp/src/Xedef/MainBundle/Controller/HomeController.php

이상하게도 Sf 2.1에서이 똑같은 작업을 수행했지만 아무런 문제가 없었습니다. 2.2에서 뭔가 바뀌 었습니까?

+1

모델 클래스는 어디에 있습니까? 'app' 디렉토리에서 ...'src' 디렉토리 아래에있을 경우에만 자동로드됩니다. – 1ed

답변

1

클래스를 자동로드하려면 src 또는 vendor 디렉토리에 배치해야합니다. 다른 디렉토리의 클래스를 자동로드하려면 composer.json 파일을 편집 할 수도 있습니다.

{ 
    ... 
    "autoload": { 
     "psr-0": { 
      ... 
      "Xedef": "path/to/Xedef" 
     } 
    } 
} 
관련 문제