cachet.php هي مكتبة عميل PHP لصفحة حالة Cachet (https://cachethq.io/).
يمكن أن تكون هذه المكتبة مفيدة لعرض التفاصيل من صفحة حالة Cachet الخاصة بك في أنظمة أخرى، مثل لوحة مراقبة المراقبة أو نظام تذاكر العميل أو أي تطبيقات ويب أخرى.
إذا كنت تريد الحصول على cachet.php باستخدام Composer، فقم بإلقاء نظرة على Packagist: https://packagist.org/packages/divineomega/cachetphp
قبل البدء، قم بتثبيت مكتبة cachet.php عبر Composer.
الآن، أنت بحاجة إلى إنشاء كائن CachetInstance الذي يمثل تثبيت Cachet الخاص بك. يمكنك القيام بذلك على النحو التالي:
require_once ' vendor/autoload.php ' ;
use DivineOmega CachetPHP Factories CachetInstanceFactory ;
// The API token for the demo instance is 9yMHsdioQosnyVK4iCVR.
$ cachetInstance = CachetInstanceFactory:: create ( ' https://demo.cachethq.io/api/v1/ ' , ' 9yMHsdioQosnyVK4iCVR ' );
من السهل استرداد البيانات من العناصر المختلفة لمثيل Cachet الخاص بك. ما عليك سوى استدعاء طريقة getter المناسبة على كائن $cachetInstance
الخاص بك. سيتم الاتصال بتثبيت Cachet وسيتم إرجاع مجموعة من الكائنات المناسبة للطلب.
$ components = $ cachetInstance -> getAllComponents (); // Components
$ incidents = $ cachetInstance -> getAllIncidents (); // Incidents
$ incidentUpdates = $ incidents [ 0 ]-> getAllIncidentUpdates (); // Incident Updates (Cachet 2.4.0 or above required)
$ metrics = $ cachetInstance -> getAllMetrics (); // Metrics
$ metricPoints = $ metrics [ 0 ]-> getAllMetricPoints (); // Metric Points
$ subscribers = $ cachetInstance -> getAllSubscribers (); // Subscribers
لاسترداد عنصر Cachet واحد بواسطة معرفه، يمكنك استخدام تعليمات برمجية مشابهة للطريقة التالية.
// Get incident by id
$ incident = $ cachetInstance -> getIncidentById ( $ incidentId );
إذا كنت ترغب في فرز النتائج الخاصة بك، يمكنك استخدام بناء الجملة التالي. يعمل هذا مع المكونات والحوادث والمقاييس ونقاط القياس والمشتركين.
// Get components sorted by name ascending
$ components = $ cachetInstance -> getAllComponents ( ' name ' , ' asc ' );
من السهل قراءة البيانات من كائنات عناصر Cachet المستردة. فقط قم بالوصول إلى متغيرات الأعضاء العامة الخاصة بهم.
فيما يلي مثال لإخراج المعرف والاسم والوصف والحالة لمكون Cachet.
// Get components
$ components = $ cachetInstance -> getAllComponents ();
// Display components
foreach ( $ components as $ component ) {
echo $ component -> id . ' - ' . $ component -> name . ' - ' . $ component -> description . ' - ' . $ component -> status ;
echo " <br/> " ;
}
راجع وثائق Cachet الرسمية للحصول على معلومات حول المتغيرات المتاحة لكل نوع من عناصر Cachet.
يمكنك إنشاء عنصر Cachet، مثل مكون أو حادثة بسهولة شديدة باستخدام مكتبة cachet.php . يتضمن ذلك إنشاء مصفوفة ترابطية من تفاصيل عناصر Cachet ثم تمريرها إلى طريقة الإنشاء ذات الصلة.
يوضح لك المثال التالي كيفية إنشاء مكون اختبار بسيط.
$ componentDetails = [ ' name ' => ' Test Component ' . rand ( 1 , 99999 ), ' status ' => 1 ];
$ component = $ cachetInstance -> createComponent ( $ componentDetails );
echo $ component -> id . ' - ' . $ component -> name . ' - ' . $ component -> description . ' - ' . $ component -> status ;
يوضح المثال الأكثر شمولاً أدناه كيفية إنشاء حادث وإضافة تحديث للحادث إليه. يرجى ملاحظة أن Cachet 2.4.0 أو أعلى مطلوب إذا كنت ترغب في استخدام تحديثات الأحداث.
$ incidentDetails = [ ' name ' => ' Test Incident ' . rand ( 1 , 99999 ), ' message ' => ' Incident message ' . rand ( 1 , 99999 ), ' status ' => 1 , ' visible ' => 1 ];
$ incident = $ cachetInstance -> createIncident ( $ incidentDetails );
$ incidentUpdateDetails = [ ' status ' => 2 , ' message ' => ' Test incident update ' . rand ( 1 , 99999 )];
$ incidentUpdate = $ incident -> createIncidentUpdate ( $ incidentUpdateDetails );
echo $ incidentUpdate -> id . ' - ' . $ incidentUpdate -> incident_id . ' - ' . $ incidentUpdate -> status . ' - ' . $ incidentUpdate -> message ;
يسمح لك cachet.php بإجراء تغييرات على عنصر Cachet وحفظ هذه التغييرات مرة أخرى في تثبيت Cachet الخاص بك. يتم ذلك عن طريق تغيير متغيرات الأعضاء العامة لعنصر Cachet مباشرةً، ثم استدعاء أسلوب save()
الخاص بالكائن.
يوضح المثال التالي كيفية تغيير اسم المكون وحالته، ثم حفظ التغييرات.
// Get components
$ components = $ cachetInstance -> getAllComponents ();
// Change component details
$ component [ 0 ]-> name = ' My awesome component ' ;
$ component [ 0 ]-> status = 1 ;
$ component [ 0 ]-> save ();
إذا قمت بإنشاء حادثة باستخدام component_id
، فيمكنك أيضًا تضمين component_status
لتغيير حالة المكون في نفس وقت إنشاء الحادث. انظر المثال أدناه.
$ incidentDetails = [ ' name ' => ' Test Incident ' . rand ( 1 , 99999 ), ' message ' => ' Incident message ' . rand ( 1 , 99999 ), ' status ' => 1 , ' visible ' => 1 ,
' component_id ' => 1 , ' component_status ' => 1 ];
$ incident = $ cachetInstance -> createIncident ( $ incidentDetails );
عند إنشاء تحديثات الحادث، يمكنك أيضًا تحديد component_status
لتغيير حالة المكون عند إنشاء تحديث الحادث. انظر المثال أدناه.
$ incidentUpdateDetails = [ ' status ' => 2 , ' message ' => ' Test incident update ' . rand ( 1 , 99999 ), ' component_status ' => 2 ];
$ incidentUpdate = $ incident -> createIncidentUpdate ( $ incidentUpdateDetails );
يمكنك أيضًا تغيير حالة المكون عبر حادث أو تحديث الحادث عن طريق تغيير component_status
على الكائن ذي الصلة وحفظه، كما هو موضح أدناه في الأمثلة أدناه. لاحظ أن هذا لن يعمل إلا إذا تم إنشاء الحادث باستخدام component_id
.
$ incident -> component_status = 2 ;
$ incident -> save ();
$ incidentUpdate -> component_status = 3 ;
$ incidentUpdate -> save ();
لحذف عنصر Cachet من تثبيت Cachet الخاص بك، ما عليك سوى استدعاء طريقة delete()
على كائن عنصر Cachet المناسب.
على سبيل المثال، لحذف حادثة، يمكنك القيام بما يلي.
// Get incidents
$ incidents = $ cachetInstance -> getAllIncidents ();
// Delete the first one
$ incidents [ 0 ]-> delete ();
إذا عثرت على خطأ أو ميزة جديدة، فيرجى الإبلاغ عنها باعتبارها مشكلة في GitHub.
للاستفسارات الأخرى، أنا متواجد على تويتر (قاعة الأردن).