我有兩個文件。如何在包含'use'命令的文件中包含另一個文件
在所述第一文件(Facebook.php)我是否通過Facebook(臉譜訪問令牌)用戶數據:
<?php
require_once '../include/Config.php';
require_once ('../libs/facebook/autoload.php');
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\FacebookRequestException;
function getUserData($token){
// init app with app id and secret
FacebookSession::setDefaultApplication(FB_APP_ID,FB_APP_SECRET); //
// If you already have a valid access token:
$session = new FacebookSession($token); // 'access-token'
// To validate the session:
try {
$session->validate();
} catch (FacebookRequestException $ex) {
// Session not valid, Graph API returned an exception with the reason.
echo $ex->getMessage();
} catch (\Exception $ex) {
// Graph API returned info, but it may mismatch the current app or have expired.
echo $ex->getMessage();
}
if($session) {
try {
$user_profile = (new FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject()->asArray(); //(GraphUser::className());
// print profile data
echo '<pre>' . print_r($user_profile, 1) . '</pre>';
return $user_profile;
} catch(FacebookRequestException $e) {
echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();
}
}
}
?>
並且這是用於管理用戶數據的第二文件:
<?php
require_once '../../../include/Facebook.php';
class userManager {
function __construct() {
}
/**
* Get user data from facebook
* @param user key
* @return user data if exist else false
*/
public function facebookSignIn($token){
$fbUserData = getUserData($token);
print_r($fbUserData);
}
}
?>
在第二個文件中,我想用一個類來管理用戶數據,但我認爲我的腳本不運行,因爲Facebook.php中的代碼行
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\FacebookRequestException;
導致編譯時間錯誤。
如果我註釋掉這些行我的腳本編譯但自然不檢索Facebook用戶數據。
在我的課堂中包含'facebook.php'的正確方法是什麼? 我在哪裏錯了?
我很抱歉,但我不明白「使用」命令以及如何使用它。
如果我包括Facebook.php在測試文件,而無需類:
<?php
require_once '../include/Facebook.php';
$token = $_GET["token"];
getUserData($token);
?>
腳本運行正常!
「*導致編譯時間錯誤*」 - 你會得到什麼錯誤信息?我們應該神奇地猜測它是什麼?你在運行什麼版本的PHP? 5.3中引入了「使用」。 – DCoder 2014-10-16 19:17:12
高達5.4我知道..和腳本運行良好,如果我包括並在沒有類的測試文件中使用它 – giorgio83 2014-10-16 19:20:04