Zend Framework 및 Zend_Translate
을 사용하는 프로젝트가 있습니다.Zend Framework에서 수정 된 클래스를 저장하는 방법은 무엇입니까?
표준 CSV 어댑터를 Zend_Translate로 약간 변경해야했습니다. 이제이 변경된 어댑터를 어디에 둘 것인지 궁금합니다. 기본적으로
는 어댑터 나뿐만 아니라 새로운 어댑터를 넣어 한 곳입니다
/Library/Zend/Translate/Adapter/Adaptername.php
에 저장됩니다.
그러나 Zend 라이브러리를 내 사용자 지정 확장명으로 "오염"시키고 싶지 않습니다. 파일을 잃어 버릴 염려없이 ZF를 업데이트 할 수 있습니다. ZF의 중앙 설치 버전을 계속 사용할 수 있기를 원합니다. 그리고 커스텀 어댑터는 내가 작업하고있는 프로젝트의 일부분이다.
이 문제를 처리하거나 대체로드 위치를 지정하는 Zend Framework 방식이 있습니까?
언어 어댑터는
$this->_adapter = new $adapter($data, $locale, $options);
(어디 $adapter
Zend_Translate_Adapter_Adaptername
것)
그래서 표준 자동 로딩 규칙을 적용하여로드됩니다. Zend Autoloader에게 두 번째 위치를 살펴 보도록 지시하는 간단한 방법이 있습니까?
내 대답은 정확히 똑같습니다. 당신의 말은 훨씬 더 잘 표현되었습니다. +1 –
건배 @Gordon,하지만 그것은'Zend_Translate' 자체도 다시 작성해야한다는 뜻입니까? 'Zend_Translate_Adapter'의 클래스 이름을 생성하기 때문에, 그것을 전달하는'$ adapter' 매개 변수에 따라, 대신에'My_Translate_Adapter _... '를 만들 가능성이 없습니다. 내가해야 할 일은 똑같은 * 네임 스페이스를위한 두 개의 디렉토리 구조에서 젠드를 찾는 것입니다. 불가능할 수도 있습니다. Zend_Loader를 살펴보고 내가 찾은 것을 볼 것입니다. –
@Pekka no, 그럴 필요는 없습니다. http://framework.zend.com/manual/en/zend.translate.adapter.html#zend.translate.adapter를 참조하십시오.selfwritten – Gordon