Hallo Zusammen
Bin echt verunsichert beim Static return type.
Eigentlich kann man da ja $this, new static() oder new self() returnieren laut PHP RFC:
https://wiki.php.net/rfc/static_return_type
Gibt es denn nicht einen return type welches unterscheidet ob man $this oder eine neue Instance new static()
returnieren muss?
Denn wenn ich z.B die Laravel Collection Klasse anschaue, wird $this oder static dokumentiert.
Jedoch mit PHP 8 könnte man den ja static als return type definieren.
Jedoch wüsste man dann ja nicht ob eine neue Instance zurückgegeben wird oder das selbe Objekt ausser mann schaut die @return Doku.
Oder sehe ich das falsch?
Bin echt verunsichert beim Static return type.
Eigentlich kann man da ja $this, new static() oder new self() returnieren laut PHP RFC:
https://wiki.php.net/rfc/static_return_type
Gibt es denn nicht einen return type welches unterscheidet ob man $this oder eine neue Instance new static()
returnieren muss?
Denn wenn ich z.B die Laravel Collection Klasse anschaue, wird $this oder static dokumentiert.
Jedoch mit PHP 8 könnte man den ja static als return type definieren.
Jedoch wüsste man dann ja nicht ob eine neue Instance zurückgegeben wird oder das selbe Objekt ausser mann schaut die @return Doku.
Oder sehe ich das falsch?
PHP-Code:
/**
* Flip the items in the collection.
*
* @return static
*/
public function flip()
{
return new static(array_flip($this->items));
}
/**
* Remove an item from the collection by key.
*
* @param string|array $keys
* @return $this
*/
public function forget($keys)
{
foreach ((array) $keys as $key) {
$this->offsetUnset($key);
}
return $this;
}
Kommentar