Использование Composer для автозагрузки Doctrine 1 в Zend Framework 2

Я хочу использовать Doctrine 1 внутри проекта Zend Framework 2. И у этого есть старый стиль именования класса подчеркивания / каталога. Если я прав, то это совместимо с автозагрузкой PSR0. Поэтому я настроил его так, как я думал, будет правильным. Но это не так. 🙁

Я получаю следующую ошибку при доступе к своему AlbumController через браузер:

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

composer.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

Решение

Доктрина 1 не использует пространства имен, поэтому вы должны написать \Doctrine_Query вместо просто Doctrine_Query,

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector