这是一个简单的类,其方法应返回已分配给属性“question”的字符串。为什么它不从方法输出中打印返回的属性值?
我没有收到任何错误消息,我得到的是“这里是:”但是该属性的值丢失了:(
class DisplayQuestion {
public $question;
function __construct ($question){
$this->question = $question;
}
function output(){
echo "<p>Here is: $this->question</p>";
}
}
$test = new DisplayQuestion("What's your question?");
$test->output();
答案 0 :(得分:1)
我在我的机器上完美地运行了这段代码,这意味着还有另一个问题(它不是代码)。检查您的PHP日志以及HTTP服务器的错误和访问日志,并(在开发服务器上)启用ini文件中的display_errors并查看发生了什么。
答案 1 :(得分:0)
试试这个:
class DisplayQuestion {
public $question = "bug test";
function __construct ($question){
$this->question = $question;
}
function output(){
echo "<p>Here is: $this->question</p>";
}
}
$test = new DisplayQuestion("What's your question?");
$test->output();
如果你得到“这是:bug测试”,那么你的PHP版本在你的开发服务器上小于5。在PHP 4中,__ construct不被识别为构造函数,因此您必须将其替换为以下内容:
class DisplayQuestion {
var $question;
function DisplayQuestion ($question){
$this->question = $question;
}
function output(){
echo "<p>Here is: $this->question</p>";
}
}
$test = new DisplayQuestion("What's your question?");
$test->output();
尝试通过在服务器上运行phpinfo()来确定您拥有的PHP版本。