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>

 

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
คู่มือ การเขียนโปรแกรม ภาษาซีพลัสพลัส
โดย bingz อ 25 เม.ย. 2010 8:32 pm บอร์ด Programming - C/C++ & java & Python
0
4127
อ 25 เม.ย. 2010 8:32 pm โดย bingz View Topic คู่มือ การเขียนโปรแกรม ภาษาซีพลัสพลัส
คู่มือ การเขียนโปรแกรม ภาษาซี
โดย bingz อ 25 เม.ย. 2010 8:22 pm บอร์ด Programming - C/C++ & java & Python
2
3154
อ 23 ม.ค. 2011 1:22 am โดย gangwell View Topic คู่มือ การเขียนโปรแกรม ภาษาซี
จำทำ php เช็คไงครับ ว่าในฟอเดอร์ มีกี่ ไฟล์
โดย tonkub111 ส 24 เม.ย. 2010 2:33 pm บอร์ด Programming - PHP
3
930
อ 25 เม.ย. 2010 2:07 am โดย mindphp View Topic จำทำ php เช็คไงครับ ว่าในฟอเดอร์ มีกี่ ไฟล์
จะทำไงให้มันเช็ค ว่าตัวเลขไหมอะครับ ก่อนกดsubmitอะครับ
โดย tonkub111 ส 24 เม.ย. 2010 1:05 pm บอร์ด JavaScript & jQuery Ajax & Node.JS
3
2416
จ 26 เม.ย. 2010 3:54 am โดย ob1 View Topic จะทำไงให้มันเช็ค ว่าตัวเลขไหมอะครับ ก่อนกดsubmitอะครับ
จะเอา flash ลง อะครับ (swf) แต่อยากเอาลงละเวลาคนกดเข้า จะเป็นแบบ _blank อะครับ
โดย tonkub111 ส 24 เม.ย. 2010 7:29 pm บอร์ด HTML CSS
1
2457
ส 24 ก.ค. 2010 10:12 am โดย imjp27 View Topic จะเอา flash ลง อะครับ (swf) แต่อยากเอาลงละเวลาคนกดเข้า จะเป็นแบบ _blank อะครับ
เก็บมาฝาก กอฉ.เผยปิดแล้ว 350 เว็บปลุกระดม วอนโฮสติ้งเข้าใจ คนมีเว็บระวังนะครับช่
โดย ob1 ส 24 เม.ย. 2010 2:07 am บอร์ด MindPHP News & Feedback
0
1081
ส 24 เม.ย. 2010 2:07 am โดย ob1 View Topic เก็บมาฝาก กอฉ.เผยปิดแล้ว 350 เว็บปลุกระดม วอนโฮสติ้งเข้าใจ คนมีเว็บระวังนะครับช่
สร้างเว็บบอร์ด แต่พิมพ์ไทยไม่ได้ ภาษาไทย ( พิมพ์แล้วมันเป็น ????? )
โดย Anonymous ศ 23 เม.ย. 2010 10:32 am บอร์ด Programming - PHP
2
1477
ศ 23 เม.ย. 2010 11:34 pm โดย mindphp View Topic สร้างเว็บบอร์ด แต่พิมพ์ไทยไม่ได้ ภาษาไทย ( พิมพ์แล้วมันเป็น ????? )
HostYim | บริการโฮสติ้งคุณภาพสูง 12GB เพียง 699 บาท/ปี!
โดย canza69 ศ 23 เม.ย. 2010 10:37 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
0
1711
ศ 23 เม.ย. 2010 10:37 pm โดย canza69 View Topic HostYim | บริการโฮสติ้งคุณภาพสูง 12GB เพียง 699 บาท/ปี!