ให้เรตสมาชิก: 2 / 5

ดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การสร้าง Component สำหรับ Joomla 1.5 เขียน คอมโพเน้นท์ ใช้เอง

ในบทวามนี้จะเป็นการแนะนำการสร้าง Joomla Component ที่สามารถเรียกใช้งานได้หลาย Controllers ในตัวอย่างนี้จะมี Controller อยู่สองตัวคือ A และ B

สำหรับมือใหม่แนะนำให้อ่านเรื่อง OOP และ ควรมีความรู้เรื่อง MVC
1. สร้างโฟลเดอร์ชื่อ com_hellocomponent (ต้องขึ้นต้นด้วย com_ และตามด้วยชื่อของ Component)

2. สร้างไฟล์ hellomindphp.php ซึ่งจะเป็นไฟล์เริ่มต้นสำหรับเรียกใช้ Component (ต้องตั้งชื่อไฟล์ให้ตรงกับชื่อ Component)

Code ของไฟล์ hellomindphp.php

 

บรรทัดที่ 10 : ป้องกันการเรียกใช้งานไฟล์แบบตรงๆ

บรรทัดที่ 13 : เรียกใช้งาน Controller หลักของ Joomla

บรรทัดที่ 16 : ตรวจสอบชื่อของ Controller ที่ต้องการใช้ใน Url แล้วเก็บชื่อของ Controller ไว้ในตัวแปร $controller

บรรทัดที่ 17 : กำหนด path ของ Controller

บรรทัดที่ 18 : ตรวจสอบไฟล์ของ Controller นั้นว่ามีอยู่จริงไหม?

บรรทัดที่ 19 : เรียกใช้งาน Controller

บรรทัดที่ 20 : แจ้ง Error ในกรณีที่ไม่มีไฟล์ของ Controller

บรรทัดที่ 26-27 : สร้าง Object จากคลาส Controller (HellomindphpControllerA, HellomindphpControllerB) ซึ่งตอนนี้เรายังได้สร้างคลาส Controller

