PHP魔術方法之__call過載方法
<?php header("content-type:text/html;charset='utf-8'"); class A{ private $name; private $age = 20; function displayObject($p){ print_r($p); } function displayArray($p){ print_r($p); } function displayScalar($p){ print_r($p); } function __call($method,$p){ if($method=='display'){ if(is_object($p[0])){ $this->displayObject($p[0]); }else if(is_array($p[0])){ $this->displayArray($p[0]); }else{ $this->displayScalar($p[0]); } } } } $a = new A(); echo $a->display(array('sdfsd','sdfdsf','123')); echo $a->display($a); echo $a->dispaly('25');
結果:
總結:__call方法必須要有兩個引數,第一個包含了被呼叫的方法名稱,第二個引數包含了傳遞給該方法的陣列。
相關推薦
PHP魔術方法之__call過載方法
<?php header("content-type:text/html;charset='utf-8'"); class A{ private $name; private $
PHP魔術方法之__call與__callStatic方法
ring 魔術方法 local csdn boa -c isset sta 自動調用 [php] view plain copy <?php class human{ private function t(){ } /
魔術方法之__call與__callStatic方法
sha 可見 print 方法的參數 param array csharp func 靜態 <?php class human{ private function t(){ } /** * 魔術方法__call * * @param
PHP 魔術方法之__set() __get() 方法
先看看官方文件的解釋 __set() is run when writing data to inaccessible properties. __get() is utilized for reading data from inaccessible pro
Java方法之--System.arraycopy方法和Arrays.copyOf()
System.arraycopy方法:如果是陣列比較大,那麼使用System.arraycopy會比較有優勢,因為其使用的是記憶體複製,省去了大量的陣列定址訪問等時間 public static native void arraycopy(Object src, int
PHP魔術方法__call
__call成員方法不存在時候自動調用的魔術方法,php不支持多態,可以通過call實現偽多態。 <?class a{function show(){echo 1;}function call($f,$args){echo "__CALL";}}$obj= new a;$obj-&g
PHP 小技巧之__callStatic魔術方法使用
使用 PHP 框架時,經常會用到 ORM 模型查詢資料庫,有沒有疑問:為啥有些 ORM 中的靜態查詢方法,不能通過函式追蹤下去呢,很有可能就是使用了 __callStatic 魔術方法的小技巧 這裡貼一個 簡單的 ORM 模型 1、先抽象一個基本操
php 魔術方法 __call
__call 魔術方法 //檔名字__call (自己隨便起名字) /** * 在物件中呼叫一個不可訪問方法時,__call() 會被呼叫。 * * 在靜態上下文中呼叫一個不可訪問方法時,__callStatic() 會被呼叫。 * * $name 引數是要呼叫的
PHP面向物件之方法重寫與過載
直接程式碼:class father{ public function test(){ echo "father"; } public function tes
PHP 魔術方法
log des ons 函數 私有 func 面向對象編程 自動 pan 一、php中的魔術方法 php在面向對象編程時有一些特殊的方法,會在特定的時機自動調用,我們將這類方法稱為魔術方法。 二、常見的魔術方法及功能 1.構造函數 __construct():當類被
php魔術方法
變量名 數據庫 似的 發生 並且 wakeup fat php魔術方法 ble PHP中的魔術方法總結 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sl
php--魔術方法
克隆 amp 作用 href ted 指定 stat 實現 判斷 在 PHP 中以兩個下劃線開頭的方法,__construct(), __destruct (), __call(), __callStatic(),__get(), __set(), __isset(), _
php 魔術方法和魔術常量
ted 簡單 ech auto trait space esp wak 聲明 魔術方法:PHP把類中所有以__(兩個下劃線)開頭的方法當成魔術方法,一般建議用戶不要將自定義的方法前面加上__作為前綴。魔術方法:1. __construct()類的默認構造方法,如果__con
python魔術方法之裝飾器
裝飾器 描述器 三個魔術方法:__get__()__set__()__delete__()object.__get__(self,實例名,owner) #owner = 屬主 ,instance = 屬主類owner的實例object.__set__(self,實例名,value)object.
php魔術方法__tostring的應用
www. lstat color 匿名類 http ESS build convert ror 當echo一個對象的時候,會報錯誤 Object of class Person could not be converted to string 我們可以通過魔術方
PHP魔術方法大全
十六 加載 魔術 iss 類的成員 auto head UC AD 十六個魔術方法詳解如下 說明:PHP中把以兩個下劃線__開頭的方法稱為魔術方法(Magic methods),這些方法在PHP中充當了舉足輕重的作用。 魔術方法包括: __construct(),類
1.Java基礎之識別符號命名法、八大基本資料型別三大引用型別、運算子以及程式分支結構、方法的定義過載遞迴
一、基礎匯入: 1.java採用Unicode編碼,16進位制編碼,支援世界上所有語言(GBK,gb2312,Unicode,UTF-8,ISO-8859-1)。 多執行緒---> c-編譯型語言 Test.java--原始檔,原始檔必須與主類名(public class Test
PHP魔術方法例項
PHP中把以兩個下劃線__開頭的方法稱為魔術方法,這些方法在PHP中充當了舉足輕重的作用。 魔術方法包括: __construct(),類的建構函式 __destruct(),類的解構函式 __call(),在物件中呼叫一個不可訪問方法時呼叫 __callStatic(),
php魔術常量;資料(變數)序列化/反序列化;魔術方法;static後期靜態繫結特性
與類有關的魔術常量: __CLASS__,:獲取其所在的類的類名。 __METHOD__:獲取其所在的方法的方法名。 class A{ function f1(){ echo __CLASS__; //輸出“A” echo __METHOD__; //輸出“f1”
初認識java 之輸出個人資訊(內含過載方法)
public class Peopleinformation{ private String name; private String sex; private int age; private String post; private String tel; private S