为什么symfony找不到我自动加载的类?

时间:2012-09-02 17:58:27

标签: php symfony-1.4 autoload

我试图在我的symfony项目中使用php-ga第三方库。我已在apps/<app>/lib中安装了库,清除了缓存,第三方文件正如我所期望的那样出现在 config_autoload.yml.php 中:

'tracker' => 'C:/wamp/www/apps/api/lib/php-ga/GoogleAnalytics/Tracker.php',
'transaction' => 'C:/wamp/www/apps/api/lib/php-ga/GoogleAnalytics/Transaction.php',
...

但是,当我尝试在同一个应用程序的操作中使用类时,如下所示:

use UnitedPrototype\GoogleAnalytics;

public function executeNew(sfWebRequest $request)
{
   $tracker = new GoogleAnalytics\Tracker(...);
   ...

我收到一条错误消息,说它无法解决该问题:

  

致命错误:Class&#39; UnitedPrototype \ GoogleAnalytics \ Tracker&#39;在C:\ wamp \ www \ apps \ api \ modules \ encoding \ actions \ actions.class.php中找不到

我错过了什么?

1 个答案:

答案 0 :(得分:3)

Symfony的自动加载器无法正确加载命名空间类。我认为你应该将ga lib移到lib/vendor/php-ga并在config/ProjectConfiguration.class.php中使用它自己的自动加载器(如require_once __DIR__ . '/../lib/vendor/php-ga/autoload.php')。