php-tkui
können Sie Desktop-UI-Anwendungen nur mit PHP erstellen. Es nutzt dazu die FFI-Erweiterung und Tcl/Tk, sodass Sie keine externen Erweiterungen kompilieren oder installieren müssen.
ffi
Erweiterung muss aktiviert sein Stellen Sie sicher, dass Tcl/Tk in Ihrem Betriebssystem installiert ist. Für Debian/Ubuntu-basierte Distributionen können Sie es mit apt
installieren:
sudo apt install tcl tk
Überprüfen Sie als Nächstes, ob FFI
Erweiterung aktiviert ist:
php --ri ffi
Klonen Sie dieses Repository und probieren Sie die Demos aus:
git clone https://github.com/skoro/php-tkui.git php-tkui
cd php-tkui
composer install
php demos/buttons.php
Sie können einige Anwendungsfunktionen aktivieren, wie zum Beispiel:
Kopieren Sie das bereitgestellte .env.example
in .env
und passen Sie die Optionen an.
Im Debug-Modus können Sie herausfinden, welche Befehle von der Tcl-Engine ausgeführt werden. So aktivieren Sie den Debug-Modus:
DEBUG = true
DEBUG_LOG = php://stdout
Alle Debug-Meldungen werden an die Konsole gesendet. Sie können anstelle der Konsole einen Dateinamen angeben.
Um das Erscheinungsbild der Anwendung zu ändern, kommentieren Sie die Option THEME
aus und legen Sie eine der folgenden Optionen fest: clam , alt , default , classic . Zusätzliche Themes für Windows: winnative , xpnative , vista . Standardmäßig wird „Auto“ verwendet, wobei je nach Betriebssystem ein Thema festgelegt wird:
THEME = auto
Sie müssen eine der Tcl/Tk-Binärdistributionen installieren und den Pfad zu DLLs in der .env
Datei wie folgt festlegen:
WINDOWS_LIB_TCL=c:\tcltk\bin\tcl86t.dll
WINDOWS_LIB_TK=c:\tcltk\bin\tk86t.dll
Sie können auch Ihre eigene Tcl/Tk-Distribution erstellen. Schauen Sie sich das Dokument BUILD-WIN.md an, um zu erfahren, wie das geht.
Sie müssen eine der Tcl/Tk-Binärdistributionen wie für Windows installieren. Der einfachste Weg ist die Installation mit brew:
brew install tcl-tk
Dann müssen Sie Pfade zu Dylibs in .env
Datei festlegen:
DARWIN_LIB_TCL=/usr/local/Cellar/tcl-tk/[installed_version]/lib/libtcl8.6.dylib
DARWIN_LIB_TK=/usr/local/Cellar/tcl-tk/[installed_version]/lib/libtk8.6.dylib