2011-10-11 2 views
4

우리는 플러그인이있는 PHP 프로젝트에서 작업합니다. 우리 플러그인에는 하나의 오픈 소스 클래스가 포함되어 있습니다.PHP에서 클래스를 보호하는 방법

다른 플러그인은이 동일한 클래스를 사용합니다.

두 플러그인에 동일한 클래스가 포함되어 있으면 "클래스를 다시 선언 할 수 없습니다"오류가 발생합니다.

class_exists가 클래스 파일을 사용하기 때문에 다른 플러그인이 이전 버전이나 더 새로운 버전을 사용할 수 있기 때문에 요청할 수 없습니다.

나중에 클래스 파일을 새 버전으로 쉽게 업그레이드 할 수 있도록 클래스의 이름을 바꾸고 싶지 않습니다.

다른 플러그인을 변경할 수 없으므로 오류를 피하기 위해이 파일을 포함 할 때 수행 할 수있는 작업이 있습니까?

답변

3

가장 좋은 해결책은 두 클래스를 다른 namespaces에 넣는 것이지만 이것은 PHP 5.3에서만 지원됩니다.

0

이 질문의 두 번째 대답을 확인하십시오. 나는 그것이 문제가 될 것이라고 생각한다 PHP Fatal error: Cannot redeclare class. 도움이되기를 바랍니다.

는 (포함보다는

2

를 사용하여 자동 로딩 번()) 좋은 하루 되세요 (또는 자동 로더를 사용)