Прямой Eloquent Call
Я думаю, вам может понадобиться эта строка вместо всего кода, который вы написали:
return Share::all()->toArray();
Печать фрагмента кода php (т.е. 'Share::all();'
вваш случай), так как строка не выполняет код.И это, конечно, не даст вам результата выполнения этого кода.
Использование выходного буфера
Или, возможно, вы захотите использовать опасный eval для анализа вывода кода?В этом случае:
$data = 'echo "hello world";';
$returnData = (function ($code) {
ob_start();
eval($code); // stop executing here
return ob_get_clean();
})($data);
var_dump($returnData);
Обратите внимание, что возвращаемые данные могут быть только строковыми.Это никогда не может быть ничего, кроме простой строки.Поэтому для меня не имеет смысла, если вы хотите передать «результат запроса» с выходным буфером.
Просто eval
Возможно, вы на самом деле думаете об этом.
$data = 'return Share::all()->toArray();';
$returnData = eval($data);
var_dump($returnData);
Но вы получите превосходный результат с помощью современного PHP-кода с пространством имен.Плюс запуск eval
действительно не рекомендуется.