pizzaminded/facebook-http-foundation-bridge

整合facebook/php-graph-sdk与symfony/http-foundation

1.1 2019-08-14 20:32 UTC

This package is auto-updated.

Last update: 2024-09-19 10:36:08 UTC


README

如果你的应用使用了symfony/http-foundation和facebook/php-graph-sdk,那么这个库就适合你!这个库整合了这两个包。

使用这个包有哪些好处?

  • Facebook SDK默认尝试从超全局变量中提取所有信息,使用这个桥接器,它将使用你的RequestSession类。更容易调试。
  • Facebook SDK将所有内容存储在$_SESSION中,但如果不启动会话或需要手动启动会话,它就会崩溃。Session类在自动使用时启动。当你在例如使用Redis或PDO等更复杂的会话处理器时,这也是一个好的解决方案。
  • 存储在会话中的持久数据都带有前缀,因此不会有东西会覆盖你的值。

安装

composer require pizzaminded/facebook-http-foundation-bridge

使用

<?php 

$urlDetectionHandler = Pizzaminded\FacebookHttpFoundationBridge\UrlDetectionHandler::fromRequest($request);
$persistentDataHandler = new Pizzaminded\FacebookHttpFoundationBridge\SessionDataHandler($session);

$facebook = new Facebook\Facebook([
    //things
    'url_detection_handler' => $urlDetectionHandler,
    'persistent_data_handler' => $persistentDataHandler
]);

如果你使用的是Symfony 4+

(可能在3.4+上也适用,尚未检查)

将这些行添加到你的services.yaml

Pizzaminded\FacebookHttpFoundationBridge\UrlDetectionHandler: ~
Pizzaminded\FacebookHttpFoundationBridge\SessionDataHandler: ~

Facebook\Facebook:
        arguments:
            -
                app_id: '%facebook_app_id%'
                app_secret: '%facebook_app_secret%'
                default_graph_version: 'v4.0'
                url_detection_handler: '@Pizzaminded\FacebookHttpFoundationBridge\UrlDetectionHandler'
                persistent_data_handler: '@Pizzaminded\FacebookHttpFoundationBridge\SessionDataHandler'

许可证

MIT