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

ค่าคงที่คลาส PHP


แนะนำตัว

PHP อนุญาตให้ระบุตัวระบุในคลาสเพื่อให้มีค่าคงที่ ซึ่งยังคงไม่เปลี่ยนแปลงในแต่ละคลาส ในการแยกความแตกต่าง rom ตัวแปรหรือคุณสมบัติในคลาส ชื่อของค่าคงที่จะไม่นำหน้าด้วยสัญลักษณ์ $ และถูกกำหนดด้วย ค่าเสียหาย รอบคัดเลือก

การเปิดเผยค่าเริ่มต้นของค่าคงที่เป็นแบบสาธารณะ แม้ว่าตัวดัดแปลงอื่นๆ อาจใช้ในคำจำกัดความ ค่าคงที่ต้องเป็นนิพจน์ที่แน่นอน ไม่ใช่ตัวแปร หรือการเรียกใช้ฟังก์ชัน/คุณสมบัติ ค่าคงที่เข้าถึงได้โดยใช้ชื่อคลาสโดยใช้ตัวดำเนินการแก้ไขขอบเขต ภายในวิธีการแม้ว่าจะสามารถอ้างถึงผ่าน ตัวเอง ตัวแปร

ไวยากรณ์

class SomeClass{
   const CONSTANT = 'constant value';
}
echo SomeClass::CONSTANT;

ชื่อคงที่ต้องคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ตามอัตภาพ ชื่อของค่าคงที่เป็นตัวพิมพ์ใหญ่

ตัวอย่างค่าคงที่ของคลาส

ตัวอย่างนี้แสดงให้เห็นว่า Class Constant ถูกกำหนดและเข้าถึงอย่างไร

ตัวอย่าง

<?php
class square{
   const PI=M_PI;
   var $side=5;
   function area(){
      $area=$this->side**2*self::PI;
      return $area;
   }
}
$s1=new square();
echo "PI=". square::PI . "\n";
echo "area=" . $s1->area();
?>

ผลลัพธ์

ซึ่งจะให้ผลลัพธ์ตามมา −

PI=3.1415926535898
area=78.539816339745

ค่าคงที่คลาสเป็นนิพจน์

ในตัวอย่างนี้ ค่าคงที่ของคลาสถูกกำหนดเป็นนิพจน์

ตัวอย่าง

<?php
const X = 22;
const Y=7;
class square {
   const PI=X/Y;
   var $side=5;
   function area(){
      $area=$this->side**2*self::PI;
      return $area;
   }
}
$s1=new square();
echo "PI=". square::PI . "\n";
echo "area=" . $s1->area();
?>

ด้านนอก

ซึ่งจะให้ผลลัพธ์ตามมา −

PI=3.1428571428571
area=78.571428571429

ตัวแก้ไขการมองเห็นคงที่ของคลาส

ตัวอย่าง

<?php
class example {
   const X=10;
   private const Y=20;
}
$s1=new example();
echo "public=". example::X. "\n";
echo "private=" . $s1->Y ."\n";
echo "private=" . $example::Y ."\n";
?>

ผลลัพธ์

ซึ่งจะให้ผลลัพธ์ตามมา −

1public=10
PHP Notice: Undefined property: example::$Y in line 11
private=PHP Fatal error: Uncaught Error: Cannot access private const example::Y