在我的课堂上,我试图在__construct()
以外的函数中设置变量的值
但我需要另一个函数中的变量值。
这是我尝试过的。但不能正常工作。
我希望打印getty images
,但我一无所获:(
<?php
class MyClass{
public $var;
public function __construct(){
$this->var;
}
public function setval(){
$this->var = 'getty Images';
}
public function printval(){
echo $this->var;
}
}
$test = new MyClass();
$test->printval();
答案 0 :(得分:5)
你的构造函数什么都不做,你需要调用它来执行某些操作的方法。
class MyClass{
private $var;
public function __construct() {
// When the class is called, run the setVal() method
$this->setval('getty Images');
}
public function setval($val) {
$this->var = $val;
}
public function printval() {
echo $this->var;
}
}
$test = new MyClass();
$test->printval(); // Prints getty Images
答案 1 :(得分:1)
您需要调用setval()方法来实际设置值。
尝试:
<?php
$test = new MyClass();
$test->setval();
$test->printval();
如果您对拥有固定值感到满意,那么在 __ construct()中设置变量将正常工作,我会推荐这种方法。
如果您需要动态值,则可以调整 setval 方法以接受参数并将传递的参数保存到对象中,以便作为 printval()打电话。
答案 2 :(得分:0)
在打印之前,首先需要为变量设置值
<?php
class MyClass{
public $var;
public function setval(){
$this->var = 'getty Images';
}
public function printval(){
echo $this->var;
}
}
$test = new MyClass();
$test->setval();
$test->printval();
?>
输出:
getty Images