PHP 7.3 and below does not support typed properties. You could only define a variable as below:
class Sandbox {
private $connection;
However, to help editors understand your code, you may use a @var
tag to document the expected type of the property:
class Sandbox {
/** @var ConnectorsISandboxConnector */
private $connection;
Update
PHP 7.4.0
Thanks @Manuel for mentioning the new update, PHP 7.4 now introduces typed properties according to PHP RFC: Typed Properties 2.0.
Property type declarations support all type declarations supported by PHP, with the exception of void
and callable
. Any class or interface name, stdClass, scalar and compound types, references to parent and own objects are also supported.
class Sandbox {
public int $id;
public string $name;
private ConnectorsISandboxConnector $connection;
}
Note: keep an eye on side effects such as uninitialised state and inheritance strict rules.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…