Вы можете использовать необязательные аргументы в любом вызове функции, а также в конструкторе. Лучше всего, если перед get получено значение get.
public function __construct($userId, $email, $content, $title = "")
означает, что $ title является необязательным аргументом. Если он не указан, он задается пустой строкой. Вы также можете указать любой другой тип или значение.
namespace Lw\Application\Service\Wish;
class AddWishRequest
{
private $userId;
private $email;
private $content;
private $title;
public function __construct($userId, $email, $content, $title = "")
{
$this->userId = $userId;
$this->email = $email;
$this->content = $content;
$this->title = $title;
}
public function getUserId()
{
return $this->userId;
}
public function getEmail()
{
return $this->email;
}
public function getContent()
{
return $this->content;
}
public function getTitle()
{
return $this->title;
}
}
Обновление
Если вы просто объявите свойство типа
private $property
, то получите доступчерез $this->property
всегда будет нулевым (пока вы не установите значение). Вы должны сделать так, чтобы получатель отвечал за возвращение правильных значений.
В следующем примере всегда будет возвращаться массив, использующий оператор NULL-coalesce:
- , если $ что-то истинно (илиимеет содержимое массива) вернет $ что-то
- иначе вернет пустой массив
public function getSomething() : array {
return $this->something ?? [];
}