get_class() 的作用是傳回物件的類別名稱。
說明
用法:
string get_class ([ object $obj ] )
回傳 obj 物件對應的類別名,如果 obj 不是對象,則會傳回 obj 物件對應的類別名稱,如果 obj 不是對象,則會傳回 false。
透過這個方法,我們在寫一些底層相關的程式碼的時候,可以輕鬆很多。
注意:自 PHP 5 起,如果在物件的方法中呼叫則 obj 為可選項。
實例
實例1:
<?phpclass TestCase{ function getName() { echo "My name is ", get_class($this), "\n"; } }// Create an object $instance = new TestCase(); // External call echo "Its name is ", get_class($instance), "\n"; // Internal call $instance->getName();
輸出結果為:Its name is TestCase My name is TestCase
實例2:帶命名空間的類別
<?php namespace TestNamespace; class TestCase{ function getName() { echo "My name is ", get_class($this), "\n"; } } // Create an object $instance = new TestCase(); // External call echo "Its name is ", get_class($instance), "\n"; // Internal call $instance->getName();
輸出結果為:Its name is Test因此,若要得到這個類別對應的命名空間,這個方法也是超有用的。
實例3:忽略obj參數
<?phpnamespace TestNamespace;class TestParentCase{ function getName() { echo "My name is ", get_class(), "\n"; } }class TestCase extends TestParentCase{ function getThisName() { echo "My name is ", get_class(), "\n"; } }// Create an object$instance = new TestCase(); $instance->getName(); $instance->getThisName();
輸出結果為:My name is TestNamespaceTestParentCase My name is TestNamespaceTestCase
注意返回的結果中的差異,省略obj參數以後,獲取到的是
注意返回的結果中的差異,省略obj參數有其它需要注意的情況,歡迎大家向Hy369 反饋,我會及時補充到自己的博客中的。
以上就是筆記016 PHP中的 get_class() 函數的內容,更多相關內容請關注PHP中文網(www.php.cn)!