<?php namespace Sandbox; class Sandbox { private Connectors\ISandboxConnector $connection; public function __construct(Connectors\ISandboxConnector $conn) { $this->connection = $conn; } } ?>
Для вышеуказанного кода я получаю следующую ошибку:
Parse error: syntax error, unexpected 'Connectors' (T_STRING), expecting variable (T_VARIABLE)
Когда я var_dump
тип var_dump
и var_dump
что переменная $ connection, это будет private Sandbox\Sandbox
а не Sandbox\Connectors\ISandboxconnector
, почему?
PHP не поддерживает тип намека на поля. Поэтому определите переменную, как показано ниже:
class Sandbox { private $connection;
Чтобы помочь редакторам понять ваш код, вы можете использовать тег @var
для документирования ожидаемого типа поля:
class Sandbox { /** @var Connectors\ISandboxConnector */ private $connection;