2012-03-14 2 views

답변

3

을, 특정 폴더에서 모든 네임 스페이스를 가져 오는 그립을 얻을 수 없다, 내가 필요로 할 것을 네임 스페이스를 사용 하시겠습니까?

번호

그러나, 네임 스페이스 충돌을 피하고보다 더 많은 혜택을 제공 않습니다 네임 스페이스 지정, 그것은 또한 찾을 파일을 쉽게 좋은 디렉토리 및 파일 구조를 유지하도록 강제하고 결정하는 부모 직관적 인 접근 방식/자식 관계. 예를 들어

:

// Zend/Translate/Adapter.php 
class Zend_Translate/Adapter {} 

// Zend/Translate/Adapter/Csv.php 
class Zend_Translate_Adapter_Csv extends Zend_Translate_Adapter {} 

는 당신이 볼 수 있듯이, 비슷한 객체에 관련된 클래스는 논리적으로 그룹화하고, 위의 코드를 보여줍니다으로 가능한 상위/하위 관계를 의미한다. 주의해야 할 점은 디렉토리에 하위 디렉토리와 함께 클래스 파일이있을 수 있지만 하위 디렉토리 내의 파일이 파일을 확장한다는 보장은 없습니다.

2

나는이 질문을 잘못된 관점에서 접근하고 있다고 생각합니다. 물론 고유 한 함수 이름을 알고있는 경우 네임 스페이스 사용을 피할 수 있습니다. 그러나 이것은 매우 짧은 접근법이며 응용 프로그램의 복잡성, 구조화 방법 등을 고려하지 않습니다.

Mike가 언급 한 것처럼 Zend 또는 Symfony와 같은 프레임 워크를 사용하려는 경우 객체 지향 프로그래밍 (Object Orientated Programming)에 대한 다른 코드는 네임 스페이스 사용을 강력히 권장합니다. 훌륭한 PHP 패키지의 클래스를 포함하고자한다고 가정 해 보겠습니다. 네임 스페이스가 없으면 아무런 충돌이 없다는 보장은 없습니다.

또한 Symfony 2.0과 같은 새로운 프레임 워크는 네임 스페이스를 사용해야합니다. 따라서 익숙해지는 것이 좋습니다.

+0

모든 유효한 점수. –

+0

저는 프레임 워크에 대해 이야기하는 것이 아니며, 제 프로젝트를 (아마도)보다 관리하기 쉬운 구성 요소/하위 구성 요소로 구성하는 것을 말합니다. –

+0

@Fike 프레임 워크는 내 대답의 일부입니다. 나는 그것들을 언급하는 것이이 토론과 관련이 있다고 느꼈다. –

관련 문제