FuelPHP - เหตุการณ์
อัน eventเป็นการกระทำหรือเหตุการณ์ที่โปรแกรมยอมรับซึ่งโปรแกรมอาจจัดการเอง ตัวอย่างเช่นเราอาจกำหนดการกระทำหรือเหตุการณ์ที่ชื่อว่า my_fuel_event จากนั้นทำงานบางอย่างเมื่อใดก็ตามที่เกิดเหตุการณ์ my_fuel_event จะถูกเรียก FuelPHP ให้คลาสEvent เพื่อทำงานกับเหตุการณ์ในแอปพลิเคชัน
เหตุการณ์ของระบบ
FuelPHP กำหนดเหตุการณ์บางอย่างซึ่งเราสามารถทำงานบางอย่างได้เมื่อใดก็ตามที่เหตุการณ์ที่กำหนดถูกเรียกหรือเริ่มทำงานโดยแอปพลิเคชัน วิธีใช้นี้จะเปลี่ยนพฤติกรรมของ FuelPHP โดยไม่ต้องเปลี่ยนไฟล์รหัสหลักของ FuelPHP เหตุการณ์ที่กำหนดไว้ล่วงหน้ามีดังนี้ -
app_created - เหตุการณ์นี้จะถูกเรียกใช้หลังจากที่เฟรมเวิร์ก FuelPHP ถูกเริ่มต้น
request_created - เหตุการณ์นี้จะเกิดขึ้นหลังจากที่มีการปลอมแปลงวัตถุคำขอใหม่
request_started - เหตุการณ์นี้จะเกิดขึ้นเมื่อมีการร้องขอการดำเนินการ
controller_started - เหตุการณ์นี้จะถูกเรียกก่อนที่ตัวควบคุมก่อนที่จะเรียกวิธีการ ()
controller_finished - เหตุการณ์นี้จะถูกทริกเกอร์หลังจากที่มีการเรียกใช้เมธอด controllers after () และได้รับการตอบสนอง
response_created - เหตุการณ์นี้จะเกิดขึ้นหลังจากที่มีการปลอมแปลงวัตถุตอบกลับใหม่
request_finished - เหตุการณ์นี้จะเกิดขึ้นเมื่อการดำเนินการตามคำขอเสร็จสมบูรณ์และได้รับการตอบกลับ
shutdown - เหตุการณ์นี้จะถูกทริกเกอร์หลังจากที่คำขอหลักได้รับการประมวลผลและส่งผลลัพธ์แล้ว
เราสามารถจัดการเหตุการณ์ในไฟล์กำหนดค่าพิเศษ fuel/app/config/events.php ดังต่อไปนี้ -
<?php
return array (
'fuelphp' => array (
'app_created' => function() {
// After FuelPHP initialised
},
'request_created' => function() {
// After Request forged
},
'request_started' => function() {
// Request is requested
},
'controller_started' => function() {
// Before controllers before() method called
},
'controller_finished' => function() {
// After controllers after() method called
},
'response_created' => function() {
// After Response forged
},
'request_finished' => function() {
// Request is complete and Response received
},
'shutdown' => function() {
// Output has been send out
},
),
);
วิธีการจัดงาน
คลาสเหตุการณ์มีวิธีการลงทะเบียนยกเลิกการลงทะเบียนและเหตุการณ์ที่เกิดขึ้น มีดังนี้
ลงทะเบียน ()
เมธอด register อนุญาตให้ไฟล์ลงทะเบียนอ็อบเจ็กต์ที่จะรันเมื่อเรียกใช้เมธอดทริกเกอร์
$my_event_code = function() {
echo 'my event';
}
Event::register('my_event', $my_event_code);
ยกเลิกการลงทะเบียน ()
วิธีการยกเลิกการลงทะเบียนอนุญาตให้ไฟล์ยกเลิกการลงทะเบียนอ็อบเจ็กต์ที่จะรันเมื่อเรียกใช้เมธอดทริกเกอร์
Event::unregister('my_event', $my_event_code);
ทริกเกอร์ ()
วิธีการทริกเกอร์ใช้เพื่อทริกเกอร์หรือเปิดใช้งานการโทรกลับที่เกี่ยวข้องผ่านวิธีการลงทะเบียน
Event::trigger('my_event');
has_events ()
มีวิธี has_events เพื่อให้คุณตรวจสอบได้ว่าเหตุการณ์ที่ลงทะเบียนไว้มีทริกเกอร์หรือไม่
Event::has_events('my_event');
ปลอม()
การปลอมจะส่งคืนอ็อบเจ็กต์เหตุการณ์ใหม่
$event = Event::forge();
ตัวอย่าง()
อินสแตนซ์ส่งคืนอ็อบเจ็กต์เหตุการณ์ใหม่
$event = Event::instance('event_instance');