บันทึกการเปลี่ยนแปลง
ติดตั้งด้วย npm:
$ npm install php-wasm
คุณจะต้องเพิ่มรายการสคริปต์ postinstall
ต่อไปนี้ลงใน package.json ของคุณเพื่อให้แน่ใจว่าเว็บแอปพลิเคชันของคุณมีเนื้อหาคงที่ ตรวจสอบให้แน่ใจว่าได้แทนที่ 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 ;
จากนั้นเพิ่ม Listener เอาต์พุต:
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 เข้าถึง Javascript ผ่าน C api มันมาพร้อมกับ 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
หลังจากตรวจสอบ repo แล้วมันจะสร้าง
make
ขั้นตอน:
bash configure.sh
bash build-objects.sh
bash build.sh
เพื่อสร้างเว็บไบนารี