PHP魔法方法的使用

2022-09-15 03:39:11 字數 1380 閱讀 8179

1.__get / __set當類沒有要訪問的屬性時,就呼叫這兩個函式

$obj

= new

imooc\object();

$obj

->

title

= "hello"

;echo

$obj

->

title

;

<?php

namespace

imooc;

class

object

function

__get(

$key

)}

2.__

call / _

_callstatic

當類沒有所呼叫的函式時,就呼叫這兩個函式

$obj

= new

imooc\object();

echo

$obj

->test(

"hello"

, 123

);

echo

imooc\object::

test

("world"

, 1233

);

<?php

namespace

imooc;

class

object

static function

__callstatic(

$func

, $param

)}

3.__

tostring

當物件當做字串使用時自動呼叫該函式

$obj

= new

imooc\object();

echo 

$obj

;

<?php

namespace

imooc;

class

object

}

4.__

invoke

當物件當做函式使用時自動呼叫該函式

$obj

= new

imooc\object();

echo 

$obj("test1")

;

<?php

namespace

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...