Danke für den Begriff
Immer gerne.
Mit PHPDoc-Kommentaren, würde schon dein Editor den Rotstift in der Zeile
$foobar->fuz = 42;
ansetzen und dir mitteilen, dass es da einen Typfehler gibt.Soweit ich weis kann man bei primitiven un Objekt Typen nur in funktionen und methoden machen:
function foobar( string $fuz, int $baz, Tok $t ) : array {}
und nicht in Objekt eigenschaften, leider
class Foobar { private string $fuz, int $baz, Tok $t; }
Richtig, mit nativem PHP geht das nicht. Aber mit PHP + PHPDoc geht das:
class Foobar {
/**
* @var string
*/
private $fuz
/**
* @var int
*/
private int $baz
/**
* @var Toc
*/
private $t;
}
PHPDoc-Kommentare werden von Editoren ausgelesen und die können die Informationen für ihre Autovervollständigung und ihre Typchecker verwenden. Wenn das nicht reicht, dann helfen gewöhnliche Getter- und Setter-Methoden, wie in meinem ersten Beispiel. Die dienen nur dazu, den Zugriff auf die privaten Eigenschaften so zu kapseln, dass sie typsicher sind.