Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:getter和setter_Php_Syntax - Fatal编程技术网

PHP:getter和setter

PHP:getter和setter,php,syntax,Php,Syntax,最近,我正在建立一个symfony应用程序,我必须在其中创建一些实体。为了创建这些实体,我使用symfony控制台并运行make:entity脚本 然后问我,是否要添加一些字段。当然,我只是用这个函数添加了我的属性,因为它很容易使用。然后,它会自动使用匹配的条令注释以及getter和setter创建我的属性。下面是一个小例子: /** * @ORM\Column(type="string", length=254) */ private $attr1; /** * @ORM\Colum

最近,我正在建立一个symfony应用程序,我必须在其中创建一些实体。为了创建这些实体,我使用symfony控制台并运行
make:entity
脚本

然后问我,是否要添加一些字段。当然,我只是用这个函数添加了我的属性,因为它很容易使用。然后,它会自动使用匹配的条令注释以及getter和setter创建我的属性。下面是一个小例子:

 /**
 * @ORM\Column(type="string", length=254)
 */
private $attr1;

/**
 * @ORM\Column(type="integer")
 */
private $attr2;

/**
 * @ORM\Column(type="boolean")
 */
private $attr3;

public function getAttr1(): ?string
{
    return $this->attr1;
}

public function setAttr1(string $attr1): self
{
    $this->attr1 = $attr1;
    return $this;
}

public function getAttr2(): ?int
{
    return $this->attr2;
}

public function setAttr2(int $attr2): self
{
    $this->attr2 = $attr2;
    return $this;
}

public function getAttr3(): ?bool
{
    return $this->attr3;
}

public function setAttr3(bool $attr3): self
{
    $this->attr3 = $attr3;
    return $this;
}

现在,我的问题是那些
?string | | | int | | bool | self
是什么意思。他们是否喜欢告诉函数期望返回
字符串
,以及
self
告诉函数什么?我只是对此有点困惑,因为直到现在我才在php中看到这样的东西。(新手注意)

这些是参数类型(输入和输出)

  • -它允许将
    null
    传递给方法或从方法传递
  • self
    -表示该方法将返回其对象

    • Self表示它返回该类的instance。它被称为“流畅的设定者”。这样,您就可以链接调用方法。例如:

      $someObj->setId(1)
          ->setNum(5)
          ->setOtherAttr('string');
      

      它用于注意方法的输出类型,因为PHP7,您可以获得更多信息


      意味着输出类型可以是
      null
      ,而
      self
      与当前类的类型相同。

      快速浏览最新版本的PHP手册,可以为您提供这个问题的答案。这被称为
      返回类型声明
      这是PHP7的一个特性,它的调用类型提示(为了性能而引入)相对于PHP7.1的新特性,输入hintsThank@al!这些文章非常有用。