无法访问PHP对象属性

无法访问PHP对象属性,php,oop,Php,Oop,我正在尝试发出xmlhttp请求并打印xml。我用方法创建了一个类,并从一个对象调用这些方法。然而,当我试图打印方法的输出时,我什么也得不到。我猜这是一件小事,但我已经尝试了一段时间,并没有取得什么进展。提前谢谢你的帮助 <?php class twitter { public $screen_name; public $xml; public $count; public function getUserTimeline($screen_name,

我正在尝试发出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.

?>

您在
makeRequest()方法中创建并返回一个局部变量
$xml

    return $xml = simplexml_load_file($request);
应该是
$this->xml

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

您正在
makeRequest()
方法中创建并返回一个局部变量
$xml

    return $xml = simplexml_load_file($request);
应该是
$this->xml

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

您尝试访问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); 

您尝试访问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); 

要创建twitter对象,必须使用构造函数。因此,不再使用
$test=newtwitter使用
$test=newtwitter()

要创建twitter对象,必须使用构造函数。因此,不再使用
$test=newtwitter使用
$test=newtwitter()

$test=新推特
在PHP中是完全合法的。无论如何,该类没有构造函数,因此无论您是否在那里有括号或传递任何参数,都没有任何效果。
$test=new twitter
在PHP中是完全合法的。该类无论如何都没有构造函数,因此无论您在那里有括号还是传递任何参数,都没有效果。