우리 회사는 PHP 5.3이 네임 스페이스를 추가하기 훨씬 오래 전부터 모듈 식 PHP 프레임 워크를 만들었습니다. 최근 우리는 라이브러리의 새 코드에서 네임 스페이스를 사용하기로 결정했으며 결국에는 이전 코드의 네임 스페이스를 만들려고합니다. 그러나 v5.3 이전 코드베이스에 네임 스페이스를 추가하는 것이 좋지 않은지 확인하기 위해 해결하려는 몇 가지 문제가 있습니다.
- 클래스의 네임 스페이스를 만들 수 있지만 전역 네임 스페이스를 가져 와서 사용하여 모든 글로벌 클래스에
\
접두사 가 필요하지 않습니까? - 라이브러리에서 기존 클래스를 네임 스페이스로 지정하면 프레임 워크가 업그레이드되는 즉시 기존의 모든 프로젝트가 중단되는 것을 어떻게 방지 할 수 있습니까? 예를 들어, 할 수있는 클래스의 이름이 라이브러리 변화
ThemeEngine
할 수\module\theme\ThemeEngine
있지만, 기존의 웹 사이트가 전화를ThemeEngine
하지 않고 어떤 코드 수정? 그렇다면 그 코드는 어떻게 생겼습니까?