我做了一個使用SoapClient對象的類,並在構造函數中接收webservice url以及方法和響應之間的關聯。函數指針
有了它,我有一個調用函數,只接收方法及其參數!
但我想多做一點概括!
我想傳遞給構造函數的方法,允許我將它們註冊爲函數並直接調用它們!
我已經看到這在C中完成,我相信它可以在PHP中完成!
任何人都可以給我一個提示嗎?
隨着Waleed Khan的幫助和一些更多的研究,我已經想出瞭如何做到這一點!
上使用我的類文件我用這個
$webs=new WebserviceCLS('webserviceIP',array("GetData"=>"GetDataResult"),array("GetData"));
$webs->metodo['GetData']($webs,array ("idData" => "98745684"));
,並在類的構造函數我用
foreach($met as $v)
{
$eu = $this;
$this->metodo[$v]= function($param) use($v,$eu)
{
$eu->call($v,$param);
};
}
這樣的構造得到方法列表的互聯網服務和品牌一個匿名函數,它調用web服務的通用處理程序。爲了打這個電話,我使用變量$ eu指向該類,並用於匿名函數
PHP自5.3以來,您可以製作並傳遞[匿名函數](http://www.php.net/manual/en/functions.anonymous。PHP),並且PHP的所有最新版本都允許您傳遞一個字符串名稱,然後您可以調用它,就好像它是一個函數的名稱一樣。 –
在PHP 5.4中,您還可以[將閉包綁定到對象](http://www.php.net/manual/en/closure.bindto.php)。 –
我目前的問題是在我的匿名函數的父項中調用一個函數!任何提示? – davidmr