2009-09-10 2 views
7

실제로 프레임 워크를 사용하지 않고 Zend Framework의 일부 구성 요소를 사용하는 방법을 알고 있는지 궁금합니다. 예를 들어, 나는 그들의 Zend_Validate 구성 요소를 사용하고 싶지만 작은 한 페이지짜리 스크립트이므로 프레임 워크의 오버 헤드를 원하지는 않습니다.실제 프레임 워크없이 젠드 프레임 워크 컴포넌트를 사용 하시겠습니까?

쉽게 수행 할 수 있습니까? 그렇다면이를 수행하는 방법에 대한 가이드/자습서가 있습니까?

+0

정말 프레임 워크가 많기 때문에 프레임 워크의 오버 헤드가 생기지 않습니다. 그것은 단지 필요한 것을 포함 할 것입니다. 'Zend_Validate' 만 사용한다면, 당신은 그것과 그 의존성을 당신의 스크립트에 포함시킬 것입니다. – jason

답변

11

젠드 프레임 워크 구성 요소는 프레임 워크 자체에서 느슨하게 결합되도록 의도적으로 설계되었습니다.

젠드의 구성 요소 구조 프레임 워크는 다소 고유합니다. 각 구성 요소는 다른 구성 요소에 대해 거의 종속성으로 설계되었습니다. 이 느슨하게 결합 된 아키텍처를 사용하면 개발자는 각 구성 요소를 개별적으로 사용할 수 있습니다. 우리는 종종 이것을 "의지로 사용"디자인이라고합니다. [from here]

Here's a tool for pulling out specific components and their dependencies

2

방금 ​​젠드 패키지 전체를 집어 사용했습니다. 시간이 지남에 따라 더 많은 것을 사용하게 될 것 같습니다. 그래서 한 프로젝트 나 다른 프로젝트에서 MVC를 사용하지 않아도 최신 상태로 유지합니다. 모든 것을 고수하면 의존성에 대해 걱정할 필요가 없습니다.

+0

실용주의에 대한 upvote :-) – namespaceform

1

느슨하게 결합 된 Zend 프레임 워크 구성 요소는 여전히 결합되어 있습니다. 당신은 예를 들어 Zend_Mail 구성 요소를 사용하는 것입니다 경우 - 실제로도 필요 :

  1. Zend_Mime
  2. Zend_Exception
  3. Zend_Validation

Zend_Validation을 확인하는 이메일의 단순한 이유로로드됩니다 주소 도메인.

그래서 가장 좋은 방법은 전체 Zend 라이브러리를 포함하는 것입니다. 여러 구성 요소 만 가져 오면 곧 API가 변경됨에 따라 "의존성 지옥"에 빠지게됩니다 (너무 자주 발생하지는 않지만).

또한 버전 2.0부터 Zend 구성 요소를로드하려면 일부 자동 로더를 사용해야합니다. 모든 필수 호출이 PHP 클래스에서 제거되기 때문입니다.