<?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;