【问题标题】:How to use Facebook php SDK in symfony?如何在 symfony 中使用 Facebook php SDK?
【发布时间】:2022-01-05 21:36:44
【问题描述】:

我使用的是 Symfony 5。我使用 composer 在项目中添加了官方推荐的 PHP SDK https://github.com/facebookarchive/php-graph-sdk。我有一个控制器,我尝试调用它:

class FacebookController extends AbstractController
{
    /**
     * @var Facebook
     */
    private $facebook;

    public function __construct(Facebook $facebook)
    {
        $this->facebook = $facebook;
    }

    public function indexAction()
    {...}

}

但是当我运行这段代码时,它会说: Cannot autowire service "App\Controller\FacebookController": argument "$facebook" of method "__construct()" references class "Facebook\Facebook" but no such service exists. 如何让 symfony 的 Facebook 类“可见”?

【问题讨论】:

  • 通常你会使用 Symfony 世界中已知的捆绑包来包装 facebook 库。我进行了快速搜索,没有找到任何最新的内容,但您仍然可以查看它们以了解如何制作可注射的 facebook 服务。请注意,即使您链接的包裹看起来也不是在 3 年左右的时间里被触摸过。
  • 你可以很容易地让一个不在默认命名空间/配置中的类可用于auto wiring,但是除非你也定义它们,否则配置和进一步的依赖项将不可用,这是什么捆绑包。最简单的解决方法是在主代码中明确地将它们用作常规 PHP 类,在其中调用 new
  • 你可以尝试使用composer自动加载文件getcomposer.org/doc/04-schema.md#files

标签: php facebook symfony facebook-graph-api


【解决方案1】:

原来,我们不能使用Facebook推荐的SDK,因为SDK支持的Facebook graph API版本是2.10。当前最新版本的图形 API 是 12。 Facebook 仍然支持旧版本,但最低支持的图形 API 版本是 5.0。过几天就会过时了,所以可能当您阅读此消息时,最后支持的版本是 6.0。

【讨论】:

    猜你喜欢
    • 2012-07-17
    • 1970-01-01
    • 2015-04-02
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多