无法访问PHP对象属性

时间:2012-02-02 04:59:03

标签: php oop

我正在尝试制作xmlhttp请求并打印出xml。我用方法创建了一个类,并从一个对象调用这些方法。但是,当我尝试打印方法的输出时,我什么也得不到。我猜这是次要的,但我现在已经尝试了一段时间,但收效甚微。在此先感谢您的帮助。

<?php 
class twitter {

    public $screen_name;
    public $xml;
    public $count;

    public function getUserTimeline($screen_name, $count=5) {
        $request= "https://api.twitter.com/1/statuses/user_timeline.xml?include_entities=true&include_rts=true&screen_name=$screen_name&count=$count";
        return $this->makeRequest($request);
    }

    public function makeRequest($request){
        return $xml = simplexml_load_file($request);

    }

}


$test = new twitter;
$test->screen_name="mattcutts";
$test->getUserTimeline($screen_name=$test->screen_name, $count=5);
print_r($test->xml); //This does not print anything.

?>

3 个答案:

答案 0 :(得分:4)

您在$xml方法中创建并返回本地变量makeRequest()

    return $xml = simplexml_load_file($request);

应该只是$this->xml

    $this->xml = simplexml_load_file($request);

答案 1 :(得分:1)

您尝试访问xml变量。但你没有设置它。您可以按以下方式更改方法。

public function makeRequest($request){
    $this->xml = simplexml_load_file($request);
}

或者你可以按照以下方式打印$ xml。

$xmp = $test->getUserTimeline($screen_name=$test->screen_name, $count=5);
print_r($xml); 

答案 2 :(得分:-2)

要创建twitter对象,您必须使用构造函数。因此,而不是$test = new twitter;使用$test = new twitter();