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

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

Static Keyword สำหรับ OOP ใน PHP5

Static Keyword สำหรับ OOP ใน PHP5 "Static" จริงๆ แปลว่าคงที่ แต่ในที่นี้ให้เข้าใจว่าแปลว่า คงอยู่จะเข้าใจง่ายกว่านะครับ กล่าวคือเมื่อประกาศและเรียกใช้งานแล้วครั้งหนึ่งมันก็ยังจะคงอยู่ และเรียกใช้ค่านี้ได้ต่อๆ ไปเมื่อเราต้องการ  ในบทความนี้จะแสดงการใช้งาน Static Keyword ใน php5 มันไม่เหมือนกับ methods หรือสมาชิกข้อมูลใน OOP แต่มัน คือ ขอบเขตที่ถูกกำหนดโดยตัวชี้เฉพาะการเข้าถึง  static methods หรือ attributes มันเป็นส่วนหนึ่งของคลาส ดังนั้นจึงสามารถใช้ได้กับทุกกรณีที่กำหนดไว้สำหรับคลาส เมื่อเราจะใช้ งาน method หรือ attributes ในลักษณะที่มีคุณสมบัติ เป็น static เราต้องกำหนด keyword "static" ไว้ข้างหน้า attributes ก่อนนะครับ แล้วเวลาจะเรียกใช้ ก็ใช้ operator (::) เข้ามาช่วย ขั้นระหว่าง ค่าที่เป็น static กับ ชื่อคลาสที่เราเรียกใช้
อ่านมาอาจจะงง ลองดูตัวอย่างดีกว่าครับ แล้วค่อยมาอ่านคำอธิบายใหม่อีกครั้ง
ตัวอย่างการสร้างคลาสและใช้งานตัวแปลที่เป็น static keyword

ไฟล์ตัวอย่าง ::ex_code.php
<?php
class ClassName
{
static private $staticvariable; // กำหนดให้เป็นค่าคงที่ เพื่อให้ค่ายังคงอยู่ต่อไป
function __construct($value)
{
if($value != "")
{
ClassName::$staticvariable = $value; // กำหนดค่าให้ตัวตัวแปลคงที่
}
$this->getStaticData();
}
public function getStaticData()
{
echo ClassName::$staticvariable; //การเข้าใช้งานตัวแปรแบบคงที่
}
}

$a = new ClassName("12");
$a = new ClassName("23");
$a = new ClassName("");
?>

ผลที่ได้
12
23
23
ในคลาสนี้จะมี constructor ด้วยนะครับ

หัวเรื่อง
Static Keyword สำหรับ OOP ใน PHP5 - OOP
หมวดหมู่
PHP OOP, PHP OOP
ฮิต
14314
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-14 22:59:29

OOP_11.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 630 bytes

ผู้อัพโหลดไฟล์ thatsawan

