2012-11-28 3 views
0

사용자가 시스템 폴더의 이름을 변경할 수있게했습니다. 또한 클래스에 네임 스페이스를 사용합니다. 시스템 폴더의 이름이 전역 상수에 보관됩니다.PHP 네임 스페이스 및 유연한 폴더 구조

자동 로딩은 네임 스페이스를 기반으로 파일을 검색합니다.

그래서, 나는이라는 폴더 시스템과 클래스가 있다고 가정 해 봅시다 : 프로젝트 이름 \ 시스템 \ 뭔가 \

을;

사용자가이 폴더를 "something_else"로 변경합니다. 네임 스페이스가 폴더 구조와 일치하지 않으며 클래스가로드되지 않습니다.

이것을 방지 할 수있는 방법이 있습니까? 아마도 네임 스페이스의 이름에서 상수를 사용하고 있을까요?

그리고 다른 하나의 질문 :

가 자동으로 적재 클래스는 항상 그 이름의 시작 부분에 "\"를해야합니까? 클래스가 일부 관련 네임 스페이스에 속하더라도?

답변

3

는 사용자가 변경 폴더 이름이나 라이브러리가 작동하지 않을 수 없음을 알려, 그들

라이브러리는 PSR-0 (또는 다른)의 네임 스키마에 의존하는 경우하지 마십시오.

폴더 이름이 변경되면 문제를 해결할 수 있지만 해결할 문제는 아닙니다.