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>

 

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Javascript เช็คหมายเลขเบอร์โทร มือถือ หมายเลขโทรศัพท์
โดย mindphp พ 16 ก.ย. 2009 2:12 am บอร์ด AJAX Javascript Library - jQuery
6
21136
ส 17 ธ.ค. 2011 4:06 am โดย kabongpech View Topic Javascript เช็คหมายเลขเบอร์โทร มือถือ หมายเลขโทรศัพท์
รบกวนสอบถามเรื่องการทำเครื่องหมาบนรูปภาพแล้วเก็บลงฐานข้อมูล
โดย minimax อ 15 ก.ย. 2009 3:40 pm บอร์ด Programming - PHP
1
1256
อ 15 ก.ย. 2009 6:16 pm โดย mindphp View Topic รบกวนสอบถามเรื่องการทำเครื่องหมาบนรูปภาพแล้วเก็บลงฐานข้อมูล
อยากจะได้สูตรphp หาพื้นที่ครับ
โดย namezerza อ 15 ก.ย. 2009 11:04 am บอร์ด Programming - PHP
2
3023
อ 15 ก.ย. 2009 9:26 pm โดย namezerza View Topic อยากจะได้สูตรphp หาพื้นที่ครับ
crontab บน Linux crontab บน FREEBSD ตัวอย่างสั่ง .sh ทำงานทุกวัน
โดย ob1 จ 14 ก.ย. 2009 5:50 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
6
9981
พฤ 05 เม.ย. 2018 10:28 am โดย janun View Topic crontab บน Linux  crontab บน FREEBSD  ตัวอย่างสั่ง .sh ทำงานทุกวัน
ออกรายงานเป็นไฟล์ pdf จากฐานข้อมูล oracle กับ PHP
โดย Fedora จ 14 ก.ย. 2009 1:13 pm บอร์ด Programming - PHP
1
2705
อ 15 ก.ย. 2009 1:55 pm โดย mindphp View Topic ออกรายงานเป็นไฟล์ pdf จากฐานข้อมูล oracle   กับ PHP
สอนวิธีการใช้งาน SQLyog
โดย crazyalone อ 13 ก.ย. 2009 11:04 pm บอร์ด SQL - Database
2
5079
จ 14 ก.ย. 2009 10:06 am โดย crazyalone View Topic สอนวิธีการใช้งาน SQLyog
upload ภาพไม่ได้
โดย mastersun ศ 11 ก.ย. 2009 1:48 pm บอร์ด Programming - PHP
8
3030
อ 06 ต.ค. 2009 5:22 pm โดย บุคคลทั่วไป View Topic upload ภาพไม่ได้
การทำ download ช่วยด้วยครับ
โดย niponnet ส 12 ก.ย. 2009 3:14 pm บอร์ด Programming - PHP
0
823
ส 12 ก.ย. 2009 3:14 pm โดย niponnet View Topic การทำ download ช่วยด้วยครับ