2013-12-19 2 views
5

나는 다음과 같은 공급 업체의 디렉토리 구조와 PHP 프로젝트가 : 나는 autoload_namespaces.php의 everythins에 다음 줄을 넣어젠드 프레임 워크 작곡가 자동로드

vendor 
    zendframework 
    zendframework 
     library 
     Zend 
     ... 
     ... 
     Cache 
     ... 
     ... 

괜찮 :

'Zend\\Cache' => $vendorDir . '/zendframework/zendframework/library/', 

을하지만,이 라인은 아무튼 't 작업 :

'Zend\\Cache' => $vendorDir . '/zendframework/zendframework/library/Zend/Cache/', 

오류 :

Fatal error: Class 'Zend\Cache\Storage\Adapter\MemcachedOptions' not found 

내 코드에 어떤 문제가 있습니까? zend 프레임 워크에서 캐시 모듈 만로드하려면 어떻게해야합니까? 전체 라이브러리 폴더를 지정하면 왜 작동합니까?

+1

당신이 뭘 하려는지를? 클래스는 필요에 따라로드되며 응용 프로그램은 사용되는 클래스 만로드합니다. 'autoload_namespaces.php' 파일은 Composer에 의해 자동으로 생성되므로 편집해서는 안됩니다. –

+0

MemcachedOptions() 클래스를 사용하려고합니다 :'$ options = new \ Zend \ Cache \ Storage \ Adapter \ MemcachedOptions();'그리고이 줄은 에러를 발생시킵니다. – Phantom

+1

Composer를 사용하여 젠드 프레임 워크를 설치했다면'autoload_namespaces.php'에'Zend \\'항목이 있어야합니다. 그게 당신이 원하는 전부입니다. 다른 것을 바꾸지 마십시오. 없으면 Composer를 사용하여 ZF를 다시 설치하십시오. –

답변

7

젠드 프레임 워크 1.x는 작곡가와 함께 설치할 수 있습니다.

추가 : 는 "필요": { "zendframework/zendframework1을": "1 *" },

당신의 composer.json 에

그리고 할 작곡가 명령 줄에서 설치합니다. 그러면 젠드 프레임 워크를 다운로드하고 작곡가가 관리하는 모든 항목과 함께 라이브러리를 자동로드하도록 설정합니다.

는 응용 프로그램의 index.php 파일을 수정해야 작곡가 자동 로더를 사용하도록 젠드 프레임 워크 응용 프로그램을 얻을 그래서 같은 작곡가 오토로더 포함하려면 :

require_once realpath(APPLICATION_PATH . '/../vendor/autoload.php'); 
+0

작곡가를 사용하여 ZF1의 특정 구성 요소를 다운로드하는 방법을 알고 계십니까? – GreeKatrina

+0

그 패키지에는 모두 zf1/something 접두어가 붙습니다. 다음은 목록입니다. https://packagist.org/search/?q=zf1%2F – txyoji

+0

감사합니다. 불행히도, 나는 잘 지원하지 않는 버전 1.10.4가 필요하다. – GreeKatrina