2012-11-02 2 views
1

나는 앱 번들 밖의 다른 프로젝트에서 사용할 코드를 넣고 싶습니다. 난 벤더 폴더에 새 폴더에 넣어하지만 프로젝트에 포함되지 않을 수 있습니다. 어떤 단계입니까?Symfony 2.1 자체 공급 업체 라이브러리

  • 나는 내 프로젝트에 포함하려면 어떻게 폴더 및 네임 스페이스
  • 의 특별한 구조를 따라야합니다.

Google에서 모호한 답변을 많이 발견했습니다. 나는 또한 this을 시도했지만 작동하지 않았습니다.

답변

2

라이브러리를로드해야합니다. 작곡가에게 라이브러리를 찾을 위치를 알려줌으로써이를 수행합니다.

가장 좋은 방법은이 소스 코드에 대한 git 저장소를 설정 한 다음 작성자를 사용하여 최신 버전으로 유지하고 자동 로더에 포함시키는 것입니다. 이 작업을 수행하려면 작곡가에게 익숙해 져야 할 수도 있지만, 작곡가가 PHP 용 기본 종속성 관리 도구를 얻는 동안 시간을 ​​낭비하지 않아도됩니다. 여기에서 문서를 찾을 수 있습니다 : http://getcomposer.org/doc/

이 작업을 원하지 않으면 작성자에게 새 src 코드 폴더를 추가 할 수 있습니다. 이제 귀하의 폴더 구조는 다음과 같이 말한다 보자

symfony2/ 공급 업체 /를 MyClass.php가 있어야한다

먼저 yourlibrary/ 즐/ BluB 효소/ MyClass.php, 네임 스페이스 쏴/BluB 효소 정의. 그렇지 그럼 당신은 composer.json 파일에 다음과 같이 라이브러리를 추가 할 수 있습니다 : 당신이 그것을 덮어 쓸 필요가 있도록 이미 자동로드 정의가

"autoload": { 
    "psr-0": { 
     "": "src/", 
     "Bla": "vendor/yourlibrary/" 
    } 
} 

을!

라이브러리에 네임 스페이스가없는 경우 그럼에도 불구하고로드 할 수 있도록 작성기를 정의 할 수 있습니다. 나는이 문서를 사용하지 않으므로 읽을 수있는 문서를 연결할 수 있습니다 : http://getcomposer.org/doc/04-schema.md#autoload

+0

composer.json을 수정 한 후에 명령 스크립트를 호출해야합니까? 다른 스크립트를 수정해야합니까? (나는 autoload.php 또는 autoloader.php의 존재에 대해서도 혼란 스럽다.) – catalinux

+0

autoload.php를 업데이트 할'composer.phar install'을 실행해야합니다. vendors 폴더에는 단 하나의 autoload.php 파일 만 있어야합니다. – Sgoettschkes

관련 문제