如果有人在PHP中使用eval(),此方法的行为是否与包含字符串中的代码完全一样,除了存在解析错误时引发的错误之外?我知道安全问题,这只是一个临时的但必要的解决方案。谢谢。编辑:您如何制作一个类似Joomla的小型框架,该框架的页面上有模块,但是从数据库中加载了代码?此选项比为每个微小问题和功能制作模块和组件要灵活得多,页面是使用1个PHP文件从数据库生成的,页面内容基于页码。
它提供相同的结果,它不一定表现相同。最明显的区别是,eval
的运行速度明显慢,因为它必须在每次迭代时都执行解析步骤(绕过任何opcache),并且必须将其引导到运行的VM之上。另一个区别是include允许返回值,因为它的行为更像是表达式,而不是函数/构造。