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

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

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

ภาพประจำตัวสมาชิก
Ittichai_chupol
PHP VIP Members
PHP VIP Members
โพสต์: 5410
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย Ittichai_chupol »

ในเว็บบอร์ด 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
โพสต์: 41241
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

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

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

สมาชิกกำลังดูบอร์ดนี้: Google Adsense [Bot] และบุคลทั่วไป 120