Typed Properties allow for an optional keyword in the definition, after the visibility scope, which contains the type the property should allow. Properties can have the same types as parameters: class Foo { public int $int = 1; public float $flt = 2.2; public array $arr = []; public bool $bool = false; public string $string; public callable $callable; public stdClass $std; public OtherThing $other