PHP eval()是否类似于包含? (使用DB中的代码加载页面)

问题描述 投票:-2回答:1

如果有人在PHP中使用eval(),此方法的行为是否与包含字符串中的代码完全一样,除了存在解析错误时引发的错误之外?我知道安全问题,这只是一个临时的但必要的解决方案。谢谢。编辑:您如何制作一个类似Joomla的小型框架,该框架的页面上有模块,但是从数据库中加载了代码?此选项比为每个微小问题和功能制作模块和组件要灵活得多,页面是使用1个PHP文件从数据库生成的,页面内容基于页码。

php frameworks include eval
1个回答
0
投票

它提供相同的结果,它不一定表现相同。最明显的区别是,eval的运行速度明显慢,因为它必须在每次迭代时都执行解析步骤(绕过任何opcache),并且必须将其引导到运行的VM之上。另一个区别是include允许返回值,因为它的行为更像是表达式,而不是函数/构造。

© www.soinside.com 2019 - 2024. All rights reserved.