在类中定义变量并在函数中使用它

Jos*_*osh 6 php api variables class rapidshare

我正在尝试学习PHP类,所以我可以开始编写更多的OOP项目.为了帮助我了解我正在构建一个使用Rapidshare API的类.这是我的班级:

<?php

class RS
{
    public $baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';

    function apiCall($params)
    {
        echo $baseUrl;
    }
}

?>
Run Code Online (Sandbox Code Playgroud)

$params 将包含一组密钥对值,如下所示:

$params = array(
    'sub'   =>  'listfiles_v1',
    'type'  =>  'prem',
    'login' =>  '746625',
    'password'  =>  'not_my_real_pass',
    'realfolder'    => '0',
    'fields'    => 'filename,downloads,size',
    );
Run Code Online (Sandbox Code Playgroud)

稍后将附加到$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=';
Run Code Online (Sandbox Code Playgroud)

甚至尝试$this->baseUrl = $baseUrl;过我的apiCall()方法,我不知道我到底在想什么,虽然哈哈.

任何帮助表示赞赏谢谢:)

Gre*_*g K 13

尝试

class RS {
  public $baseUrl = 'http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=';

  function apiCall($params) {
    echo $this->baseUrl;
  }
}
Run Code Online (Sandbox Code Playgroud)

我相信你这样称这个代码?

$rs = new RS;
$rs->apiCall($params);
Run Code Online (Sandbox Code Playgroud)

类属性需要$this在PHP中作为前缀.您使用时唯一的例外是静态方法类常量self.