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');