Symfony自动加载结构



晚上好!

我有一个小问题访问自定义类在symfony2.1.6使用自动装卸机。我要做的就是进入管理/src/Qkprod/Classes/api/APIEntry.php类DefaultController。显然我太蠢了,找不到延伸的方法autoload.php来完成这个。现在我又回到了我曾经去过的地方读了那么多的博客文章和我不知道的解决方案

我的文件结构如下:

Mangress应用程序src-Qkprod-MangressBundle-控制器、实体、资源、测试类api-APIEntry.php- db安全-QkprodMangressBundle.php供应商网之前Classes文件夹中包含了我到目前为止写的所有类。

到目前为止我所读到的是,我需要注册的名称空间在管理/app/autoload.php
中加载的类在Symfony 2.1中自动加载类

加载程序-> add("Qkprod MangressBundle api", DIR 。"/. ./src/Qkprod/MangressBundle/类/api/');虽然这似乎是错误的…

我对symfony的命名或理解有什么问题吗?我注册命名空间"QkprodMangressBundleapi"到自动加载器这样symfony就知道当

使用Qkprod MangressBundle api APIEntry;

所以它必须查看我的Mangress/src/Qkprod/MangressBundle/Classes/api我错了吗?

我真的很感激你的指导:)

为什么不使用symfony开发人员推荐的目录结构?

不仅仅是symfony开发者,这种结构被称为PSR-0,并且被许多PHP框架所采用。

如果您遵循约定,默认的自动加载器将很好地加载您的类,并且其他开发人员将更容易理解您的代码。

删除你的"Classes"目录,并将所有内容向上移动一级:

Mangress
 -app
 -src
    -Qkprod
      -MangressBundle
        -Controller, Entity, Resources, Tests
        -Api
          -APIEntry.php
        -Db
         -security
        -QkprodMangressBundle.php
 -vendor
 -web

这样当你写

use QkprodMangressBundleApiAPIEntry

最新更新