无法访问PHP对象属性
我正在尝试发出xmlhttp请求并打印xml。我用方法创建了一个类,并从一个对象调用这些方法。然而,当我试图打印方法的输出时,我什么也得不到。我猜这是一件小事,但我已经尝试了一段时间,并没有取得什么进展。提前谢谢你的帮助无法访问PHP对象属性,php,oop,Php,Oop,我正在尝试发出xmlhttp请求并打印xml。我用方法创建了一个类,并从一个对象调用这些方法。然而,当我试图打印方法的输出时,我什么也得不到。我猜这是一件小事,但我已经尝试了一段时间,并没有取得什么进展。提前谢谢你的帮助 <?php class twitter { public $screen_name; public $xml; public $count; public function getUserTimeline($screen_name,
<?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中是完全合法的。该类无论如何都没有构造函数,因此无论您在那里有括号还是传递任何参数,都没有效果。