晚上好!
我在使用symfony2.1.6访问自定义类时遇到一些问题 自动加载磁带机。 我需要做的是访问 Mangress / src / Qkprod / Classes / api / APIEntry.php类来自于 DefaultController。显然我太傻了,无法找到扩展的方法 autoload.php这样做。现在我处在一直存在的地步 阅读那么多我不知道的博客文章和解决方案 怎么办......
我的文件结构如下所示:
Mangress -app -src -Qkprod -MangressBundle -Controller, Entity, Resources, Tests -Classes -api -APIEntry.php -db -security -QkprodMangressBundle.php -vendor -webClasses文件夹包含我到目前为止所写的所有类。
到目前为止我所读到的是我需要注册的命名空间
要加载的类 Mangress / app / autoload.php
Autoloading a class in Symfony 2.1
$装载机>添加( 'Qkprod \ MangressBundle \ API', 的 DIR '/ .. / SRC / Qkprod / MangressBundle /类别/ API /'); 虽然这似乎是错误的..
我对symfony的命名或理解有问题吗? 我将名称空间“Qkprod \ MangressBundle \ api”注册到自动加载器 这样symfony就知道在哪里看
使用Qkprod \ MangressBundle \ api \ APIEntry;
所以它必须查看我的 Mangress / src / Qkprod / MangressBundle / Classes / api 文件夹我错了吗?
我真的很感激一些指导:)
答案 0 :(得分:1)
为什么不使用symfony开发人员推荐的directory structure?
即使只是symfony开发人员,这个结构也称为PSR-0,并被许多PHP框架采用。
如果您遵守惯例,默认的自动加载器将很好地加载您的类,其他开发人员将更容易理解您的代码。
只需删除“Classes”目录,然后将其中的所有内容向上移动:
Mangress
-app
-src
-Qkprod
-MangressBundle
-Controller, Entity, Resources, Tests
-Api
-APIEntry.php
-Db
-security
-QkprodMangressBundle.php
-vendor
-web
当你写
时这样use Qkprod\MangressBundle\Api\APIEntry
它会知道在哪里看。