Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Composer在Zend Framework 2中自动加载原则1_Php_Zend Framework2_Composer Php_Autoload_Doctrine 1.2 - Fatal编程技术网

Php 使用Composer在Zend Framework 2中自动加载原则1

Php 使用Composer在Zend Framework 2中自动加载原则1,php,zend-framework2,composer-php,autoload,doctrine-1.2,Php,Zend Framework2,Composer Php,Autoload,Doctrine 1.2,我想在Zend Framework 2项目中使用原则1。并且它具有旧的下划线/目录类命名样式。如果我是对的,它与PSR0自动加载兼容。所以我按照我认为正确的方式配置了它。但事实并非如此-( 通过浏览器访问AlbumController时,我遇到以下错误: Fatal error: Class 'AlbumApi\Controller\Doctrine_Query' not found in /project/application_zf2/module/AlbumApi/src/AlbumApi

我想在Zend Framework 2项目中使用原则1。并且它具有旧的下划线/目录类命名样式。如果我是对的,它与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"
      }
   }
}
唱片控制器

<?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);
    }
}

条令1不使用名称空间,所以你必须编写
\doctor\u Query
,而不仅仅是
doctor\u Query

本杰明·埃伯莱(Benjamin Eberley)在2012年4月最后一次提交条令1。你为什么需要使用那个古老的图书馆?我知道有人会提出这样的问题。;-)1.)原则1支持外键作为主键和嵌套集,原则2不支持。2)我在业余时间做我正在做的项目。将所有模型代码和服务迁移到条令2需要至少1周的全职时间,这意味着1个月的业余工作时间。我已经投入了大量时间从ZF1迁移到ZF2。在我看来,对主要分支的支持是一种缩短。我认为这是PHP库的一个常见问题。哦,非常感谢。现在可以了。那么我对名称空间的理解还不够透彻。所以,我必须在为我的文件使用名称空间时,在反斜杠前面加上前缀?