Änderungsprotokoll
Mit npm installieren:
$ npm install php-wasm
Sie müssen den folgenden postinstall
Skripteintrag zu Ihrer package.json hinzufügen, um sicherzustellen, dass die statischen Assets für Ihre Webanwendung verfügbar sind. Stellen Sie sicher, dass Sie public/
bei Bedarf durch den Pfad zu Ihrem öffentlichen Dokumentstammverzeichnis ersetzen.
{
"scripts" : {
"postinstall" : [
" cp node_modules/php-wasm/php-web.* public/ "
]
},
}
Wenn Sie einen fortgeschritteneren Bundler verwenden, erfahren Sie in der Dokumentation des Anbieters, wie Sie die Dateien, die dem folgenden Muster entsprechen, in Ihr öffentliches Verzeichnis verschieben:
./node_modules/php-wasm/php-web.*
Die Verwendung von PHP-Wasm ist einfach.
Sobald die Bibliothek in die Seite eingebunden ist, können Sie PHP direkt über ein Skript-Tag ausführen! Das src-Attribut wird auch für Nicht-Inline-Skripte unterstützt.
< script type = " text/php " >
< ? php vrzno_run ( 'alert' , [ 'Hello, world!' ] ) ;
</ script >
Schnappen Sie sich zunächst eine Instanz des Objekts:
const PHP = require ( 'php-wasm/PhpWeb' ) . PhpWeb ;
const php = new PHP ;
oder in es6:
import { PhpWeb as PHP } from 'php-wasm/PhpWeb' ;
const php = new PHP ;
Fügen Sie dann einen Ausgabe-Listener hinzu:
php . addEventListener ( 'output' , ( event ) => {
console . log ( event . detail ) ;
} ) ;
Warten Sie unbedingt, bis Ihr WASM vollständig geladen ist, und führen Sie dann etwas PHP aus:
php . addEventListener ( 'ready' , ( ) => {
php . run ( '<?php echo "Hello, world!";' ) ;
} ) ;
Holen Sie sich den Ergebniscode Ihres Skripts mit then()
:
php . addEventListener ( 'ready' , ( ) => {
php . run ( '<?php echo "Hello, world!";' ) . then ( retVal => {
// retVal contains the return code.
} ) ;
} ) ;
Solange php.refresh()
nicht über Javascript aufgerufen wird, behält die Instanz ihren eigenen persistenten Speicher.
<?php
/ / Run this over and over again ...
print ++ $ x ;
Sehen Sie sich hier das Beispiel in Aktion an
Auf das DOM kann über die PHP-Erweiterung VRZNO zugegriffen werden. Dies ist speziell für den Browser gedacht, der PHP den Zugriff auf Javascript über eine C-API ermöglicht. Es ist mit PHP-Wasm vorinstalliert.
Sehen Sie sich hier das Beispiel in Aktion an
/ / 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 . ' " ' );
Führen Sie PIB aus
Für ein besseres Benutzererlebnis wird Firefox empfohlen.
Der schnellste Weg, PIB zu erstellen, ist die Verwendung von Make & Docker. Geben Sie einfach den Befehl make
ein, nachdem Sie das Repo ausgecheckt haben, und es wird erstellt.
make
Schritte:
bash configure.sh
ausbash build-objects.sh
ausbash build.sh
aus, um die Web-Binärdatei zu erstellen