如何执行字符串的PHP代码

发布时间:2020-06-24 03:39:30 作者:wx584e19a803200
来源:网络 阅读:1513

最近因项目需要,引出一个议题:如何执行字符串的php代码(php和html混写)。
注:传统情况下,php代码存储在文件中,直接运行文件即可。以下讨论的情况是,如果php代码是从数据库中获取到,那么要如何运行?

最直观的方案

进一步的瞎想

几种思路的验证

总结

现在已经有3种方式可以做成这个事情,那么哪种方式更好
1:写临时文件,加缓存,直接include
2: eval,官方手册上说这个函数有安全问题
3:自定义协议,直接include

首先排除方法1,原因1:缓存文件会增加硬盘I/O。原因2:不够专业(这不是小问题)
至于eval提到的安全问题,仔细阅读手册上写的那段话后,发现他只是提示你现在正在运行一段项目代码以外的代码,请多小心。
这样看来,方法2并没有比方法3更危险。


选取标准,如果项目中只有一个很小的功能需要执行php字符串,那直接使用eval即可
如果项目中有大量的此类需求,封装一个自定义协议会很方便。
项目中的引用会是这样的: include("protocolName://param");

好吧,以上提供的大部分都是思路,希望思路对你有用


推荐阅读:
  1. discuz 3.2 discuz_application.php代码执行逻辑顺序分析
  2. ecshop如何直接在dwt,lbi模板文件中执行php代码

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php 协议 eval

上一篇:VS 0xC0000005 运行错误分析

下一篇:Uncaught SyntaxError: Unexpected end of input 错误

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》