2014-11-08 6 views
0

Zend Framework 2 프로젝트에서 Doctrine 1을 사용하고 싶습니다. 그리고 그것은 오래된 밑줄/디렉토리 클래스 명명 스타일을 가지고 있습니다. 내가 맞다면 PSR0 자동 로딩과 호환됩니다. 그래서 나는 그것이 맞을 것이라고 생각하면서 그것을 구성했습니다. 그러나 그렇지 않습니다. 브라우저를 통해 내 AlbumController에 액세스 할 때 :-(작곡가를 사용하여 Zend Framework 2에서 Doctrine 1을 자동로드

나는 다음과 같은 오류를 얻을 :

Fatal error: Class 'AlbumApi\Controller\Doctrine_Query' not found in /project/application_zf2/module/AlbumApi/src/AlbumApi/Controller/AlbumController.php on line [...] 

것은 어디에 오해

이 내 프로젝트 구조

/project 
    /application 
    /application_zf2 
     /module/AlbumApi/src/AlbumApi/Controller 
      /AlbumController.php 
     /composer.json 
     /init_autoloader.php 
    /library 
     /Doctrine 
      /Doctrine/MoreDirectories 
      /Doctrine.php 

작곡가이다?. json :

{ 
    "require": { 
    "php": ">=5.3.3", 
    "zendframework/zendframework": ">=2.2.4", 
    "zendframework/zend-developer-tools": "dev-master" 
    }, 

    "include-path": ["../library/Doctrine"], 

    "autoload": { 
     "psr-0": { 
      "Doctrine_": "../library/Doctrine" 
     } 
    } 
} 

AlbumController

<?php 
namespace AlbumApi\Controller; 

use AlbumApi\Controller\AbstractRestfulJsonController; 
use Zend\View\Model\JsonModel; 

class AlbumController extends AbstractRestfulJsonController 
{ 
    public function getList() 
    { // Action used for GET requests without resource Id 
     $query = Doctrine_Query::create() 
      ->from('User b') 
      ->where('b.plz LIKE ?', $plz.'%'); 
     $result = $query->fetchArray(); 
     return new JsonModel($result); 
    } 
} 
+0

2012 년 4 월 Benjamin Eberlei가 만든 Doctrine 1에 대한 최종 승인. 왜 그 고대 도서관을 사용해야합니까? – edigu

+0

나는 누군가가 이런 질문을 생각해 낼 줄 알았다. ;-) – NoradX

+0

1.) Doctrine 1은 외래 키를 기본 키와 중첩 세트로 지원하며 Doctrine 2에서는 그렇지 않습니다. 2.) 나는 여가 시간에 내가하고있는 프로젝트를 수행한다. 모든 모델 코드와 서비스를 Doctrine 2로 마이그레이션하려면 최소 1 주일의 풀 타임이 필요합니다. 이는 1 개월의 여가 시간을 의미합니다. ZF1에서 ZF2로 마이그레이션하는 데 이미 많은 시간을 투자하고 있습니다. 주요 가지에 대한 지원은 내 눈을 감 으려고합니다. 어떤 문제가 PHP 라이브러리에 공통적이라고 생각합니다. – NoradX

답변

1

교리 1 네임 스페이스를 사용하지 않는, 그래서 당신은 대신 Doctrine_Query\Doctrine_Query을 작성해야합니다.

+0

오, 정말 고마워요. 이제 작동합니다. 그렇다면 충분히 네임 스페이스를 이해하지 못합니다. 그래서 파일 이름 공간을 사용하자마자 백 슬래시를 앞에 붙여야합니까? – NoradX

+0

예. 주제에 대한 설명서를 읽는 것을 고려하십시오. – akond