2014-05-06 72 views
1

所以我需要加載的Facebook庫與笨使用它...以前的版本很簡單 - 當時只有3個文件如何使用facebook sdk 4.0.0和codeigniter?

/application/libraries/facebook: 

base_facebook.php 
facebook.php 
fb_ca_chain_bundle.crt 

我將加載Facebook的庫,這將是它... 但現在有一堆文件,所以如何使它與codeigniter一起工作?

下面是新的Facebook SDK的所有文件的清單在github https://github.com/facebook/facebook-php-sdk-v4所見:

enter image description here

回答

0

也許這不是這樣做的波蘭方式......但我認爲它解決了您的問題。

application/libraries/facebook/的內部創建另一個庫,如facebook_package.php。 然後,你可以包括標準Facebook的SDK文件是這樣的:

<?php 

class facebook_package { 

    function __construct() { 
    /** 
    * Autoload Facebook SDK 
    */ 
    $lib_dir = dirname(__FILE__); 
    require_once($lib_dir . '/FacebookSDKException.php'); 
    require_once($lib_dir . '/FacebookRequestException.php'); 
    require_once($lib_dir . '/FacebookAuthorizationException.php'); 
    require_once($lib_dir . '/FacebookCanvasLoginHelper.php'); 
    require_once($lib_dir . '/FacebookClientException.php'); 
    require_once($lib_dir . '/FacebookJavaScriptLoginHelper.php'); 
    require_once($lib_dir . '/FacebookOtherException.php'); 
    require_once($lib_dir . '/FacebookPermissionException.php'); 
    require_once($lib_dir . '/FacebookRedirectLoginHelper.php'); 
    require_once($lib_dir . '/FacebookRequest.php'); 
    require_once($lib_dir . '/FacebookResponse.php'); 
    require_once($lib_dir . '/FacebookServerException.php'); 
    require_once($lib_dir . '/FacebookSession.php'); 
    require_once($lib_dir . '/FacebookThrottleException.php'); 
    require_once($lib_dir . '/GraphObject.php'); 
    require_once($lib_dir . '/GraphLocation.php'); 
    require_once($lib_dir . '/GraphSessionInfo.php'); 
    require_once($lib_dir . '/GraphUser.php'); 
    } 

} 

?> 

要小心因爲它的順序很重要。

在你的控制器,你現在可以簡單完成$this->load->library('facebook/facebook_package');

,並開始使用的SDK。他們的例子https://github.com/facebook/facebook-php-sdk-v4試試吧,別忘了在你的控制器

use Facebook\FacebookSession; 
use Facebook\FacebookRequest; 
use Facebook\GraphUser; 
use Facebook\FacebookRequestException; 

希望這有助於頂部的包括,我已經得到了同樣的問題,這個我怎麼儘快解決它。也許有更好的方法來做到這一點。

+0

這是列表的更新版本 – Andreas

4

我有這個相同的問題,並經過大量的試驗和錯誤,得到它想通了。基本上,創建了一個橋接SDK之間差距的Facebook CI庫。寫了一篇關於它的博客文章:http://www.benmarshall.me/facebook-sdk-php-v4-codeigniter/

不知道這是否是最好的實施,但希望這會有所幫助!

+0

沒有原生PHP會話我們不能做到嗎?是否有任何特別的原因來啓動一個PHP會話而不是CI會話? – YahyaE

相關問題