2013-10-11 3 views
1

나는 천천히 작곡가로 변환 중이며 새로운 데이터베이스 레이어를 쓰고 있습니다. 이 데이터베이스 계층은 PSR-0과 호환됩니다. 응용 프로그램은 백 엔드와 프런트 엔드로 분리되어 있으며 DB 레이어에 대한 공통 클래스를 작성하여 DRY가 더 많습니다. 프런트 엔드 프로젝트 내 composer.json에서작곡가 psr-0 오토로더 및 심볼 링크

나는이 있습니다 _classes에서 회사 이름의 폴더가 실제로 백 엔드 프로젝트에서 유사한 폴더에 심볼릭 링크

"autoload": { 
     "psr-0": { 
      "CompanyName": "_classes/" 
     } 
    } 

.

이로 인해 자동 로딩이 실패합니다. 이

"autoload": { 
     "psr-0": { 
      "CompanyName": "../otherProject/_classes/" 
     } 
    } 

을했지만이 프로젝트 _classes 폴더에 심볼릭 링크를 넣을 때 실패했을 때

그것은 완벽했다.

다른 프로젝트의 웹 폴더 이름을 composer.json에 하드 코딩하고 싶지 않기 때문에 심볼릭 링크가 필요합니다. 이제 다른 폴더 이름을 가진 두 버전 모두를 테스트 할 수 있습니다.

+0

데이터베이스 레이어가 두 번 사용되는 별개의 라이브러리가 아니어야합니까? 그렇다면 자동 로딩 문제가 없을 것입니다. – Sven

+0

나는 지금 구 시스템의 제약 속에서 일하고있다. 결국 그것은 완벽 할 것이지만 한 번에 한 가지. –

답변

1

문제는 내 심볼릭 링크가 상대적인 것이므로 문제가 제대로 발생하지 않았습니다. 전체 경로를 사용하여 링크를 다시 만들었습니다.

ln -sf /web/otherProject/_classes/CompanyName /web/project/_classes/CompanyName 

이제는 문제가 없습니다.

+0

안녕하세요! 고맙습니다, 저의 구성으로 찾은 유일한 사람입니다, 아마도 당신은 저를 도울 수 있습니다 :) 또한 심볼 링크를 만들었지 만,'composer update -o'를 실행할 때 Composer는 클래스 폴더를 이해하지 못합니다. 아이디어가 있습니까? 제발 .. –