pib
1.0.0
变更日志
使用 npm 安装:
$ npm install php-wasm
您需要将以下postinstall
脚本条目添加到 package.json 以确保静态资源可供您的 Web 应用程序使用。如有必要,请确保将public/
替换为公共文档根目录的路径。
{
"scripts" : {
"postinstall" : [
" cp node_modules/php-wasm/php-web.* public/ "
]
},
}
如果您使用的是更高级的捆绑程序,请使用供应商的文档来了解如何将与以下模式匹配的文件移动到您的公共目录:
./node_modules/php-wasm/php-web.*
使用 php-wasm 很简单。
一旦库包含在页面中,您就可以直接从脚本标签运行 PHP!非内联脚本也支持 src 属性。
< script type = " text/php " >
< ? php vrzno_run ( 'alert' , [ 'Hello, world!' ] ) ;
</ script >
首先,获取对象的实例:
const PHP = require ( 'php-wasm/PhpWeb' ) . PhpWeb ;
const php = new PHP ;
或者,在 es6 中:
import { PhpWeb as PHP } from 'php-wasm/PhpWeb' ;
const php = new PHP ;
然后,添加一个输出监听器:
php . addEventListener ( 'output' , ( event ) => {
console . log ( event . detail ) ;
} ) ;
请务必等到 WASM 完全加载,然后运行一些 PHP:
php . addEventListener ( 'ready' , ( ) => {
php . run ( '<?php echo "Hello, world!";' ) ;
} ) ;
使用then()
获取脚本的结果代码:
php . addEventListener ( 'ready' , ( ) => {
php . run ( '<?php echo "Hello, world!";' ) . then ( retVal => {
// retVal contains the return code.
} ) ;
} ) ;
只要php.refresh()
不是从 Javascript 调用,实例就会维护自己的持久内存。
<?php
/ / Run this over and over again ...
print ++ $ x ;
请参阅此处的实际示例
可以通过 VRZNO php 扩展访问 DOM。这是专门针对允许 PHP 通过 C api 访问 Javascript 的浏览器。它预装了 php-wasm。
请参阅此处的实际示例
/ / Show an alert with vrzno_run . Note the second param is an array of args .
vrzno_run ( ' alert ' , [ ' Hello, World! ' ]);
$ oldTitle = NULL ;
$ newTitle = ' Changed@ ' . date ( ' h:i:s ' );
/ / Grab the current title.
$ oldTitle = vrzno_eval ( ' document.title ' );
/ / Change the document title.
vrzno_eval ( ' document.title = " ' . $ newTitle . ' " ' );
运行PIB
为了获得更好的用户体验,推荐使用火狐浏览器。
构建 PIB 的最快方法是使用 Make 和 Docker。只需在检查存储库后发出make
命令,它就会构建。
make
步骤:
bash configure.sh
bash build-objects.sh
bash build.sh
构建 Web 二进制文件