PHP에서 클래스를 "선언 취소"또는 "재 선언"할 수 없으며 C# 3.0에서와 같은 확장 메서드를 사용할 수 없습니다. 그래서, 여기에 내 상황이있다.PHP에서 기존 클래스 이름 충돌이 발생했습니다. 창조적 인 솔루션이 필요합니다.
다른 사람의 코드 기반으로 작업하고 있습니다. 그들은 DateTime 클래스가 존재하지 않는 약간 더 오래된 버전의 PHP를 사용해야 만 했으므로 Time, Date 및 DateTime 클래스를 추가하는 오픈 소스 라이브러리가 포함되었습니다. 글쎄, 나는 이것을 클라이언트의 서버에 배포 할 것이고이 클래스는 이미 정의되어있다. 이 문제를 해결하기 위해 "if class is not defined"체크를 추가합니다. 그러나 클래스의 api는 정확히 같지 않고 코드 어딘가에있을 수도 있습니다 (예상했던대로). 사용중인 언어 버전에 포함 된 DateTime 클래스의 정의되지 않은 메서드를 사용하지 마십시오.
클래스를 언로드하는 방법이나이 문제를 해결하기 위해 생각할 수있는 창의적인 방법이 있습니까? 모든 참조를 위해 모든 파일을 검색하지 말고 클래스 이름을 바꿀 수도 있습니다. 지저분한 소리가 들리지만, 내 유일한 선택일지도 모른다. 나는 한 곳과 한 곳에서만 일어나는 문제를 훨씬 더 선호한다.
감사합니다.
이것은 PHP> = 5.3에서만 작동합니다. 널리 사용되는 것은 아닙니다 –
여전히 옵션 중 하나입니다. 특히 쇼 스톱워치 인 경우 특히 ... – VolkerK
잘 알고 있습니다 .. – Petruza