如何使用PHP回显类中的参数?

时间:2018-04-30 08:27:20

标签: php

我想要$ 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();

2 个答案:

答案 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的值但看到你在原始代码中使用构造函数时,我我把它留了下来。

直播示例

Repl

阅读材料

PHP OOP

答案 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();