
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