変更ログ
npm でインストールします。
$ npm install php-wasm
静的アセットを Web アプリケーションで確実に利用できるようにするには、次のpostinstall
スクリプト エントリを package.json に追加する必要があります。必要に応じて、 public/
パブリック ドキュメント ルートへのパスに置き換えてください。
{
"scripts" : {
"postinstall" : [
" cp node_modules/php-wasm/php-web.* public/ "
]
},
}
より高度なバンドラーを使用している場合は、ベンダーのドキュメントを使用して、次のパターンに一致するファイルをパブリック ディレクトリに移動する方法を学習してください。
./node_modules/php-wasm/php-web.*
php-wasm の使用は簡単です。
ライブラリがページに含まれると、script タグから直接 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 ;
ここで実際の例を参照してください
DOM には、VRZNO php 拡張機能を介してアクセスできます。これは、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の実行
ユーザーエクスペリエンスを向上させるには、Firefox をお勧めします。
PIB を構築する最も簡単な方法は、Make & Docker を使用することです。リポジトリをチェックアウトした後にmake
コマンドを発行するだけでビルドされます。
make
手順:
bash configure.sh
実行するbash build-objects.sh
を実行するbash build.sh
実行して Web バイナリをビルドします