1.__get / __set當類沒有要訪問的屬性時,就呼叫這兩個函式
$obj
= new
imooc\object();
$obj
->
title
= "hello"
;echo
$obj
->
title
;
<?phpnamespace
imooc;
class
object
function
__get(
$key
)}
2.__
call / _
_callstatic
當類沒有所呼叫的函式時,就呼叫這兩個函式
$objecho= new
imooc\object();
echo
$obj
->test(
"hello"
, 123
);
imooc\object::
test
("world"
, 1233
);
<?phpnamespace
imooc;
class
object
static function
__callstatic(
$func
, $param
)}
3.__
tostring
當物件當做字串使用時自動呼叫該函式
$obj= new
imooc\object();
echo$obj
;
<?phpnamespace
imooc;
class
object
}
4.__
invoke
當物件當做函式使用時自動呼叫該函式
$obj= new
imooc\object();
echo$obj("test1")
;
<?phpnamespace
imooc;
class
object
}
來自為知筆記(wiz)
Python魔法方法 基本的魔法方法
new cls 1.new 是在乙個物件例項化時候所呼叫的第乙個方法 2.他的第乙個引數是這個類,其他的引數是用來直接傳遞給 init 方法 3.new 決定是否使用該 init 方法,因為.new 可以直接呼叫其他類的構造方法,或者返回別的例項物件來作為本類的例項,如果 new 沒有返回例項物件,...
PHP 魔法方法之 call和
call和 callstatic方法都可用於防止呼叫不存在的方法而出現報錯,但也能用於方法的動態建立,這在mvc等框架設計中是很有用的語法。call方法原型如下 mixed call string name array arguments 當呼叫乙個不可訪問的方法 如未定義,或者不可見 時,call...
python 魔法方法
魔法方法具有一定的特徵 new cls class capstr str def new cls,string 修改新類裡的new方法,需傳入乙個引數 string string.upper return str.new cls,string 用父類裡的new方法進行返回,直接飯後構造後的物件def...