การสร้าง controller สำหรับ 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

การสร้าง controller สำหรับ phpbb

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

controller สำหรับ phpbb เป็นส่วนที่ใช้สำหรับการช่วยในการทำงานของ extension ให้สมบูรณ์ มากขึ้น แล้วนอกจากนนี้ยังเป็นส่วนที่จะแสดงผลลัพการทำงานของ extemnsion อีกด้วย

วิธีการสร้าง controller
1.จะต้องสร้าง ส่วนการเรียกใช้งาน erxtension ขึ้นมาก่อน (วิธีการสร้าง extension)

2.เมื่อเรามีส่วนเรียกใช้งานของ extensionให้เราสร้าง folder ลงใน sample1 โดยใช้ชื่อว่า controller
24-06.png
3.จากนั้นสร้างไฟล์ main.php ลงใน folder controller

โคดไฟล์ main.php

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

<?php

namespace mindphp\sample1\controller; // กำหนดชื่อ
use Symfony\Component\DependencyInjection\Container;

class main {

    public function __construct(\phpbb\config\config $config, \phpbb\db\driver\driver_interface $db, 
            \phpbb\template\template $template, \phpbb\user $user, \phpbb\controller\helper $helper,  Container $phpbb_container, \phpbb\request\request $request, \phpbb\auth\auth $auth, \phpbb\pagination $pagination, $table_prefix, $phpbb_root_path, $php_ext) {
    
        $this->config = $config;
        $this->db = $db;
        $this->template = $template;
        $this->user = $user;
        $this->helper = $helper;
        $this->phpbb_container = $phpbb_container;
        $this->request = $request;
        $this->auth = $auth;
        $this->pagination = $pagination;
        $this->table_prefix = $table_prefix;
        $this->phpbb_root_path = $root_path;
        $this->php_ext = $php_ext;
    } //กำหนดค่า ของ config โดยการสร้างทุกครั่งจะมีส่วนี้เป็นโครงสร้างหลัก

    function base($page = 1) {

 $page_title =  $this->user->lang('Mindphp'); //กำหนดชื่อ pathway

       //echo  $page_title;
        $this->template->assign_block_vars('navlinks' , array(
            'FORUM_NAME'  => $page_title,
            'U_VIEW_FORUM' => $this->helper->route('sample1_controller' , array('name' => 'mindphp')),
            )); //ส่วนการสร้าง path way
       
       return $this->helper->render('sample1_body.html'); //ส่วนที่จะส่งไปแสดงผล
    }

}

4.สร้าง folder config ลง folder sample1

5.จากนั้นสร้าง ไฟล์ service.xml กับ routing.xml ลงใน folder config
24-07.png

โคดไฟล์ service.xml เป็นไฟล์ที่ใช้กำหนดตัวแปลที่จะส่งให้ไฟล์ main.php ซึ้งชื่อของตัวแปร และตำแหน่ง จะต้องต้องกันกับ ที่อยู่ใน main.php

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

 
 services:
    mindphp.sample1.controller:
        class: mindphp\sample1\controller\main
        arguments:
            - @config
            - @dbal.conn
            - @template
            - @user
            - @controller.helper
            - @service_container
            - @request
            - @auth
            - @pagination
            - %core.table_prefix%
            - %core.root_path%
            - %core.php_ext%
    mindphp.sample1.listener:
        class: mindphp\sample1\event\listener
        arguments:
            - @controller.helper
            - @template
        tags:
            - { name: event.listener }        
 

โคดไฟล์ routing.xml เป็นส่วนที่เส้นทางในการส่งค่า

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

sample1_controller:
    pattern:  /sample1/{name}
    defaults: {  _controller:  mindphp.sample1.controller:base , page: 1 }

6.ต่อเป็นการสร้างของส่วนของการแสดง

7.สร้าง folder style ลงใน folder sample1

8.สร้าง folder all ลงใน folder style

9.สร้าง folder template ลงใน folder all
24-08.png
10. จากนั้นเราจะมาสร้างไฟล์ ที่ใช้สำหรับแสดงข้อมูล ของ controller
11.สร้างไฟล์ sample1_body.html ลงใน folder template

โคด ไฟล์ sample1_body.html

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

<!-- INCLUDE overall_header.html -->


test


<!-- INCLUDE overall_footer.html -->
ขอให้วันนี้เป็นวันที่ดี
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41125
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: การสร้าง controller สำหรับ 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
flook
PHP VIP Members
PHP VIP Members
โพสต์: 3751
ลงทะเบียนเมื่อ: 06/06/2022 9:43 am

Re: การสร้าง controller สำหรับ phpbb

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

ตัวนี้เป็น ตัว การสร้าง controller สำหรับ phpBB 3.3 viewtopic.php?t=99040
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 57