PHP

PHP: string = null VS ?string

Definujeme-li funkci či metodu, která obsahuje vstupní parametr, a ten může být prázdný, máme dvě možnosti:

public function setName(string $name = null)
{
    $this->name = $name;
}

a nově od verze PHP 7.1:

public function setName(?string $name)
{
    $this->name = $name;
}

Obě syntaxe jsou téměř totožné. Jaký je mezi nimi tedy rozdíl?

string $name = null

Vstupní parametr není nutno zadat: setName().
Pokud nebude zadán, bude předána hodnota null.

?string $name

Vstupní parametr je nutno zadat: setName('John Doe'), může však obsahovat i hodnotu null.

Jedná se o novinku od verze PHP 7.1.

Zdroje

 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *