
PHPYはPHPのライブラリです
PHPでPythonを使用できます
インストール
git clone https://github.com/Raeen123/phpycomposer require raeen/phpy前提条件
これは私の構成です:
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
パス環境にPythonを追加しない場合は、 const python_pathのcore/Python.phpにpythonパスを追加する必要があります
これらのライブラリを使用してphpy.pyを作成します。
import sys
import json
import base64
import numpy as np
import cv2python/include/library/php.pyにphpy.pyファイルをインポートします
PHPからデータを取得します
データを取得するデータを取得するデータを取得する必要があります
phpy . get_data ( Number Of Send data )戻りデータの場合、印刷機能を使用する必要があります
Pythonからデータをプッシュします
phpy . push_data ( data )それはただです
json . dumps ( data )Pythonから画像を押します
PythonからPHPにデータをプッシュするために機能します
画像を読むための例
cv2 . imread () videoCaptureObject = cv2 . VideoCapture ( 0 )
ret , frame = videoCaptureObject . read ()画像を押す
phpy . push_image ( img , type )PHPからデータを送信します
PHPからPythonにデータを作成して送信します
無限データを送信できます
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 ();ライブ出力の例:
$ site = " google.com " ;
$ python -> set ( ' ../Python/test6.py ' )-> send ( $ data )-> live ()-> gen ();結果を表示します
$ output = $ python -> set (path)-> send (datas. . )-> gen ()IMGを表示します
この関数を使用して、phpy.push_img()からのリターンをGenRateすることができます
$ app -> img ( $ output , $ type , $ show , $ style )$タイプはphp.push_img()で同じタイプでなければなりません
$ showがtrueの場合は、imgタグの画像を表示します
また、これにスタイルを設定できます
例
$ app -> img ( $ output , $ type , true ,
[
' border ' => ' 1px solid red '
])パス
たとえば、このDiractoryにはPython/**のPythonファイルに画像ファイルがあります。このためにこのパスを送信する必要があります../my-imgまたはこのfunctiuonを使用してパスファイルまたはディレクトリを送信します
$ app -> path (__Dir__,path)ini
PHPファイルにループがある場合は、ファイルの上部にこの関数を追加することをお勧めします
$ app -> ini ()スニペット
1行
Pythonラインを実行する場合は、この機能を使用する必要があります
$ Snippet -> set ( $ code , function (){
// controller
})-> gen ();制御バリブルの場合、 |&name|に名前が必要です。
バージョンを入力するには、 return array必要があります、それは順番でなければなりません
" Pythonコードと使用」を使用する必要があります;各行の最後に
$ 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 ();線
コードの作成を開始する前に開始する必要があります。これを使用する必要があります
$ Snippet -> start (name);コードを書くには、これを使用する必要があります
$ Snippet -> line (code)
.
.
.行の終わりのために
$ Snippet -> end (name,save_last)開始関数の名前はこの名前と同じでなければなりません
どこでも出力を取得するには、これを使用する必要があります
$ Snippet -> select (name)-> gen ()例、index.php:
$ Snippet -> start ( " test " );
$ Snippet -> line ( " a = 'Hello world' " );
$ Snippet -> line ( " print(a) " );
$ Snippet -> end ( " test " );
$ Snippet -> select ( " test " )-> gen (); Output : Hello world
このコードを別のファイルで使用できます
$ Snippet -> select ( " test " )-> gen (); Output : Hello world
ライブ出力任意の場所(スニペットとPythonクラス)あなたはこれをとても簡単に使用できます
gen()を使用する直前にlive()を使用してから `` genを使用します(/ *ここで機能を記述して出力を制御できます */)
$ python -> set ( " ../Python/test6.py " )-> send ( $ site )-> live ()-> gen (
function ( $ res ) {
return " <pre> $ res </pre> " ;
}
);読み取りごとに時間を設定することもできます(defult is 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> " ;});ライセンス
MITライセンス
Copyright(c)2021 Raeen Ahani Azari
このソフトウェアと関連するドキュメントファイル(「ソフトウェア」)のコピーを入手して、制限なしにソフトウェアを扱うために、このソフトウェアを制限する権利を含め、ソフトウェアのコピーをコピー、変更、公開、配布、販売する、ソフトウェアのコピーを許可する人を許可する人を許可することを含めて、許可が無料で許可されます。
上記の著作権通知とこの許可通知は、ソフトウェアのすべてのコピーまたはかなりの部分に含まれるものとします。
このソフトウェアは、商品性、特定の目的への適合性、および非侵害の保証を含むがこれらに限定されない、明示的または黙示的なものを保証することなく、「現状のまま」提供されます。いかなる場合でも、著者または著作権所有者は、契約、不法行為、またはその他の訴訟、ソフトウェアまたはソフトウェアの使用またはその他の取引に関連する、またはその他の契約、またはその他の請求、またはその他の責任について責任を負いません。
例
phpy-examplesには例があります
Raeen Ahani Azariによる