加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

什么是PHP v8js中的扩展?

发布时间:2020-12-13 18:03:47 所属栏目:PHP教程 来源:网络整理
导读:我已经开始使用v8js与php一段时间了,但文档很薄. 没有解释的一件事是Extensions. 有可能是registerExtension,但没有详细解释这些行为或其目的或好处的行为. 任何人都可以提供一个很好的描述或链接到解释扩展的文档? 感谢大家花时间阅读和回答:-) 原始答案
我已经开始使用v8js与php一段时间了,但文档很薄.

没有解释的一件事是Extensions.

有可能是registerExtension,但没有详细解释这些行为或其目的或好处的行为.

任何人都可以提供一个很好的描述或链接到解释扩展的文档?

感谢大家花时间阅读和回答:-)

原始答案

我的原始答案表明,每次执行executeString时都会调用扩展名.

更正了答案

扩展是在给定V8Js实例的第一个executeString调用之前执行的一些代码.
扩展可以是所有V8J实例的全局扩展,也可以是特定实例的本地扩展.

我已经通过实验确定这并不总是非常可靠.如果你疯狂刷新一个页面,你可能并不总是看到扩展程序运行…这可能是为什么这是beta版软件.

这是我掀起的两个例子

全球扩展示例

V8Js::registerExtension('say_hi','print("hey from extension! "); var said_hi=true;',array(),true);
$v8 = new V8Js();
$v8->executeString('print("hello from regular code!")','test.php');
$v8->executeString('if (said_hi) { print(" extension already said hi"); }');

产量

hey from extension! hello from regular code! extension already said hi

非全球范例

V8Js::registerExtension('say_hi','print("hey from non global extension! "); var said_hi=true;');
$v8 = new V8Js('PHP',array('say_hi'));
$v8->executeString('print("hello from regular code!");','test.php');
$v8->executeString('if (said_hi) { print(" extension already said hi"); }');

产量

hey from non global extension! hello from regular code! extension already said hi

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读