我正在尝试学习 PHP 类(class),以便开始编写更多 OOP 项目。为了帮助我学习,我正在构建一个使用 Rapidshare API 的类。这是我的类(class):
<?php
class RS
{
public $baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';
function apiCall($params)
{
echo $baseUrl;
}
}
?>
$params
将包含一组 key 对值,如下所示:
$params = array(
'sub' => 'listfiles_v1',
'type' => 'prem',
'login' => '746625',
'password' => 'not_my_real_pass',
'realfolder' => '0',
'fields' => 'filename,downloads,size',
);
稍后将附加到 $baseUrl
以构成最终请求 URL,但我无法让 $baseUrl 出现在我的 apiCall()
方法中。我尝试了以下方法:
var $baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';
$baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';
private $baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';
甚至在我的 apiCall()
方法中尝试了 $this->baseUrl = $baseUrl;
,我不知道我到底在想什么,哈哈.
感谢任何帮助,谢谢:)
最佳答案
尝试
class RS {
public $baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';
function apiCall($params) {
echo $this->baseUrl;
}
}
我相信你是这样调用这段代码的?
$rs = new RS;
$rs->apiCall($params);
类属性在 PHP 中需要以 $this
为前缀。唯一的异常(exception)是 static methods和 class constants当你使用 self
时。
关于php - 在类中定义变量并在函数中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2517283/