2013-01-19 3 views
0

안녕하세요!심포니 자동 로딩 구조

오토로더를 사용하여 symfony2.1.6에서 맞춤 클래스에 액세스 할 때 약간의 문제가 있습니다. 내가해야 할 일은 DefaultController에서 Mangress/src/Qkprod/Classes/api/APIEntry.php 클래스에 액세스하는 것입니다. 분명히 나는 ​​그렇게하기 위해 autoload.php을 확장하는 방법을 찾기에는 너무 어리 석다.

 
Mangress 
-app 
-src 
    -Qkprod 
     -MangressBundle 
     -Controller, Entity, Resources, Tests 
     -Classes 
     -api 
      -APIEntry.php 
     -db 
     -security 
    -QkprodMangressBundle.php 
-vendor 
-web 
는 클래스 폴더가 모두 포함 : 지금은 다음과 같이

내 파일 구조가 보인다 ... 내가 더 이상 무엇을 더 이상 를 모르는 많은 블로그 게시물과 솔루션을 읽는 을왔다 지점에서 오전 지금까지 내가 쓴 수업들.

지금까지 읽어 I합니다 (Mangress/응용 프로그램/autoload.php
Autoloading a class in Symfony 2.1

$ loader-> 추가에로드 클래스의 네임 스페이스를 등록 할 필요가 있었다 무엇을 'Qkprod \ MangressBundle \ api', DIR '/ ../src/Qkprod/MangressBundle/Classes/api /'); 이것은 잘못된 것 같습니다.

Symfony의 이름이나 이해에 문제가 있습니까? 내가 자동 로더 에 네임 스페이스를 "Qkprod \ MangressBundle \ API를"을 등록 그래서 심포니는 볼 위치를 알고 때

사용 Qkprod \ MangressBundle \ API \ APIEntry;

그래서 내 Mangress/SRC/Qkprod/MangressBundle/클래스/API에서보고있다 폴더 내가 잘못입니까?

은 정말 몇 가지 지침 :

답변

1

감사하겠습니다 왜 사용하지 않는 심포니 개발자가 권장하는 directory structure?

symfony 개발자조차도이 구조체는 PSR-0이라고하며 많은 PHP 프레임 워크에서 채택되었습니다.

규칙을 따르는 경우 기본 자동 로더가 클래스를 잘로드하므로 다른 개발자는 코드를 더 쉽게 이해할 수 있습니다.

는 그냥 "클래스"디렉토리를 제거하고 수준 위로 그것에서 모든 이동 :

Mangress 
-app 
-src 
    -Qkprod 
     -MangressBundle 
     -Controller, Entity, Resources, Tests 
     -Api 
      -APIEntry.php 
     -Db 
     -security 
     -QkprodMangressBundle.php 
-vendor 
-web 

이 방법을 당신이 어디를보고 알 수

use Qkprod\MangressBundle\Api\APIEntry 

을 쓸 때.

+0

감사합니다. 내가 왜 물어보고 싶은지 그 이유는 내가해야 할 일과하지 말아야 할 일에 대해 다소 혼란 스러웠 기 때문입니다. 또한이 규칙을 완전히 놓쳤습니다. 그게 마침내 정말로 지금 일하고 있습니다. 나는 당신의 참고 문헌을 자세히 살펴볼 것입니다. 고마워요!이제 프로그래밍을 시작할 수 있습니다.) –