
PHPY เป็นห้องสมุดสำหรับ PHP
คุณสามารถใช้ Python ใน PHP ด้วย
ติดตั้ง
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 Yor ใน core/Python.php ใน const python_path
เราใช้ไลบรารีเหล่านี้เพื่อสร้าง phpy.py:
import sys
import json
import base64
import numpy as np
import cv2นำเข้าไฟล์ phpy.py ใน python/include/library/php.py
รับข้อมูลจาก PHP
รับไฟล์ Data to 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
คุณสามารถใช้ฟังก์ชั่นนี้เพื่อ genrate สิ่งที่ผลตอบแทนจาก phpy.push_img ()
$ app -> img ( $ output , $ type , $ show , $ style )$ ประเภทต้องเป็นประเภทเดียวกันใน php.push_img ()
หาก $ show เป็นจริงแสดงภาพในแท็ก IMG
นอกจากนี้คุณสามารถกำหนดสไตล์สำหรับสิ่งนี้ได้
ตัวอย่าง
$ app -> img ( $ output , $ type , true ,
[
' border ' => ' 1px solid red '
])เส้นทาง
ตัวอย่างเช่นฉันมีไฟล์รูปภาพในไฟล์ diractory แต่ Python ใน Python/**. py และฉันต้องการส่งพา ธ ไป สำหรับสิ่งนี้ในการส่งเส้นทางนี้ ../MY-IMG หรือใช้ functiuon นี้สำหรับส่งไฟล์พา ธ หรือไดเรกทอรี
$ app -> path (__Dir__,path)อินนิ
หากคุณมีลูปในไฟล์ 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() จากนั้นใช้ `` `gen (/ * คุณสามารถเขียนฟังก์ชั่นได้ที่นี่เพื่อควบคุมเอาต์พุต */)
$ 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> " ;});ใบอนุญาต
ใบอนุญาต MIT
ลิขสิทธิ์ (c) 2021 Raeen Ahani Azari
ได้รับอนุญาตโดยไม่ต้องเสียค่าใช้จ่ายสำหรับบุคคลใด ๆ ที่ได้รับสำเนาซอฟต์แวร์นี้และไฟล์เอกสารที่เกี่ยวข้อง ("ซอฟต์แวร์") เพื่อจัดการในซอฟต์แวร์โดยไม่มีการ จำกัด รวมถึง แต่ไม่ จำกัด เฉพาะสิทธิ์ในการใช้สำเนาดัดแปลงผสานเผยแพร่เผยแพร่
ประกาศลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในสำเนาทั้งหมดหรือส่วนสำคัญของซอฟต์แวร์
ซอฟต์แวร์มีให้ "ตามสภาพ" โดยไม่มีการรับประกันใด ๆ ไม่ว่าโดยชัดแจ้งหรือโดยนัยรวมถึง แต่ไม่ จำกัด เฉพาะการรับประกันความสามารถในการค้าการออกกำลังกายสำหรับวัตถุประสงค์เฉพาะและการไม่เข้าร่วม ไม่ว่าในกรณีใดผู้เขียนหรือผู้ถือลิขสิทธิ์จะต้องรับผิดชอบต่อการเรียกร้องความเสียหายหรือความรับผิดอื่น ๆ ไม่ว่าจะเป็นการกระทำของสัญญาการละเมิดหรืออื่น ๆ ที่เกิดขึ้นจากหรือเกี่ยวข้องกับซอฟต์แวร์หรือการใช้งานหรือการติดต่ออื่น ๆ ในซอฟต์แวร์
ตัวอย่าง
มีตัวอย่างในตัวอย่าง phpy
โดย Raeen Ahani Azari