【问题标题】:Symfony2: using Facebook PHP Api, BaseFacebook class can not be loadedSymfony2:使用 Facebook PHP Api,无法加载 BaseFacebook 类
【发布时间】:2011-12-06 10:12:09
【问题描述】:

我认为这与 Symfony2 的自动加载有关:

我创建了一个

class FacebookSessionPersistence extends \BaseFacebook

此外,我在 autoload.php 中插入了以下行:

$loader->registerPrefixes(array(
    'Facebook'         => __DIR__.'/../vendor/facebook/src',));

我仍然收到以下错误:

致命错误:在第 14 行的 /var/www/..../Bundle/Library/FacebookSessionPersistence.php 中找不到类“BaseFacebook”

我应该怎么做,告诉 Symfony 加载这个类?

【问题讨论】:

    标签: php facebook symfony autoload


    【解决方案1】:

    试试class FacebookSessionPersistence extends Facebook\BaseFacebook

    如果失败,您需要明确包含 base_facebook.php 文件

    您还应该看看FOSFacebookBundle - 它可能会解决您想要做的任何事情。至少我确定它有一个fos_facebook.api 服务,这就是你想要实现的......

    【讨论】:

    • FOSFacebookBundle 带来的麻烦多于解决的问题,在切换到 oAuth2 之后,我再也没有让它运行过。
    • 您的解决方案对我不起作用。仍然遇到类未找到异常。
    • 我安装了 FOSFacebookBundle,它提供了我需要的自动加载机制。
    【解决方案2】:

    检查您的autoload_classmap.php 文件,它应该包含类似这样的内容

    'BaseFacebook' => $vendorDir . '/facebook/php-sdk/src/base_facebook.php',
    'Facebook' => $vendorDir . '/facebook/php-sdk/src/facebook.php',
    'FacebookApiException' => $vendorDir . '/facebook/php-sdk/src/base_facebook.php',
    

    如果你用 composer 安装了"facebook/php-sdk",它应该会自动完成。

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 2016-05-06
      • 2012-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多