Object types
object
, stdClass
, Foo
, Bar\Baz
etc. are examples of object types. These types are also valid types in PHP.
Generic object types
Psalm supports using generic object types like ArrayObject<int, string>
. Any generic object should be typehinted with appropriate @template
tags.
Generators
Generator types support up to four parameters, e.g. Generator<int, string, mixed, void>
:
TKey
, the type of theyield
key - default:mixed
TValue
, the type of theyield
value - default:mixed
TSend
, the type of thesend()
method's parameter - default:mixed
TReturn
, the return type of thegetReturn()
method - default:mixed
Generator<int>
is a shorthand for Generator<mixed, int, mixed, mixed>
.
Generator<int, string>
is a shorthand for Generator<int, string, mixed, mixed>
.