[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка на возможность вызова
VladKamyshanov
Интересует, как проверить возможность вызова метода класса не создавая его экземпляр? Методы в классе не статические. Это с помощью is_callable() реализуется?
VladKamyshanov
Решил проблему так:
try {
$controllerName = 'app\\controllers\\' . ucfirst(strtolower($this->controller));
loader\Loader::loadClass($controllerName);
// Решение
$refl = new \ReflectionMethod($controllerName, $this->method);
if (!$refl->isPublic())
throw new exeption\base\RouterExeption("Metod '".$this->method."' cannot be called in '".$this->controller."' controller");

$controller = new $controllerName;
unset($refl, $controllerName);
$controller->{$this->method}();
} catch (\Exception $e) {
$this->route('error/notfound');
}
SlavaFr
а если в конструкторе параметры нужны, или параметры в методе?

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
VladKamyshanov
Нет, параметры не нужны) Там своя атмосфера)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.