Event phpbb ที่ใช้สำหรับ รับค่า หลังจากกด โพสต์กระทู้

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

Ittichai_chupol
PHP VIP Members
PHP VIP Members
โพสต์: 1495
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

Event phpbb ที่ใช้สำหรับ รับค่า หลังจากกด โพสต์กระทู้

โพสต์โดย Ittichai_chupol » 06/02/2019 6:05 pm

ในเว็บบอร์ด phpbb นั้นมี Event ซึ่งเป็นฟังก์ชั่นที่ใช้สำหรับการที่จะช่วยให้การดึงค่าต่างๆมาเพื่อที่ใช้สำหรับการทำงาน ในส่วนต่างๆ ให้สะดวงแหละงานขึ้น โดย หาก เรานำ Event เรานี้มาใช้ก็ยังจะช่วยลดจำนวนการเขียนโคด ลงได้อย่างมาก เพราะเราไม่จำเป็นเป้นที่จะต้องสร้างขึ้นมาใหม่ทั้งหมด แต่เพียงแค่ เปลี่ยน หรือ เพื่มเติมสิ่งที่เราลงไปใน Event ก็สามารถช่วยให้การทำงานง่ายขึ้นเป้นอย่างมาก
โดย Event ในเว็บบอร์ด phpbb มีการเเบ่งออกเป้น 2 กลุ่มก้คือ กลุ่มที่เป็น php ซึ่งเป็นส่วนการทำงาน กับ html ซึ่งเป็นส่วนที่ แสดงผลลัพธ์ ของการทำงานออกมา โดยทั้ง 2 ส่วนนี้จะทำงานร่วมกัน เพื่อให้เว็บบอร์ด phpbb นั้นทำงานได้อย่างมีประสิทธิภาพ

ซึ่งวันนี้ผมมี Event ในเว็บบอร์ด phpbb ที่เป็นส่วนทำงานเกี่ยวกับการบันทึกผลลัพธ์ หลังจากที่เรากด โพสต์กระทู้ นั้นคือ

โค้ด: เลือกทั้งหมด

core.posting_modify_submit_post_after


โดยการใช้งาน
คือ เราจะต้องกำหนด Event ให้เป็น array ก่อน โดย เราจะต้องสร้าง ไฟล์ php ขึ้นมา

โค้ด: เลือกทั้งหมด

class listener implements EventSubscriberInterface {

    static public function getSubscribedEvents() {
        return array(
 
            'core.posting_modify_submit_post_after' => 'posting_modify_submit_post_after',
     
        );
   } }
   
   


จากนั้นก็สร้างฟังก์ชั่น ขึ้นมา (โดยฟังก์ที่ผมสร้างขึ้นมานี้ มีไว้สำหรับสำหรับ บันทึกข้อมูลโพสต์ ลงใน ตาราง ฐานข้อมูลครับ)

โค้ด: เลือกทั้งหมด

 public function posting_modify_submit_post_after($event) {
  $sql_ary = array(
            'anonymus_code' => $this->config['m_anonymus_post_name'] . $event['post_data']['poster_id'],
            'user_id' => $event['post_data']['poster_id'],
            'forum_id' => $event['data']['forum_id'],
            'post_id' => $event['data']['post_id'],
            'topic_id' => $event['data']['topic_id'],
        );
        $sql = 'INSERT INTO ' . $this->table_prefix . 'anonymus' . ' ' . $this->db->sql_build_array('INSERT', $sql_ary);
        $this->db->sql_query($sql);
    }
   
   

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 19848
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: Event phpbb ที่ใช้สำหรับ รับค่า หลังจากกด โพสต์กระทู้

โพสต์โดย mindphp » 09/02/2019 1:14 pm

แชร์ หรือ ถามครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 11 และ บุคคลทั่วไป 0 ท่าน