2013-03-07 37 views
4

我下面這個FOSTwitterBundle文檔: https://github.com/FriendsOfSymfony/FOSTwitterBundle未定義的方法registerNamespaces()Symfony2的

我做到了一切按部就班,但是當我訪問我的網站,我得到這個錯誤:

Fatal error: Call to undefined method Composer\Autoload\ClassLoader::registerNamespaces() in C:\xampp\htdocs\Symfony\app\autoload.php on line 16 

我的autoload.php是這樣的:

<?php 

use Doctrine\Common\Annotations\AnnotationRegistry; 

$loader = require __DIR__.'/../vendor/autoload.php'; 

// intl 
if (!function_exists('intl_get_error_code')) { 
    require_once __DIR__.'/../vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/stubs/functions.php'; 

    $loader->add('', __DIR__.'/../vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/stubs'); 
} 

AnnotationRegistry::registerLoader(array($loader, 'loadClass')); 

$loader->registerNamespaces(array(
     // ... 
     'FOS' => __DIR__.'/../vendor/bundles', 
     // ... 
)); 

return $loader; 

我該怎麼辦?

回答

0

OAuth? 我很久以前用過https://github.com/hwi/HWIOAuthBundle。 如何與FOSUB集成:https://github.com/hwi/HWIOAuthBundle/issues/81

+1

我想這一個,但卡住了,這裏是我的問題:http://stackoverflow.com/questions/15270150/social-login-in-symfony2正如你可以看到有人推薦Bundle。這是一個循環?哈! – Reinherd 2013-03-07 21:47:16

+0

搞笑)))我太瞭解了,但仔細閱讀了幾次手動集成嘗試之後才明白。 – ZloyPotroh 2013-03-07 21:55:48

+0

在集成問題描述如何使用谷歌服務,對於Twitter它將是相同的 – ZloyPotroh 2013-03-07 22:02:30

6

基本問題是安裝說明是針對Symfony 2.0的。您正在使用S2.1。我還沒有在twitter捆綁中探索過。很難說它是否會在2.1以下運行。通過git子模塊而不是使用composer安裝它似乎很奇怪。

嘗試重新開始並向composer.json添加:「friendsofsymfony/twitter-bundle」:「dev-master」並執行安裝。這應該會降低軟件包併爲您自動加載。

否則,應更換:

$loader->registerNamespaces(array('FOS' => __DIR__.'/../vendor/bundles')); 
with 
$loader->add('FOS' => __DIR__.'/../vendor/bundles'); 

S2.1使用不同的類加載器比S2.0具有不同的接口。它至少會讓你通過錯誤信息。

但是,再次嘗試使用作曲家路線,然後可能會向項目提交補丁以更新自述文件。

+0

正如另一個評論說,添加是不同的2.x,應該是$ loader-> add('FOS',__DIR __。'/ ../vendor/bundles'); – pcambra 2014-01-03 17:37:34

8

爲symfony1.2 2 * 替換此

$loader->add('FOS' => __DIR__.'/../vendor/bundles'); 

$loader->add('FOS', __DIR__.'/../vendor/bundles');