PHP的魔術方法與魔術常量

2021-08-22 13:14:14 字數 2125 閱讀 5738

魔術常量

__line__   檔案中的當前行號。  

__file__ 檔案的完整路徑和檔名。如果用在被包含檔案中,則返回被包含的檔名

__dir__ 檔案所在的目錄。除非是根目錄,否則目錄中名不包括末尾的斜槓。

__function__ 返回該函式被定義時的名字(區分大小寫)。

__class__ 返回該類被定義時的名字(區分大小寫)。

__trait__ 常量返回 trait 被定義時的名字(區分大小寫)

__method__ 返回該方法被定義時的名字(區分大小寫)。

__namespace__ 當前命名空間的名稱(區分大小寫)。

魔術方法

<?php

class

magicmethods

public

function

__destruct

()

public

function

__set

($name,$value)

等於不存在".'

'; }

public

function

__get

($name)

不存在".'

'; }

public

function

__isset

($name)

)成員屬性不存在".'

'; }

public

function

__unset

($name)

)成員屬性不存在".'

'; }

public

function

__tostring

()

public

function

__clone

()

public

function

__call

($name, $aarguments)

".''; }

public

function

__sleep

()

public

function

__wakeup

()

public

function

__invoke

($arg)

public

static

function

__callstatic

($name, $aarguments)

".''; }

public

function

__set_state

()

public

function

__debuginfo

()

}$obj = new magicmethods(); //呼叫__construct()

$obj->a = 3; //呼叫__set()

$obj->b; //呼叫__get();

isset($obj->c); //呼叫__isset

empty($obj->c); //呼叫__isset

unset($obj->c); //呼叫__unset

echo

$obj; //呼叫__tostring

$obj2 = clone

$obj; //呼叫__clone

$obj->test(); //呼叫__call()

$str = serialize($obj); //呼叫__sleep()

unserialize($str); //呼叫__wakeup

$obj(5); //呼叫__invoke

$obj::test(); //呼叫__callstatic

var_export($obj); //呼叫__set_state

echo'';

var_dump($obj); //呼叫__debuginfo()

echo

'';

php魔術常量,魔術方法

魔術常量 1。line 返回檔案中的當前行號。2。file 返回檔案的完整路徑和檔名。如果用在包含檔案中,則返回包含檔名。自php4.0.2 起,file 總是包含乙個絕對路徑,而在此之前的版本有時會包含乙個相對路徑。3。function 返回函式名稱 php4.3.0 新加 自php5 起本常量返...

PHP魔術方法和魔術常量

具體的解釋如下 1。construct 例項化物件時被呼叫,當 construct和以類名為函式名的函式同時存在時,construct將被呼叫,另乙個不被呼叫。2。destruct 當刪除乙個物件或物件操作終止時被呼叫。3。call 物件呼叫某個方法,若方法存在,則直接呼叫 若不存在,則會去呼叫 c...

PHP魔術方法和魔術常量

具體的解釋如下 1。construct 例項化物件時被呼叫,當 construct和以類名為函式名的函式同時存在時,construct將被呼叫,另乙個不被呼叫。2。destruct 當刪除乙個物件或物件操作終止時被呼叫。3。call 物件呼叫某個方法,若方法存在,則直接呼叫 若不存在,則會去呼叫 c...