首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 類別完整語法解析:七大核心成員詳解

     編輯:PHP 綜合知識

類別的七種語法成員

一個完整的 PHP 類別通常包含以下七種成員,各有不同用途與存取規則:

  1. 屬性:實例變數,儲存物件狀態
  2. 靜態屬性:屬於類別本身,所有實例共享
  3. 方法:實例行為,可存取 $this
  4. 靜態方法:屬於類別,無法存取 $this
  5. 類別常數:不可變值,無存取修飾詞
  6. 建構函數:__construct(),實例化時自動呼叫
  7. 解構函數:__destruct(),物件銷毀時自動呼叫

完整程式碼範例

<?php
class Student {
    // 類別常數(無存取修飾詞)
    const STUDENT = 'Tom';
    
    // 公開屬性
    public $stu_name;
    
    // 靜態屬性
    public static $stu_num = 1;
    
    // 一般方法
    public function stuFunction() {
        echo 'non_static_function', '<br />';
    }
    
    // 靜態方法
    public static function static_stuFunction() {
        echo 'static_function', '<br />';
    }
    
    // 建構函數
    public function __construct($stu_name) {
        $this->stu_name = $stu_name;
        echo '__construct', '<br />';
    }
    
    // 解構函數
    public function __destruct() {
        echo '__destruct', '<br />';
    }
}

// 實例化
$object = new Student('Tom');

// 物件存取屬性與靜態屬性
echo $object->stu_name, '<br />';
echo $object::$stu_num, '<br />';

// 類別存取靜態屬性
echo Student::$stu_num, '<br />';

// 物件呼叫方法與靜態方法
$object->stuFunction();
$object->static_stuFunction();
$object::stuFunction();        // 靜態呼叫一般方法(PHP 允許但不推薦)
$object::static_stuFunction();

// 類別呼叫方法與靜態方法
Student::stuFunction();        // 同上
Student::static_stuFunction();

// 類別呼叫常數
echo Student::STUDENT, '<br />';
?>

關鍵規則總結

呼叫者屬性靜態屬性方法靜態方法常數
物件($obj)✓✓✓✓✗
類別(Class)✗✓✓*✓✓

* 類別呼叫非靜態方法雖語法合法,但內部不可使用 $this,屬不推薦用法。

最佳實務建議

  • 屬性預設使用 private 或 protected,透過 Getter/Setter 存取
  • 靜態成員用於不依賴實例狀態的共享資料或工具方法
  • 建構函數進行初始化,解構函數釋放資源(關閉連線、檔案控制代碼等)
  • 常數命名慣例全大寫加底線(如 MAX_RETRY)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved