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 เดี่ยวด้วย ID คุณสามารถใช้โค้ดที่คล้ายกับวิธีการต่อไปนี้
// 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
สำหรับข้อสงสัยอื่นๆ ฉันสามารถใช้ได้บน Twitter (Jordan Hall)