2017-11-02 3 views
0

私は開発中のWordPressウェブサイトでvimeo.phpを使用しようとしています。私は図書館をダウンロードしてテーマのフォルダに入れました。私はVimeo APIのウェブサイトにもアプリケーションを作成しました。Vimeo.php:単純なリクエストが動作しない

// Include Vimeo's php library 
require_once("/assets/php/vimeo.php-1.3.0/autoload.php"); 
$client_id = 'xxxx'; //'Client identifier' in my app 
$client_secret = 'xxxx'; // 'Client secrets' in my app 
$lib = new \Vimeo\Vimeo($client_id, $client_secret); 

function get_Vimeo(){ 
    $response = $lib->request('https://vimeo.com/6327777', array(), 'GET'); 
    return $response; 
} 

私はget_Vimeo()関数を呼び出すと、私はFatal error: Call to a member function request() on nullを得る:そして、私は以下のコードを使用します。

VimeoのAPIは私には分かりませんが、私が間違っていたことは何ですか?

+1

私の答えをチェックしてください。トリックをする必要があります。何かが明確でない場合は更新してください。 –

答えて

0

オフィールバルークの答えは非常に有用でしたが、私はより徹底した修正のために自分の質問に答えますよ。 実際に$libの範囲に問題がありますが、最初のリクエスト引数にも問題があります。 Vimeo.phpライブラリは、 'api.vimeo.com'のようにURLを作成します。 'first_argument'。ここに私のために働く固定コードがあります:

// Include Vimeo's php library 
require_once("/assets/php/vimeo.php-1.3.0/autoload.php"); 
$client_id = 'xxxx'; //'Client identifier' in my app 
$client_secret = 'xxxx'; // 'Client secrets' in my app 
$lib = new \Vimeo\Vimeo($client_id, $client_secret); 

// Set the access token (from my Vimeo API app) 
$lib->setToken('xxx...xxx'); 

function get_Vimeo(){ 
    global $lib; 
    $response = $lib->request('/videos/6327777', array(), 'GET'); 
    return $response; 
} 
2

あなたが探している用語はVariables Scopeです。

変数のスコープは、変数が定義されているコンテキストです。 の場合、ほとんどの場合、すべてのPHP変数には単一のスコープしかありません。この単一の 範囲が含まれ、必要なファイルも含まれます。

$libは、ファイルで定義した変数です。 ファイル内にあるという理由だけで関数内でアクセスすることはできません。別のスコープです。

機能には、アクセスするためにglobal $libを使用してください。

例:

$var = 'something'; 

function testA(){ 
    echo $var; //null 
} 

function testB(){ 
    global $var; 
    echo $var; //something 
} 
+0

ありがとう、私はPHPで非常に悪いです。グローバル変数の仕組みがわからなくても。自分のコードが動作しないようにするもう1つの問題があったので、自分の答えを投稿しました。 – GuitarExtended

関連する問題