2017-05-04 60 views
0

沒錯。這開始造成我的傷害。我覺得這應該是超級簡單的,但我似乎無法讓它工作。找不到類'Facebook'

出於某種原因,我得到:

類的Facebook'未找到

這裏是我的文件夾結構:

|admin/ 
|---sdks/ 
|----facebook/ 
|-----5.5.0/ 
|------src/ 
|-------Facebook/ 
|--------Facebook.php 
|  /// rest of files 
|facebook_test.php 

facebook_test.php:

//include the Facebook PHP SDK 
include_once '/sdks/facebook/5.5.0/src/Facebook/autoload.php'; 
include_once '/sdks/facebook/5.5.0/src/Facebook/Facebook.php'; 


//instantiate the Facebook library with the APP ID and APP SECRET 
$facebook = new Facebook(array(
    'appId' => '123456789', 
    'secret' => 'a123456789b', 
    'cookie' => true 
)); 

我曾嘗試:

1)獲取原始Facebook.php文件的建議位置:PHP Fatal error: Class 'Facebook' not found in

2)需要自動加載的建議在這裏:'Class 'Facebook\Facebook' not found" Facebook SDK error

但是這些都沒有影響。

我使用SDK的版本5.5.0

阿洛斯,我已經chedked Facebook.php它包含類的Facebook

誰能幫助?

回答

1

的Facebook SDK使用namespaces這樣:

new \Facebook\Facebook(..) 

你應該檢查手冊,它的字面意思,在每一個例子,以及您所提供的鏈接...


這是你所需要的要做

<?php 

include 'src/Facebook/autoload.php'; // path to your autoload.php 
$fb = new \Facebook\Facebook(...); 
+0

不是我。好的,我知道這很簡單。你能告訴我我需要把什麼東西放進我的代碼才能使它工作嗎?上面的例子似乎失敗了。我是一個noob(嘆氣) – JamesG

+0

@JamesG我編輯了我的答案,只包括自動加載並創建類 – Peter

+0

謝謝。這工作。 – JamesG

0

根據Facebook Documentation,它使用v5.x中的命名空間。所以,你應該像這樣改變你的代碼:

//include the Facebook PHP SDK 
require(__DIR__.'/sdks/facebook/5.5.0/src/Facebook/autoload.php'); 

// load namespaces 
use Facebook\Facebook; 

//instantiate the Facebook library with the APP ID and APP SECRET 
$facebook = new \Facebook\Facebook(array(
    'appId' => '123456789', 
    'secret' => 'a123456789b', 
    'cookie' => true 
));