⊗ppOpMgStNEP 92 of 107 menu

การอ่านคุณสมบัติที่ไม่มีอยู่ใน OOP ใน PHP

ลองเขียนข้อมูลลงในคุณสมบัติที่ไม่มีอยู่ - นี่จะทำงานได้:

<?php $test = new Test; $test->prop3 = 3; // เขียน 3 echo $test->prop3; // แสดง 3 ?>

สมมติว่าเราไม่อยากอนุญาตให้เขียนลงใน คุณสมบัติที่ไม่มีอยู่ และโดยทั่วไปแล้ว ต้องการ อนุญาตให้เขียนได้เฉพาะคุณสมบัติ prop1 และ prop2

ทำได้ง่ายๆ - เพียงแค่เพิ่มเงื่อนไขที่เกี่ยวข้อง ในเมธอด __set:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { // เขียนเงื่อนไข: if ($property == 'prop1' or $property == 'prop2') { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>

หากมีคุณสมบัติแบบนี้หลายตัว การระบุทั้งหมด ในเงื่อนไขอาจไม่สะดวกนัก

ลองบันทึกคุณสมบัติที่อนุญาตให้เขียนได้ ลงในอาร์เรย์ และตรวจสอบการมีอยู่ของคุณสมบัติ ในอาร์เรย์นี้ด้วยฟังก์ชัน in_array:

<?php class Test { private $prop1; private $prop2; public function __set($property, $value) { $properties = ['prop1', 'prop2']; // คุณสมบัติที่อนุญาต if (in_array($property, $properties)) { $this->$property = $value; } } public function __get($property) { return $this->$property; } } ?>
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