Ниже приведен код для Base.php и класса Base
/**
* @return ?
*/
public static function withId($id, $class = __CLASS__)
{
$instance = new $class($id);
if ($instance->getId() == self::ID_OF_UNKNOWN_USER) {
$instance = null;
}
return $instance;
}
Другие классы расширят этот класс. Я использую позднюю статическую привязку, чтобы выяснить, кто должен быть создан до вызова withId () и передачи имени класса как $ class.
Возвращаемый класс может быть Base или любым из его дочерних классов. Как мне пометить это в phpDoc?