วิธีสร้าง Component Joomla ขั้นตอนการสร้าง Comptroller

แชร์ ความรู้ในการ พัฒนา Joomla Component Extension Module Plugin

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

adinan49
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 547
ลงทะเบียนเมื่อ: 01/11/2021 9:57 am

วิธีสร้าง Component Joomla ขั้นตอนการสร้าง Comptroller

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

อย่างที่เราทราบกันดีว่า คอมโพเนนต์ Component joomla คือโปรแกรมเสริมติดตั้งเพื่อเพิ่มความสามารถ ให้กับ Joomla ทำให้ระบบมีประสิทธิภาพในการทำงานมากยิ่งขึ้น ผู้พัฒนานั้นมีการสร้าง คอมโพเนนต์ต่างๆ ให้แก่ระบบ ซึ่งขั่นตอนในการสร้างคอมโพเนนต์ Component ใช้หลักการทำงานแบบ MVC ใน MVC ได้มี Controller ที่เราจะมาพูดถึงในบทความนี้กันครับ

Controller
controller เปรียบเสมือนกับมันสมองและศูนย์กลางการทำงานทั้งหมด จะเห็นว่าทุกส่วนนั้นจะติดต่อกับ controller ทั้งหมดรอคอยคำสั่งจาก controller นอกจากนี้ controller จะจัดการทำงานในส่วนที่เป็น logic ทั้งหมดในระบบ
  • การกําหนดโมเดล ที่จําเป็นต่อคําขอ และสร้างอินสแตนซ์ของโมเดล
  • ‎เมื่อการเรียกร้องต้องการข้อมูล Controller ก็จะเรียกข้อมูลจากโมเดล
  • ‎Controller สามารถการกําหนดมุมมองของผู้ใช้งานได้ โดยการนําเสนอเต่อผู้ใช้ ตามที่ Controller กำหนดนั้นเอง
  • ‎Conteroller สามารถกำหนดเส้นทาง URL ของเว็บไซต์ได้ โดยให้กําหนด URL ที่ต้องการเปลี่ยน‎ที่ Conteroller

การสร้าง Comptroller
โดยเราจะสร้าง Controller แล้วจะทำการเรียกใช้งาน Controller
เราสร้างไฟล์การเรียกใช้ Comptroller โดยเขียนโค้ดต่อไปนี้
สร้างคลาส TestController โดยการสืบทอดคุณสมบัติมาจากคลาส JController แล้วสร้าง function display() เพื่อเรียกแสดงผล

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

<?php
/*
 * @package	Test
 * @subpackage	com_Test
 * @author	Test Developer 
 */

defined('_JEXEC') or die;

class TestController extends JController 
{
	
	function display()
	{
	}
	
}
สร้างโฟเดอร์ Controller แล้วสร้างไฟล์
สร้างโฟเดอร์
สร้างโฟเดอร์
folder.png (2.52 KiB) Viewed 1224 times
ในไฟล์ test1.php เขียนโค้ดต่อไปนี้
สร้างคลาส TestController1 โดยการสืบทอดคุณสมบัติมาจากคลาส JController แล้วสร้าง function display() ให้แสดงข้อความ Test Comtroller1 แล้วทำการสร้าง parent แล้วเรียกใช้ display

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

<?php
/*
 * @package	Test
 * @subpackage	com_Test
 * @author	Test Developer 
 */

defined('_JEXEC') or die;

class TestController1 extends JController 
{
	
	function display()
	{
        echo "<h2>Test Comtroller1</h2>";
        parent::display();
	}
	
}
?>
เมื่อตวรจสอบหน้าแสดงผล ก็จะมีข้อความ Test Comtroller1 ปรากฏขึ้น
หน้าแสดงผล
หน้าแสดงผล
Test 1.png (9.53 KiB) Viewed 1224 times
Comptroller เปรียบเสมือนกับมันสมองและศูนย์กลางการทำงานทั้งหมดของระบบ Comptroller ยังจัดการส่วนข้อมูลและการแสดงผล จากที่เราได้ทำการสร้างข้างต้นนั้นเป็นการสร้าง Comptroller ที่เรียกให้แสดงหน้าเว็บไซต์เท่านนั้น Comptroller สามารถรับค่าตัวแปรจากฟอร์ม แล้วสามารถกำหนดมุมมองของผู้ใช้งานได้ด้วยซึ่งการสร้าง Comptroller นั้นขึ้นอยู่กับผู้พัฒนาว่าจะสร้าง Comptroller ให้จัดการแบบไหน

อ้างอิง
https://www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B9%80%E0%B8%A3%E0%B8%B5%E0%B8%A2%E0%B8%99%E0%B8%AD%E0%B8%AD%E0%B8%99%E0%B9%84%E0%B8%A5%E0%B8%99%E0%B9%8C/dev-joomla-extension/1969-component-joomla-controller.html
https://docs.joomla.org/Model-View-Controller
https://www.borntodev.com/2020/04/02/%E0%B8%AA%E0%B8%A3%E0%B8%B8%E0%B8%9B-concept-%E0%B8%9E%E0%B8%B7%E0%B9%89%E0%B8%99%E0%B8%90%E0%B8%B2%E0%B8%99-mvc/lihk'
ตอบกลับโพส

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

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