Я создаю базовый пакет API для внешней службы, используя структуру, основанную на нескольких других пакетах, которые я просматривал;
MyPacakge.php
public function __construct($key)
{
$this->key = $key
}
protected function getApiInstance($method)
{
$class = "\\My\\MyPackage\\Api\\".ucwords($method);
if (class_exists($class) && ! (new \ReflectionClass($class))->isAbstract()) {
return new $class($this->key);
}
throw new \BadMethodCallException("Undefined method [{$method}] called.");
}
public function __call($method, array $parameters)
{
return $this->getApiInstance($method);
}
Index.php
$myPackage = new MyPackage;
$myPackage->Class()->method();
Есть ли способ заставить мою IDE (phpstorm) распознавать класс и его методы при использовании функции ReflectionClass?