
Phpy ist Bibliothek für PHP
Sie können Python in PHP damit verwenden
Installieren
git clone https://github.com/Raeen123/phpycomposer require raeen/phpyVoraussetzungen
Dies ist eine Minenkonfiguration:
php = 8.0.1 (Your php version must be at least 7.4 )
python = 3.9.1
numpy = 1.19.3
python-opencv = 4.4.0.46
Python
Sie müssen, wenn Sie Python in Ihrer Pfadumgebung nicht hinzufügen, Ihren Python -Pfad in core/Python.php in const python_path hinzufügen
Wir verwenden diese Bibliotheken, um Phpy.py zu erstellen:
import sys
import json
import base64
import numpy as np
import cv2Importieren Sie die Datei phpy.py in Python/include/bibliothek/php.py
Holen Sie sich Daten von PHP
Holen Sie sich Daten in die Python -Datei für den GET -Daten, den Sie müssen
phpy . get_data ( Number Of Send data )Für Rückgabedaten müssen Sie die Druckfunktion verwenden
Daten aus Python drücken
phpy . push_data ( data )Es ist gerecht
json . dumps ( data )Bild von Python drücken
Es ist Funktion zum Drücken von Daten von Python zu PHP
Beispiel für das Lesen des Bildes
cv2 . imread () videoCaptureObject = cv2 . VideoCapture ( 0 )
ret , frame = videoCaptureObject . read ()Bildschieben
phpy . push_image ( img , type )Senden Sie Daten von PHP
Erstellen und senden Sie Daten von PHP an Python
Sie können unendliche Daten senden
require_once " ../vendor/autoload.php " ;
use app core App ;
$ app = new App ();
$ python = $ app -> python ;
$ data1 = [
' name ' => ' raeen ' ,
' library ' => ' phpy '
];
$ data2 = " test " ;
$ output = $ python -> set ( " ../Python/test2.py " )-> send ( $ data1 , $ data2 )-> gen ();Beispiel für Live -Ausgänge:
$ site = " google.com " ;
$ python -> set ( ' ../Python/test6.py ' )-> send ( $ data )-> live ()-> gen ();Ergebnis zeigen
$ output = $ python -> set (path)-> send (datas. . )-> gen ()Zeigen img
Sie können diese Funktion verwenden, um die Rückkehr von phpy.push_img () zu genrieren
$ app -> img ( $ output , $ type , $ show , $ style )$ type muss der gleiche Typ in php.push_img () sein
Wenn $ show wahr ist, zeigen Sie das Bild im IMG -Tag
Sie können auch den Stil dafür festlegen
Beispiel
$ app -> img ( $ output , $ type , true ,
[
' border ' => ' 1px solid red '
])Weg
Zum Beispiel habe ich eine Bilddatei in dieser Diraktorik, aber Python -Datei in Python/**. Py und ich möchte den Pfad an ihn senden. dazu in MUSS, um diesen Pfad zu senden.
$ app -> path (__Dir__,path)Ini
Wenn Sie eine Schleife in der PHP -Datei haben, ist es sehr gut, diese Funktion oben in der Datei hinzuzufügen
$ app -> ini ()Snippet
Eine Zeile
Wenn Sie eine Python -Linie ausführen möchten, sollten Sie diese Funktion verwenden
$ Snippet -> set ( $ code , function (){
// controller
})-> gen (); Für die Steuerungsvariable sollte der Name in |&name|
Für die Füllvariable sollten Sie return array , es muss in Ordnung sein
Sie müssen " in Python Code und Verwendung verwenden ; am Ende jeder Zeile
$ Snippet = $ app -> snippet ;
$ Snippet -> set ( " print(f'hello world {|&data|*7*|&test|}'); print('--Hello') " ,
function ( $ data , $ test ) {
$ data = 2 ;
$ test = 9 ;
$ data2 = $ data * 5 ;
return [ $ data2 , $ test ];
})-> gen ();Linien
Beginnen Sie vor dem Schreiben von Codes, Sie sollten dies verwenden
$ Snippet -> start (name);Für das Schreiben Ihrer Codes sollten Sie dies verwenden
$ Snippet -> line (code)
.
.
.Für das Ende der Linien
$ Snippet -> end (name,save_last)Name in der Startfunktion muss der gleiche sein. Dieser Name
Um diese überall dort auszugeben, sollten Sie dies verwenden
$ Snippet -> select (name)-> gen ()Beispiel Index.php:
$ Snippet -> start ( " test " );
$ Snippet -> line ( " a = 'Hello world' " );
$ Snippet -> line ( " print(a) " );
$ Snippet -> end ( " test " );
$ Snippet -> select ( " test " )-> gen (); Output : Hello world
Sie können diesen Code in einer anderen Datei verwenden
$ Snippet -> select ( " test " )-> gen (); Output : Hello world
Live -Ausgangsausgabe alle wo (Snippet- und Python -Klasse) Sie können dies so einfach verwenden
Kurz vor der Verwendung gen() verwenden Sie live() und verwenden Sie dann `` `gen (/ * Sie können die Funktion hier schreiben, um die Ausgabe zu steuern */)
$ python -> set ( " ../Python/test6.py " )-> send ( $ site )-> live ()-> gen (
function ( $ res ) {
return " <pre> $ res </pre> " ;
}
);Sie können auch Zeit ohne jede Lesung einstellen (Defult ist 1)
$ python -> set ( " ../Python/test6.py " )-> send ( $ site )-> live ()-> ini ( 3 )-> gen (
function ( $ res ) {
return " <pre> $ res </pre> " ;
}
); $ Snippet -> set (
" import subprocess as sub; sub.call('ping |&site|') " , function ( $ site ){ $ site = " google.com " ; return [ $ site ];}
)-> live ()-> ini ( 3 )-> gen (); $ Snippet -> select ( ' snippet-test8 ' )-> live ()-> gen ( function ( $ res ){ return " <b><pre> $ res </pre></b> " ;});Lizenz
MIT -Lizenz
Copyright (C) 2021 Raeen Ahani Azari
Die Erlaubnis wird hiermit einer Person, die eine Kopie dieser Software und zugehörigen Dokumentationsdateien (der "Software") erhält, kostenlos erteilt, um die Software ohne Einschränkung zu behandeln, einschließlich ohne Einschränkung der Rechte, zu verwenden, zu kopieren, zu modifizieren, zusammenzufassen, zu veröffentlichen, zu veröffentlichen, zu verteilen, zu verteilt, und/oder Kopien der Software zu ermöglichen, um Personen zu beanstanden, an denen die Software zugänglich ist, um die folgenden Bedingungen zu beantragen.
Die oben genannte Copyright -Mitteilung und diese Erlaubnisbekanntmachung müssen in alle Kopien oder wesentlichen Teile der Software enthalten sein.
Die Software wird "wie es ist" ohne Garantie jeglicher Art, ausdrücklich oder stillschweigend bereitgestellt, einschließlich, aber nicht beschränkt auf die Gewährleistung der Handelsfähigkeit, die Eignung für einen bestimmten Zweck und die Nichtverletzung. In keinem Fall sind die Autoren oder Urheberrechtsinhaber für Ansprüche, Schäden oder andere Haftungen haftbar, sei es in einer Vertragsklage, unerbittlich oder auf andere Weise, die sich aus oder im Zusammenhang mit der Software oder anderen Geschäften in der Software ergeben.
Beispiel
Es gibt Beispiele in Phpy-Examples
Von Raeen Ahani Azari