我正在尝试在我正在开发的WordPress网站上使用vimeo.php。我已经下载了库并将其放在我主题的文件夹中。我还在Vimeo API的网站上创建了一个应用程序。我使用下面的代码:
// 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对我来说有点模糊,不知道我做错了什么?
答案 0 :(得分:2)
您正在寻找的术语是Variables Scope。
变量的范围是定义它的上下文。对于 大多数PHP变量只有一个范围。这个单身 范围跨度包括和所需文件。
$lib
是您在文件中定义的变量。
你不能仅仅因为它在文件中而在函数中访问它,它是另一个范围。
在函数中使用global $lib
以访问它。
示例:强>
$var = 'something';
function testA(){
echo $var; //null
}
function testB(){
global $var;
echo $var; //something
}
答案 1 :(得分:0)
Ofir Baruch的回答非常有帮助,但我回答了我自己的问题以获得更彻底的解决方案。
$lib
的范围确实存在问题,但第一个请求参数也存在问题。 Vimeo.php库构建了一个如下所示的URL:' api.vimeo.com' 。 ' first_argument&#39 ;.以下是适用于我的固定代码:
// 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;
}