บรรทัดที่ 30 : ตรวจสอบ task จาก Url ซึ่ง task นั้นจะเป็นตัวกำหนดว่าจะเรียกใช้งาน Method ไหนใน Object

 บทต่อไปเป็นเรื่อง ของ Controller

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ทำความรู้จักกับ Google Lighthouse ตรวจสอบคุณภาพเว็บไซต์
โดย birdkritsna พฤ 19 ก.ย. 2019 6:37 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
6
พฤ 19 ก.ย. 2019 6:37 pm โดย birdkritsna
ส่วนประกอบของเว็บไซต์ มีอะไรบ้าง
โดย aninthana พฤ 19 ก.ย. 2019 6:12 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
0
7
พฤ 19 ก.ย. 2019 6:12 pm โดย aninthana
วิธีทำภาพให้มีขอบโค้งมนด้วยโปรแกรม คล้าย photoshop ออนไลน์ freephototool.com
โดย jamepiyawat พฤ 19 ก.ย. 2019 5:51 pm บอร์ด Graphic design
1
12
พฤ 19 ก.ย. 2019 11:15 pm โดย pipoipi
วิธีการอัพเกรด Ubuntu server เพื่อให้ support และ เพิ่มความสามารถใหม่ๆ ของระบบปฏิบัติการ
โดย jirawoot พฤ 19 ก.ย. 2019 4:14 pm บอร์ด Linux - Web Server
1
14
ศ 20 ก.ย. 2019 12:06 am โดย cocomax
form มันซ้อนกันอยู่ทำให้ form ที่อยู่ด้านในส่งข้อมูลไม่ได้ทำยังไงดี ครับ
โดย jamepiyawat พฤ 19 ก.ย. 2019 3:57 pm บอร์ด Programming - PHP
2
11
พฤ 19 ก.ย. 2019 4:20 pm โดย jamepiyawat
R - Template และ laout
โดย mindphp พฤ 19 ก.ย. 2019 3:13 pm บอร์ด buildinstore - Manual & Content Web
0
1
พฤ 19 ก.ย. 2019 3:13 pm โดย mindphp
G - subdomain ที่จะไปอยู่ที่เว็บไซต์อื่น
โดย mindphp พฤ 19 ก.ย. 2019 3:12 pm บอร์ด Buildin - Tester
0
1
พฤ 19 ก.ย. 2019 3:12 pm โดย mindphp
เฟสบุ๊แฟนเพจ กับ ทำเว็บไซต์ให้คนเข้า อะไรคุ้มกว่าในระยะยาว
โดย zend_framework พฤ 19 ก.ย. 2019 11:06 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
0
5
พฤ 19 ก.ย. 2019 11:06 am โดย zend_framework
Q - อยากทราบวิธีการดึงค่า api มาใช้อย่างไรครับ
โดย birdkritsna พฤ 19 ก.ย. 2019 10:50 am บอร์ด Programming - PHP
5
38
พฤ 19 ก.ย. 2019 6:25 pm โดย birdkritsna
งานประจำวันที่ 19 กันยายน 2562
โดย Patipat พฤ 19 ก.ย. 2019 10:49 am บอร์ด M088 - ปฏิภัทร สารธรรม
1
4
พฤ 19 ก.ย. 2019 7:22 pm โดย Patipat
อยากทราบวฺิธีการทำปุ่มเพิ่มตัวเลย ครับ
โดย jamepiyawat พฤ 19 ก.ย. 2019 10:39 am บอร์ด Programming - PHP
6
35
พฤ 19 ก.ย. 2019 6:44 pm โดย jamepiyawat
งานประจำวันที่ 19 กันยายน 2562
โดย birdkritsna พฤ 19 ก.ย. 2019 10:19 am บอร์ด M094 - กฤษณะ จะโรจน์รัมย์
1
10
พฤ 19 ก.ย. 2019 7:44 pm โดย birdkritsna
งานประจำวันที่ 19 กันยายน 2562
โดย jamepiyawat พฤ 19 ก.ย. 2019 10:09 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
2
12
พฤ 19 ก.ย. 2019 7:36 pm โดย jamepiyawat
งานประจำวันที่ 19 กันยายน 2562
โดย aninthana พฤ 19 ก.ย. 2019 10:04 am บอร์ด M092 - อนินธนา บุญยัง
1
8
พฤ 19 ก.ย. 2019 7:04 pm โดย aninthana
งานประจำวันที่ 19 กันยายน 2562
โดย jirawoot พฤ 19 ก.ย. 2019 10:03 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
1
3
พฤ 19 ก.ย. 2019 8:34 pm โดย jirawoot
ถ้าจะให้้มีคนกดซับเพิ่มขึ่นต้องทำไง
โดย totzazx789 พ 18 ก.ย. 2019 10:40 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
17
พ 18 ก.ย. 2019 10:40 pm โดย totzazx789
สอบถามเกี่ยวกับ list ใน Tkinter ค่ะ
โดย mashato พ 18 ก.ย. 2019 8:45 pm บอร์ด Programming - C/C++ & java & Python
0
15
พ 18 ก.ย. 2019 8:45 pm โดย mashato
ทำกราฟ เปรียบเทียบ ค่าธรรมเนียมของแต่ละธนาคาร
โดย chatee supasand พ 18 ก.ย. 2019 7:24 pm บอร์ด MT33 - นายชาตรี สุภาแสน
1
7
พ 18 ก.ย. 2019 7:29 pm โดย mindphp
ทำไมต้องอัพเกรดและวิธีอัพเกรด Ubuntu
โดย jirawoot พ 18 ก.ย. 2019 7:02 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
20
พ 18 ก.ย. 2019 7:02 pm โดย jirawoot
Adobe Premiere Pro เปิดตัวฟีเจอร์ปรับขนาดเฟรมวิดีโออัตโนมัติด้วย AI รองรับโซเชียลแอป
โดย birdkritsna พ 18 ก.ย. 2019 6:05 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
27
พ 18 ก.ย. 2019 6:05 pm โดย birdkritsna