5. Model

ใน Joomla 3 มีส่วนประกอบ Model มีหน้าที่จัดการข้อมูลและโต้ตอบกับฐานข้อมูล โมเดลโดยทั่วไปประกอบด้วยวิธีการเรียกค้น จัดเก็บ ปรับปรุง และลบข้อมูลจากฐานข้อมูล นอกจากนี้ยังมีฟังก์ชันการตรวจสอบและการกรองเพื่อให้แน่ใจว่าข้อมูลถูกป้อนอย่างถูกต้องและตรงตามเกณฑ์ที่กำหนด 

5.1 สร้างโฟลเดอร์สำหรับเก็บไฟล์ Model

5.2 สร้างไฟล์ a.php

สร้าง Model a ทำในส่วนฟังก์ชันของ a
สร้าง Model a

 

Code ของไฟล์ models/a.php

<?php
/**
 * @package	HelloComponent
 * @subpackage	com_hellocomponent
 * @author	Mindphp Developer Teams
 * @copyright	Copyright (C) 2021 Mindphp. All rights reserved..
 * @license	GNU General Public License version 2 or later;
 */
defined('_JEXEC') or die();

class HellocomponentModelA extends Joomla\CMS\MVC\Model\ListModel
{
    function getDate()
    {
        return date('y:m:d');
    }

    
}

คำอธิบายโค้ด

  • class HellocomponentModelA extends Joomla\CMS\MVC\Model\ListModel

    สร้างคลาสชื่อ HellomindphpModelA (ขึ้นต้นด้วย "ชื่อของ Component" ตามด้วยคำว่า "Model" และ "ชื่อของ Model") โดยการสืบทอดคุณสมบัติมาจากคลาส ListModel

  •     function getDate()
        {
            return date('y:m:d');
        }
    

    สร้าง Method ชื่อ getData และส่งค่า "วันที่" กลับคืนให้ Method

 

 

 

5.3 การทำงานระหว่าง View กับ Model

5.3.1 เปิดไฟล์ views/a/view.html.php เพิ่มโค้ด

 

class HellocomponentViewA extends Joomla\CMS\MVC\View\HtmlView
{
    function display($tpl = null)
    {
        
        $this->date = $this->get('Date');
        echo "Test View A<br/>";
        $this->sidebar = JHtmlSidebar::render();

        $this->addToolbar();
        parent::display($tpl);

	}

    public function addToolbar()
    {
        \Joomla\CMS\Toolbar\ToolbarHelper::title(JText::_('COM_HELLOCOMPONENT_A'));
        \Joomla\CMS\Toolbar\ToolbarHelper::preferences('com_hellocomponent');
    }
}

คำอธิบายโค้ด

  • $this->date = $this->get('Date');​
    เรียกใช้งานเมธอด getData() โดยวิธีเรียกใช้คือ $this->get('Date') และให้เก็บในตัวแปล $this->date

 

 

5.3.2 เปิดไฟล์ views/a/tmpl/default.php เพิ่มโค้ด

<p>Test Layoul A</p>
<p><?php echo $this->date; ?></p>

 

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เชื่อมต่อ WordPress กับฐานข้อมูล วิธีเชื่อมต่อฐานข้อมูลง่ายๆ
โดย athirach.offcial พ 27 มี.ค. 2024 11:03 am บอร์ด Wordpress Developing Knowledge
0
71
พ 27 มี.ค. 2024 11:03 am โดย athirach.offcial View Topic เชื่อมต่อ WordPress กับฐานข้อมูล วิธีเชื่อมต่อฐานข้อมูลง่ายๆ
SQL - Trigger คืออะไร? มีประโยชน์อย่างไรในการทำงาน
โดย athirach.offcial พ 27 มี.ค. 2024 10:54 am บอร์ด SQL Knowledge
1
343
พ 27 มี.ค. 2024 5:49 pm โดย athirach.offcial View Topic SQL - Trigger คืออะไร? มีประโยชน์อย่างไรในการทำงาน
วิธีอ่านค่าแรม จากสติ๊กเกอร์แปะแรม ตัวอย่างของ KVR Kingston
โดย mindphp อ 26 มี.ค. 2024 6:28 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
165
อ 26 มี.ค. 2024 6:28 pm โดย mindphp View Topic วิธีอ่านค่าแรม จากสติ๊กเกอร์แปะแรม ตัวอย่างของ KVR Kingston
การลบฐานข้อมูลโดยไม่ Backup ความผิดพลาดที่สามารถเสื่อมเสียธุรกิจ
โดย athirach.offcial อ 26 มี.ค. 2024 6:24 pm บอร์ด SQL Knowledge
0
109
อ 26 มี.ค. 2024 6:24 pm โดย athirach.offcial View Topic การลบฐานข้อมูลโดยไม่ Backup ความผิดพลาดที่สามารถเสื่อมเสียธุรกิจ
การลบฐานข้อมูลโดยไม่ Backup ความผิดพลาดที่สามารถเสื่อมเสียธุรกิจ
โดย athirach.offcial อ 26 มี.ค. 2024 3:38 pm บอร์ด Linux - Web Server
0
122
อ 26 มี.ค. 2024 3:38 pm โดย athirach.offcial View Topic การลบฐานข้อมูลโดยไม่ Backup ความผิดพลาดที่สามารถเสื่อมเสียธุรกิจ
ทำความรู้จัก Linear regression เทคนิคพื้นฐานทางสถิติในการทำนายข้อมูล
โดย athirach.offcial อ 26 มี.ค. 2024 3:04 pm บอร์ด Python Knowledge
0
134
อ 26 มี.ค. 2024 3:04 pm โดย athirach.offcial View Topic ทำความรู้จัก Linear regression เทคนิคพื้นฐานทางสถิติในการทำนายข้อมูล
ราคาเครื่อง Server Dell R210 II เมื่อ 11 ปีก่อน (15 พ.ค. 2013 )
โดย mindphp อ 26 มี.ค. 2024 2:49 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
137
อ 26 มี.ค. 2024 2:49 am โดย mindphp View Topic ราคาเครื่อง Server Dell R210 II เมื่อ 11 ปีก่อน (15 พ.ค. 2013 )
CPU ที่สามารถใช้ได้กับเมนบอร์ดซ็อกเก็ต FCLGA1155 บนเครื่อง Dell Server R210 II
โดย mindphp อ 26 มี.ค. 2024 1:45 am บอร์ด Microsoft Office Knowledge & line & Etc
1
171
อ 26 มี.ค. 2024 1:49 am โดย mindphp View Topic CPU ที่สามารถใช้ได้กับเมนบอร์ดซ็อกเก็ต FCLGA1155 บนเครื่อง Dell Server R210 II