Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

คุณสมบัติคลาส (Class Properties) ใน PHP

บทนำ

สมาชิกข้อมูลที่ประกาศภายในคลาสเรียกว่า properties (คุณสมบัติ) Property บางครั้งเรียกว่า attribute หรือ field ใน PHP คุณสมบัติได้รับคุณสมบัติโดยคีย์เวิร์ด access specifier หนึ่งใน public, private หรือ protected ชื่อคุณสมบัติอาจเป็น label ที่ถูกต้องใน PHP ใดๆ ค่าของคุณสมบัติอาจแตกต่างกันสำหรับแต่ละอินสแตนซ์ของคลาส นั่นคือเหตุผลที่มันบางครั้งถูกเรียกว่า instance variable

ภายในเมธอด instance ใดๆ คุณสมบัติสามารถเข้าถึงได้โดยการเรียกบริบทของอ็อบเจ็กต์ที่มีเป็น pseudo-variable $this หากคุณสมบัติถูกประกาศเป็น public จะพร้อมใช้งานให้อ็อบเจ็กต์ด้วยตัวดำเนินการ -> หากคุณสมบัติถูกกำหนดด้วยคีย์เวิร์ด static ค่าของมันจะถูกแบ่งปันระหว่างอ็อบเจ็กต์ทั้งหมดของคลาส และเข้าถึงได้โดยใช้ scope resolution operator (::) และชื่อคลาส

การประกาศและเข้าถึงคุณสมบัติ (property declaration and access)

ตัวอย่างนี้แสดงวิธีการกำหนดและเข้าถึงคุณสมบัติ:

ตัวอย่าง

<?php class myclass{     private $fname="Kiran";     public $mname="Pratap";     static $lname="Singh";     function dispdata(){         echo "$this->fname\n";         echo "$this->mname\n";         echo myclass::$lname;     } } $obj=new myclass(); $obj->dispdata(); ?>

ผลลัพธ์

Kiran Pratap Singh

ภายนอกคลาส instance properties ที่ประกาศเป็น public พร้อมใช้งานให้อ็อบเจ็กต์ แต่ private properties ไม่สามารถเข้าถึงได้ ในรุ่น PHP ก่อนหน้า คีย์เวิร์ด var พร้อมใช้งานสำหรับการประกาศคุณสมบัติ แม้จะถูกยกเลิกแล้ว ยังคงพร้อมใช้งานเพื่อ backward compatibility และถูกจัดการเป็นการประกาศคุณสมบัติ public

PHP 7.4 นำเสนอการประกาศชนิดของตัวแปรคุณสมบัติ (type declaration of property variables)

ตัวอย่าง

<?php class myclass{     private string $name;     private int $age;     function setdata(string $x, int $y){         $this->name=$x;         $this->age=$y;     } } $obj=new myclass("Kiran",20); ?>