Работает ли PHP eval () аналогично включению? (загрузить страницу с кодом в БД) - PullRequest
0 голосов
/ 20 января 2020

Если кто-то использует eval () в PHP, этот метод ведет себя точно так же, как и код в строке, за исключением ошибки, возникающей при возникновении ошибки разбора? Я знаю о проблемах безопасности, это только временное, но необходимое решение. Спасибо.

Редактировать: Как бы вы создали Joomla-подобный небольшой фреймворк, где есть модули на страницах, но с кодом, загруженным из базы данных? Эта опция гораздо более гибкая, чем создание модулей и компонентов для каждой крошечной проблемы и функции, страницы генерируются с помощью файла 1 PHP, из базы данных, содержимого на основе номера страницы.

1 Ответ

0 голосов
/ 20 января 2020

Он дает тот же результат, он не обязательно ведет себя одинаково. Наиболее заметные различия заключаются в том, что eval значительно медленнее, так как он должен выполнять шаг разбора (обходить любой opcache) с каждой итерацией, и он должен быть загружен поверх работающей ВМ. Другое отличие состоит в том, что include допускает возвращаемые значения, поскольку он ведет себя больше как выражение, чем функция / конструкция.

...