مكتبة Sheetsu PHP متاحة من خلال الملحن.
يمكنك تحرير ملف composer.json الخاص بك أو فقط ضرب هذا الأمر في المحطة الخاصة بك
composer require emilianozublena/sheetsu-php
تحتاج إلى إنشاء مثيل لكائن Sheetsu الرئيسي وإعطاء sheetid يمكنك العثور على عنوان URL هذا على لوحة معلومات Sheetsu. تذكر استخدام التحميل التلقائي للملحن.
require ( ' vendor/autoload.php ' );
use Sheetsu Sheetsu ;
$ sheetsu = new Sheetsu ([
' sheetId ' => ' sheetId '
]); إذا كان لديك مصادقة HTTP الأساسية في واجهة برمجة التطبيقات الخاصة بك ، فيجب عليك تمرير key secret هنا ، مثل:
require ( ' vendor/autoload.php ' );
use Sheetsu Sheetsu ;
$ sheetsu = new Sheetsu ([
' sheetId ' => ' sheetId ' ,
' key ' => ' key ' ,
' secret ' => ' secret '
]);إذا كنت بحاجة ، يمكنك إعادة تهيئة (أو تهيئة) المكتبة بعد الإنشاء
# Initialize after creation
$ sheetsu = new Sheetsu ();
$ sheetsu -> initialize ([
' sheetId ' => ' sheetId ' ,
' key ' => ' key ' ,
' secret ' => ' secret '
])تأتي مكتبة SheetSu PHP مع تطبيق صغير لنوع بيانات التجميع التجريدي.
النماذج هي وحدات من المجموعات (في هذه الحالة ، يمثل كل نموذج صفًا من الورقة المحددة).
بدلاً من إعطاء صفائف لعميل Theetsu (لعمليات CRUD) ، يمكنك فعل شيء مثل هذا:
$ collection = new Collection ();
$ collection -> addMultiple ([
Model:: create ([ ' name ' => ' John ' ]),
Model:: create ([ ' name ' => ' Steve ' ])
]);
$ response = $ sheetsu -> create ( $ collection );المجموعات والموديلات هي الكائنين اللذين ستحصل عليهما في كل مرة تتصل فيها بآبار واجهة برمجة التطبيقات أيضًا.
رابط إلى المستندات
لإضافة بيانات إلى جداول بيانات Google أو إرسال مجموعة أو مجموعة من المصفوفات أو أكثر ببساطة ، العمل مع النماذج أو المجموعات ؛)
# Adds single row from array
$ sheetsu -> create ([ ' name ' => ' John ' ]);
# Adds multiple rows from array
$ sheetsu -> create ([
[ ' name ' => ' John ' ],
[ ' name ' => ' Steve ' ]
]);
# Adds single row from Model
$ sheetsu -> create (Model:: create ([ ' name ' => ' John ' ]));
# Adds multiple rows from Collection
$ collection = new Collection ();
$ collection -> addMultiple ([
Model:: create ([ ' name ' => ' John ' ]),
Model:: create ([ ' name ' => ' Steve ' ])
]);
$ response = $ sheetsu -> create ( $ collection );بعد إجراء المكالمة ، إرجاع كائن استجابة.
رابط إلى المستندات
اقرأ الورقة بأكملها
$ response = $ sheetsu -> read ();
$ collection = $ response -> getCollection ();تتيح وظيفة قراءة المعلمات 2
limit - الحد من عدد النتائجoffset - ابدأ من السجل الأول # Get first two rows from sheet starting from the first row
$ response = $ sheetsu -> read ( 2 , 0 );
$ collection = $ response -> getCollection ();رابط إلى المستندات
للحصول على صفوف تتطابق مع معايير البحث ، تمرير صفيف مع المعايير
# Get all rows where column 'id' is 'foo' and column 'value' is 'bar'
$ response = $ sheetsu -> search ([
' id ' => ' foo ' ,
' value ' => ' bar '
]);
$ collection = $ response -> getCollection ();
# Get all rows where column 'First name' is 'Peter' and column 'Score' is '42'
$ response = $ sheetsu -> search ([
' First name ' => ' Peter ' ,
' Score ' => ' 42 '
]);
$ collection = $ response -> getCollection ();
# Get first two row where column 'First name' is 'Peter',
# column 'Score' is '42' from sheet named "Sheet3"
$ response = $ sheetsu -> search ([
' First name ' => ' Peter ' ,
' Score ' => ' 42 '
], 2 , 0 );
$ collection = $ response -> getCollection ();
# Get first two row where column 'First name' is 'Peter',
# column 'Score' is '42' from sheet named "Sheet3"
# with ignore case
$ response = $ sheetsu -> search ([
' First name ' => ' Peter ' ,
' Score ' => ' 42 '
], 2 , 0 , true );
$ collection = $ response -> getCollection ();رابط إلى المستندات
لتحديث الصف (الصفوف) ، اسم عمود المرور وقيمته المستخدمة للعثور على الصف (الصفوف) وصفيف أو نموذج مع البيانات التي يتم تحديثها.
# Update all columns where 'name' is 'Peter' to have 'score' = 99 and 'last name' = 'Griffin'
$ model = Model:: create ([ ' score ' => ' 99 ' , ' last name ' => ' Griffin ' ]);
$ response = $ sheetsu -> update ( ' name ' , ' Peter ' , $ model ); بشكل افتراضي ، يتم إرسال طلب التصحيح ، والذي يقوم بتحديث القيم فقط الموجودة في المجموعة التي تم تمريرها إلى الطريقة. لإرسال طلب PUT ، تمرير الوسيطة الرابعة كونها true . اقرأ المزيد عن الفرق بين PUT و PATCH في مستندات Sheetsu.
رابط إلى المستندات
لحذف الصف (الصفوف) ، اسم عمود المرور وقيمته المستخدمة للعثور على الصف (الصفوف).
# Delete all rows where 'name' equals 'Peter'
$ response = $ sheetsu -> delete ( ' name ' , ' Peter ' );إذا كنت بحاجة إلى تغيير الورقة التي تعمل عليها ، فيمكنك القيام بذلك باستخدام وظيفة الورقة وتمرير معرف Sheetsu الجديد
# Change active sheetsu to 'THIS'
$ sheetsu -> sheet ( ' THIS ' )يمكنك أيضًا سلسلة هذه الوظيفة مع الآخرين ، مثل ذلك:
# Change active sheetsu to 'THIS'
$ sheetsu -> sheet ( ' THIS ' )-> read ();إذا كنت بحاجة إلى استخدام جدول البيانات بأكمله أمر سهل:
# Back to whole spreadsheet
$ sheetsu -> whole ()يمكنك أيضًا سلسلة هذه الوظيفة مع الآخرين ، مثل ذلك:
# Back to whole spreadsheet
$ sheetsu -> whole ()-> read ();تعالج مكتبة SheetSu PHP الاتصال من خلال فئة الاتصال. يستخدم هذا الفئة حليقة لإجراء الاتصالات ويستخدم فئة الاستجابة كعوائد. كائن الاستجابة هو الكائن المسؤول عن إعطاء المجموعات أو النماذج أو الأخطاء (أو أي استجابة أخرى من آخر مكالمة) معالجة الأخطاء من خلال كائن الاستجابة (تستخدم الاستجابة فئة errorhandler لتجريد كتلة المحاولة/الصيد ويقترن بإحكام فئة php errorexception)
$ response = $ sheetsu -> read ();
#if you need only the error messages, you can get the errors like this
$ errors = $ response -> getErrors ();
$ firstError = $ response -> getError ();
#if you need to get the exceptions thrown, do it like this.
$ exceptions = $ response -> getExceptions ();
$ firstException = $ response -> getException ();هذه المكتبة لديها أعلى من 97 ٪ من تغطية الكود. بعض الاختبارات لا تستخدم كائنات وهمية ، وهذا في قائمة المهام الخاصة بنا وآمل أن نفعل ذلك. يتم إعداد الاختبارات لاستخدامها مع phpunit ويتم تكوين جناح الاختبار عبر XML ، لذلك ستحتاج فقط إلى تنفيذ phpunit في نسختك المتشابكة من هذا الريبو مثل:
./vendor/bin/phpunit