4

私はこの FOSTwitterBundle ドキュメントに従っています: https://github.com/FriendsOfSymfony/FOSTwitterBundle

私はそれをすべて段階的に行いましたが、自分のサイトにアクセスすると、次のエラーが発生します。

 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;

私は何をすべきか?

4

3 に答える 3

9

symfony 2.* の場合、これを置き換えます

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

$loader->add('FOS', __DIR__.'/../vendor/bundles');
于 2013-05-23T20:25:26.123 に答える
6

基本的な問題は、インストール手順が Symfony 2.0 用であることです。S2.1を使用しています。私はツイッターバンドルをいじっていません。2.1 で動作するかどうかはわかりません。composer を使用する代わりに git サブモジュールを介してインストールするのは奇妙に思えます。

最初からやり直して、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 とは異なるインターフェイスを持つ異なるクラス ローダーを使用します。少なくともエラーメッセージを回避できます。

ただし、最初に composer ルートを試してから、プロジェクトにパッチを送信して readme ファイルを更新してください。

于 2013-03-08T13:53:21.967 に答える
0

OAuth?少し前にhttps://github.com/hwi/HWIOAuthBundleを使用しました。FOSUBと統合する方法:https ://github.com/hwi/HWIOAuthBundle/issues/81

于 2013-03-07T21:44:48.980 に答える