2017-11-02 3 views
0

저는 개발중인 WordPress 웹 사이트에서 vimeo.php를 사용하려고합니다. 라이브러리를 다운로드하여 테마 폴더에 넣었습니다. 또한 Vimeo API 웹 사이트에서 앱을 만들었습니다. 나는 get_Vimeo() 함수가 나는 Fatal error: Call to a member function request() on null을받을 호출 할 때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; 
} 

: 그리고 아래의 코드를 사용합니다.

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에서 너무 나빠요. 전역 변수가 어떻게 작동하는지조차 알지 못했습니다. 내 코드가 작동하지 못하게하는 또 다른 문제가 있었기 때문에 내 자신의 대답을 게시했습니다. – GuitarExtended

관련 문제