Звучит так, как будто вам нужна PHP * функция eval , которая выполняет строку, содержащую код PHP.Например:
// Now
$get_results = '$this->model_db->get_results(' . intval($id) . ');';
// Later
eval($get_results);
Однако, eval обычно плохая идея .То есть, есть гораздо лучшие способы сделать то, что вы думаете сделать с eval
.
В приведенном выше примере вы должны убедиться, что $this
находится в области видимости кода, вызывающего eval
.Это означает, что если вы попытаетесь ввести eval($get_results)
в совершенно другую часть кода, вы можете получить сообщение об отсутствии $this
или $this->model_db
.
Более надежной альтернативой было бы создание анонимная функция (доступно в PHP 5.3 и выше):
// Now
$that = $this;
$get_results = function() use ($that, $id) {
return $that->model_db->get_results($id);
};
// Later
call_user_func($get_results);
Но что, если $this
сейчас недоступен?Просто: сделайте это параметром функции:
// Now
$get_results = function($that) use ($id) {
return $that->model_db->get_results($id);
};
// Later
call_user_func($get_results, $this);