
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添加yor python路徑
我們使用這些庫來創建phpy.py:
import sys
import json
import base64
import numpy as np
import cv2import phpy.py文件中的python/include/library/php.py
從PHP獲取數據
獲取數據到python文件以獲取數據必須
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()返回的內容
$ app -> img ( $ output , $ type , $ show , $ style )$類型必須在php.push_img()中是相同的類型
如果$顯示為真,請在IMG標籤中顯示圖像
您也可以為此設置樣式
例子
$ app -> img ( $ output , $ type , true ,
[
' border ' => ' 1px solid red '
])小路
例如,我在此棘手中有圖像文件,但是python/**。 py中的python文件,我想將路徑發送到它。為此,必鬚髮送此路徑../ my-img或使用此函數來發送路徑文件或目錄
$ app -> path (__Dir__,path)ini
如果您在php文件中有循環,則最好將此功能添加到文件頂部
$ app -> ini ()片段
一行
如果要運行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()之前
$ python -> set ( " ../Python/test6.py " )-> send ( $ site )-> live ()-> gen (
function ( $ res ) {
return " <pre> $ res </pre> " ;
}
);您也可以設置時間,而無需每次閱讀ouput(Defult是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> " ;});執照
麻省理工學院許可證
版權(C)2021 Raeen Ahani Azari
特此免費授予獲得此軟件副本和相關文檔文件副本(“軟件”)的任何人,以無限制處理該軟件,包括無限制的使用權,複製,複製,修改,合併,合併,發布,分發,分發,分發,訂婚,和/或允許軟件的副本,並允許對以下條件提供以下條件,以下是以下條件。
上述版權通知和此許可通知應包含在軟件的所有副本或大量部分中。
該軟件是“原樣”提供的,沒有任何形式的明示或暗示保證,包括但不限於適銷性,特定目的的適用性和非侵權的保證。在任何情況下,作者或版權持有人都不應對任何索賠,損害賠償或其他責任責任,無論是在合同,侵權的訴訟中還是其他責任,是由軟件,使用或與軟件中的使用或其他交易有關的。
例子
phpy示例中有例子
作者Raeen Ahani Azari