วันที่อัพโหลด 2014-05-14 15:59:21


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ศึกษาการใช้งาน Joomla
โดย numtan5839 จ 18 พ.ย. 2019 7:16 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
0
1
จ 18 พ.ย. 2019 7:16 pm โดย numtan5839
ผลพยากรณ์อากาศ เปลี่ยนภาษาตามการตั้งค่าของผู้ดูแลระบบ
โดย bankjittapol จ 18 พ.ย. 2019 7:11 pm บอร์ด Joomla Developing Knowledge
0
3
จ 18 พ.ย. 2019 7:11 pm โดย bankjittapol
สร้าง list box ใน joomla ที่สามารถเลือก มากกว่า 1 ค่า
โดย bankjittapol จ 18 พ.ย. 2019 6:14 pm บอร์ด Joomla Developing Knowledge
0
5
จ 18 พ.ย. 2019 6:14 pm โดย bankjittapol
จะดึงชื่อจังหวัดมาแสดงใน list ได้ยังไงครับ
โดย bankjittapol จ 18 พ.ย. 2019 5:45 pm บอร์ด Joomla Development
1
10
จ 18 พ.ย. 2019 5:52 pm โดย tsukasaz
ต้องการให้ ใน list แสดงชื่อจังหวัด เพื่อใช้เลือกแสดงครับ
โดย bankjittapol จ 18 พ.ย. 2019 12:03 pm บอร์ด Joomla Development
2
29
จ 18 พ.ย. 2019 4:02 pm โดย bankjittapol
Work's on Hand ตรีเนตร บูรณโพธิ์ทอง M097
โดย numtan5839 จ 04 พ.ย. 2019 11:09 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
23
จ 18 พ.ย. 2019 3:27 pm โดย numtan5839
ดู Logs ไฟล์ บน Windows Server แบบ Real Time ตัวอย่าง Apache Logs
โดย mindphp จ 18 พ.ย. 2019 1:45 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
8
จ 18 พ.ย. 2019 1:47 pm โดย mindphp
หา theme language file ไม่เจอ
โดย bankjittapol ส 16 พ.ย. 2019 5:33 pm บอร์ด Joomla Development
2
35
ส 16 พ.ย. 2019 5:50 pm โดย bankjittapol
ต้องการสร้าง แท็ก เพื่อเลือกจังหวัด ที่จะแสดง ต้องทำไงครับ
โดย bankjittapol จ 18 พ.ย. 2019 10:53 am บอร์ด Joomla Development
2
17
จ 18 พ.ย. 2019 11:47 am โดย bankjittapol
เริ่มลงทุนในอสังหาฯ คุณเองก็ทำได้
โดย Patty Perfume อ 17 พ.ย. 2019 6:08 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
24
จ 18 พ.ย. 2019 10:29 am โดย Losa
บันทึกตัวแปรเป็นชื่อไฟล์ลง database ไม่ได้
โดย teenproza7 อ 28 พฤษภาคม 2019 4:52 pm บอร์ด Programming - C/C++ & java & Python
0
218
อ 28 พฤษภาคม 2019 4:52 pm โดย teenproza7
งานประจำวันที่ 18 พฤศจิกายน 2562
โดย numtan5839 จ 18 พ.ย. 2019 10:14 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
11
จ 18 พ.ย. 2019 7:16 pm โดย numtan5839
Skype for Business และ Microsoft Teams
โดย Atomseed Suckseed จ 18 พ.ย. 2019 10:11 am บอร์ด MindPHP News / Feedback
0
5
จ 18 พ.ย. 2019 10:11 am โดย Atomseed Suckseed
งานประจำวันที่ 16 พฤศจิกายน 2562
โดย numtan5839 ส 16 พ.ย. 2019 10:28 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
4
23
ส 16 พ.ย. 2019 7:02 pm โดย numtan5839
การใช้งาน Ultrasonic Sensor เซ็นเซอร์ที่ใช้สำหรับตรวจจับระยะห่างของวัดถุ
โดย bankjittapol ส 16 พ.ย. 2019 4:42 pm บอร์ด IOT - Internet of things
0
15
ส 16 พ.ย. 2019 4:42 pm โดย bankjittapol
อยากทราบการแสดงวันที่ในรูปแบบของ joomla
โดย bankjittapol ส 16 พ.ย. 2019 11:14 am บอร์ด Joomla Development
5
47
ส 16 พ.ย. 2019 4:56 pm โดย mindphp
Ultrasonic Sensor คืออะไร
โดย bankjittapol ส 16 พ.ย. 2019 3:40 pm บอร์ด IOT - Internet of things
0
23
ส 16 พ.ย. 2019 3:40 pm โดย bankjittapol
Database Normalization
โดย bankjittapol ศ 15 พ.ย. 2019 6:31 pm บอร์ด PHP Knowledge
1
38
ส 16 พ.ย. 2019 5:02 pm โดย Losa
วิธีการนำค่าจาก attribute ที่อยู่ใน element หนึ่ง ไปใส่ให้กับ attribute ที่อยู่ในอีก element หนึ่ง
โดย Ittichai_chupol ศ 15 พ.ย. 2019 6:29 pm บอร์ด Jquery & Ajax Knowledge
0
15
ศ 15 พ.ย. 2019 6:29 pm โดย Ittichai_chupol
VDO - Program Check Tracking Thailand Post
โดย numtan5839 อ 12 พ.ย. 2019 2:12 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
4
26
ศ 15 พ.ย. 2019 6:24 pm โดย numtan5839