
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
بيثون
يجب عليك إذا لم تقم بإضافة بيثون في بيئة المسار ، أضف مسار بيثون في 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
احصل على بيانات إلى ملف Python للحصول على بيانات يجب عليك
phpy . get_data ( Number Of Send data )بالنسبة لبيانات الإرجاع ، يجب عليك استخدام وظيفة الطباعة
ادفع البيانات من Python
phpy . push_data ( data )إنه عادل
json . dumps ( data )ادفع الصورة من بيثون
تعمل لدفع البيانات من 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 هذا في Python/**. PY وأريد إرسال المسار إليه. لهذا يجب أن يرسل هذا المسار ..
$ app -> path (__Dir__,path)إيني
إذا كان لديك حلقة في ملف PHP ، فمن الجيد جدًا إضافة هذه الوظيفة في أعلى الملف
$ app -> ini ()مقتطف
سطر واحد
إذا كنت ترغب في تشغيل خط Python ، فيجب عليك استخدام هذه الوظيفة
$ Snippet -> set ( $ code , function (){
// controller
})-> gen (); للتحكم المتنوع ، يجب عليك الاسم في |&name|
بالنسبة للملء ، يجب عليك return array ، يجب أن يكون بالترتيب
يجب استخدام " في رمز الثعبان واستخدامه ; في نهاية كل سطر
$ 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
إخراج مباشر في أي مكان (SNIPPET و 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> " ;});رخصة
رخصة معهد ماساتشوستس للتكنولوجيا
حقوق الطبع والنشر (ج) 2021 راين آهاني أزاري
يتم منح الإذن بموجب هذا ، مجانًا ، لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة به ("البرنامج") ، للتعامل في البرنامج دون تقييد ، بما في ذلك على سبيل المثال لا الحصر حقوق استخدام الأشخاص ونسخها ودمجها ودمجها وتوزيعها وتوزيعها على ما يلي:
يجب إدراج إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.
يتم توفير البرنامج "كما هو" ، دون أي ضمان من أي نوع ، صريح أو ضمني ، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق واللياقة لغرض معين وعدم الانفجار. لا يجوز بأي حال من الأحوال أن يكون المؤلفون أو حاملي حقوق الطبع والنشر مسؤولاً عن أي مطالبة أو أضرار أو مسؤولية أخرى ، سواء في إجراء عقد أو ضرر أو غير ذلك ، ناشئة عن أو خارج البرنامج أو الاستخدام أو غيرها من المعاملات في البرنامج.
مثال
هناك أمثلة في أمثلة phpy
بقلم رايين أهاني أزاري