การอ้างอิงถึง static ผ่านคลาสและออบเจกต์ใน OOP ใน PHP

คุณสมบัติและเมธอดแบบ static สามารถอ้างอิงได้ทั้งผ่านคลาส และผ่านตัวแปรที่มีออบเจกต์ของคลาส

มาดูตัวอย่างกัน สมมติว่าเรามีคลาส Test พร้อมคุณสมบัติแบบ static:

Test.php<?php
  class Test
  {
    public static $property = 'static';
  }
?>

มาแสดงค่าของคุณสมบัติแบบ static โดยอ้างอิงไปที่คลาส:

index.php<?php
  echo Test::$property;
?>

และตอนนี้แสดงค่าของคุณสมบัติแบบ static โดยอ้างอิงไปที่ออบเจกต์ของคลาส:

index.php<?php
  $test = new Test;
  echo $test::$property;
?>
Задание 1

ให้คลาสต่อไปนี้ที่มีเมธอดแบบ static:

Test.php<?php
  class Test
  {
    public static function show()
    {
      return '+++';
    }
  }
?>

เรียกใช้เมธอดนี้ทั้งในฐานะเมธอดของคลาส และในฐานะเมธอดของออบเจกต์