我想要$ foo-> display();显示Hello World
以下是我的尝试:
class MyAttribute
{
public function init($var)
{
$this->setString($var);
}
public function display()
{
$this->setString = $var;
}
}
$foo = new MyAttribute("Hello World");
$foo->display();
答案 0 :(得分:5)
您需要使用return
关键字将变量传回去,但这不是您的问题,请考虑以下事项:
class MyAttribute {
private $attr;
public function __construct($attr)
{
$this->attr = $attr;
}
public function get_attr()
{
return $this->attr;
}
}
$attr = new MyAttribute('Hello World');
echo $attr->get_attr();
构造函数在实例化类时首先执行,我们使用传递给所述构造函数的变量设置属性$attr
。
在get_attr
函数中,要注意的重要部分是return
关键字,我已将其链接到上面的文档。
你不一定需要一个构造函数,你可以添加另一个名为set_attr
的函数来设置/更改$attr
的值但看到你在原始代码中使用构造函数时,我我把它留了下来。
直播示例
阅读材料
答案 1 :(得分:0)
您可以使用__construct,因为PHP会在您从类创建对象时自动调用__construct()方法/函数。
我们可以在创建MyAttribute对象时为$ par属性提供值。
class MyAttribute
{
private $var;
public function __construct($var)
{
$this->var = $var;
}
public function display()
{
return $this->var;
}
}
$foo = new MyAttribute("Hello World");
echo $foo->display();