на этот раз я столкнулся с действительно странной проблемой. У меня есть следующий код:
$xml = simplexml_load_file($this->interception_file);
foreach($xml->children() as $class) {
$path = str_replace('__CLASS_DIR__',CLASS_DIR,$class['path']);
if(!is_file($path)) {
throw new Exception('Bad configuration: file '.$path.' not found');
}
$className = pathinfo($path,PATHINFO_FILENAME);
foreach($class as $method) {
$method_name = $method['name'];
$obj = new $className();
var_dump(in_array($method_name,get_class_methods($className)));exit;
echo $obj->$method_name();### not a method ???
}
}
Как видите, я получаю имя класса и имя метода из файла XML.
Я могу создать экземпляр класса без каких-либо проблем. Var_dump в конце возвращает true, что означает, что $ method_name (который имеет 2 необязательных параметра) является методом $ className.
НО, и я почти уверен, что синтаксис правильный, когда я пытаюсь: $ obj -> $ method_name () я получаю:
Неустранимая ошибка: Имя метода должно быть строкой
Если у вас есть идеи, пожалуйста, скажите мне :)
Заранее спасибо,
Rolf