1. 程式人生 > >PHP的靜態類和靜態變數的用法

PHP的靜態類和靜態變數的用法

本博主轉載前必先親自考證,深惡痛絕百度CP之流,有問題請與我聯絡。

1. 宣告類屬性或方法為static, 就可以不例項化而直接訪問。

2. 靜態屬性不能通過一個類已例項化的物件來訪問(但靜態方法可以)。

3. 由於靜態方法不需要通過物件即可呼叫,所以偽變數$this 在靜態方法中不可用。

4.靜態屬性不可以由物件通過->操作符來訪問

<?php
    class Test{
        public static $a=7;
        public static function ajia(){

            self::$a++;
        }
    }
    
    $test = new Test();
    $test::ajia();            //可以
    var_dump(Test::$a);       //可以

    Test::ajia();             //可以
    Test::ajia();
    Test::ajia();
    var_dump(Test::$a);

?>
<?php

class Myclass{
	public function say($msg){
		print_r($msg);
	}
}

class Test{

	public static function function1(){
		Myclass::say("In Function1.<br>");
		Test::function2();
	}

	public static function function2(){
		Myclass::say("In Function2.<br>");
	}

	public static function main(){
		Myclass::say("In Main.<br>");
		Test::function1();
	}
}

Test::main();
?>