使用Composer在Zend Framework 2中自动加载Doctrine 1



我想在Zend Framework 2项目中使用Doctrine 1。它具有旧的下划线/目录类命名样式。如果我是对的,这与PSR0自动加载兼容。所以我按照我认为正确的方式配置了它。但事实并非如此-(

当我通过浏览器访问我的相册控制器时,我收到以下错误:

Fatal error: Class 'AlbumApiControllerDoctrine_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"
      }
   }
}

相册控制器

<?php
namespace AlbumApiController;
use AlbumApiControllerAbstractRestfulJsonController;
use ZendViewModelJsonModel;
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);
    }
}

Doctrine 1不使用名称空间,因此您必须编写Doctrine_Query而不仅仅是Doctrine_Query

相关内容

  • 没有找到相关文章

最新更新