변경 내역
npm으로 설치:
$ npm install php-wasm
웹 애플리케이션에서 정적 자산을 사용할 수 있도록 하려면 package.json에 다음 postinstall
스크립트 항목을 추가해야 합니다. 필요한 경우 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 ;
여기에서 실제 사례를 확인하세요.
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를 사용하는 것입니다. repo를 확인한 후 make
명령을 실행하면 빌드됩니다.
make
단계:
bash configure.sh
실행하세요.bash build-objects.sh
실행bash build.sh
실행하여 웹 바이너리를 빌드하세요.