我正在关注此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;
我该怎么办?
答案 0 :(得分:9)
对于symfony 2. * 替换这个
$loader->add('FOS' => __DIR__.'/../vendor/bundles');
带
$loader->add('FOS', __DIR__.'/../vendor/bundles');
答案 1 :(得分:6)
基本问题是安装说明适用于Symfony 2.0。您正在使用S2.1。我没有在推特包中探索过。很难说它是否会在2.1下运行。通过git子模块而不是使用composer安装它似乎很奇怪。
尝试重新开始并添加:&#34; friendsofsymfony / twitter-bundle&#34;:&#34; dev-master&#34;到你的composer.json并进行安装。这应该会打包,并为您自动加载。
否则,请替换:
$loader->registerNamespaces(array('FOS' => __DIR__.'/../vendor/bundles'));
with
$loader->add('FOS' => __DIR__.'/../vendor/bundles');
S2.1使用与S2.0不同的类加载器,具有不同的接口。它至少会让你通过错误信息。
但是,再次尝试编写者路线,然后可以向项目提交补丁以更新自述文件。
答案 2 :(得分:0)
OAuth的? 不久前我用https://github.com/hwi/HWIOAuthBundle。 如何与FOSUB集成:https://github.com/hwi/HWIOAuthBundle/issues/81