ให้เรตสมาชิก: 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
ฮิต
8440
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-14 22:59:29

OOP_11.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 630 bytes

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

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


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Q - จัดพื้นหลังให้เท่ากับเมนูด้านบน
โดย Parichat ศ 25 พฤษภาคม 2018 2:20 pm บอร์ด HTML CSS
0
3
ศ 25 พฤษภาคม 2018 2:20 pm โดย Parichat
B - ภาษีต้องเพิ่ม จากราคา
โดย thatsawan ศ 25 พฤษภาคม 2018 1:26 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
1
3
ศ 25 พฤษภาคม 2018 1:27 pm โดย thatsawan
Work's on Hand ปาริชาติ รัตโณภาส MT21
โดย Parichat จ 08 ม.ค. 2018 12:11 pm บอร์ด M061 - ปาริชาติ รัตโณภาส
18
0
จ 21 พฤษภาคม 2018 1:08 pm โดย Parichat
งานประจำวันที่ 25 พฤษภาคม 2561
โดย Rujikon ศ 25 พฤษภาคม 2018 11:46 am บอร์ด M060 - นายรุจิกร พงษ์พิละ
0
3
ศ 25 พฤษภาคม 2018 11:46 am โดย Rujikon
B - ไม่สามารถเข้าไปดูรายละเอียดของ Customer ได้
โดย watcharin ศ 25 พฤษภาคม 2018 11:44 am บอร์ด M.D.Soft Co.,Ltd. - Tester
0
6
ศ 25 พฤษภาคม 2018 11:44 am โดย watcharin
Q - ต้องการให้ Python GUI( Tkinter ) เก็บ Path ที่ได้จากการ Browse
โดย rangsan ศ 25 พฤษภาคม 2018 11:32 am บอร์ด Programming - C/C++ & java & Python
3
13
ศ 25 พฤษภาคม 2018 12:07 pm โดย rangsan
Q - สร้างเทมเพลตใน Joomla แต่ไม่ขึ้นไฟล์ให้ติดตั้ง
โดย Parichat ศ 25 พฤษภาคม 2018 11:11 am บอร์ด Joomla Development
3
7
ศ 25 พฤษภาคม 2018 11:35 am โดย Parichat
งานประจำวันที่ 25 พฤษภาคม 2561
โดย Parichat ศ 25 พฤษภาคม 2018 10:45 am บอร์ด M061 - ปาริชาติ รัตโณภาส
0
1
ศ 25 พฤษภาคม 2018 10:45 am โดย Parichat
งานประจำวันที่ 25 พฤษภาคม 2561
โดย rangsan ศ 25 พฤษภาคม 2018 10:45 am บอร์ด M058 - รังสรรค์ มุ่งกลาง
0
1
ศ 25 พฤษภาคม 2018 10:45 am โดย rangsan
B - แก้ไขชื่อบริษัทไม่ได้ error
โดย thatsawan พฤ 24 พฤษภาคม 2018 6:21 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
1
พฤ 24 พฤษภาคม 2018 6:21 pm โดย thatsawan
G - ทดสอบระบบจริง เพิ่มลูกค้า สร้างใบเสนอราคา สร้าง inv รับชำระ ผ่าน
โดย thatsawan พฤ 24 พฤษภาคม 2018 6:17 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
6
พฤ 24 พฤษภาคม 2018 6:17 pm โดย thatsawan
Q - login เข้าหน้า admin ไม่ได้
โดย Parichat พฤ 24 พฤษภาคม 2018 6:03 pm บอร์ด Joomla Development
16
46
พฤ 24 พฤษภาคม 2018 11:24 pm โดย Parichat
Q - เลขรันเอกสารที่จะต้องใช้ในบริษัท
โดย thatsawan พฤ 24 พฤษภาคม 2018 5:16 pm บอร์ด M.D.Soft Co.,Ltd. (Main)
1
6
ศ 25 พฤษภาคม 2018 11:33 am โดย kanchanok
Q - จัดเมนูให้อยู่กึ่งกลางหน้าเว็บ
โดย Parichat พฤ 24 พฤษภาคม 2018 2:19 pm บอร์ด HTML CSS
19
55
พฤ 24 พฤษภาคม 2018 7:22 pm โดย Parichat
Q - วิธีเปลี่ยนสีแถบเมนู
โดย Parichat พฤ 24 พฤษภาคม 2018 1:46 pm บอร์ด HTML CSS
10
31
พฤ 24 พฤษภาคม 2018 3:33 pm โดย Parichat
งานประจำวันที่ 24 พฤษภาคม 2561
โดย Rujikon พฤ 24 พฤษภาคม 2018 9:38 am บอร์ด M060 - นายรุจิกร พงษ์พิละ
3
16
พฤ 24 พฤษภาคม 2018 7:17 pm โดย Rujikon
งานประจำวันที่ 24 พฤษภาคม 2561
โดย Parichat พฤ 24 พฤษภาคม 2018 9:34 am บอร์ด M061 - ปาริชาติ รัตโณภาส
1
6
พฤ 24 พฤษภาคม 2018 7:24 pm โดย Parichat
B - ใบเสร็จรับเงิน
โดย mindphp พฤ 24 พฤษภาคม 2018 2:38 am บอร์ด M.D.Soft Co.,Ltd. - Tester
1
8
พฤ 24 พฤษภาคม 2018 6:56 pm โดย thatsawan
วิธีติดตั้ง Netbeans8.2 บน Ubuntu
โดย AePongsak พ 23 พฤษภาคม 2018 4:48 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
22
พฤ 24 พฤษภาคม 2018 11:40 am โดย บุคคลทั่วไป
สอบถามการติดตั้ง LAMP Server บน Ubuntu 18.04 ด้วยครับ
โดย AePongsak พ 23 พฤษภาคม 2018 3:54 pm บอร์ด SQL - Database
4
36
พฤ 24 พฤษภาคม 2018 5:43 pm โดย AePongsak