php调用其它方法吗,php-另一个调用方法

标签:php

我有一堆方法,需要测试是否已到达远程服务器,如果没有,请到达远程服务器.

我的第一个想法是__call magic方法,但是仅当未提供真实方法(具有原始名称)时才调用该方法.

public function __call( $name, $arguments ) {

$needsExecution = array(

'getBody', 'getHeader', 'getHeaders', 'getRawOutput',

'getStatusCode', 'getFullHttp'

);

if ( in_array( $name, $needsExecution ) ) {

if ( !$this->hasBeenExecuted() ) {

$this->execute();

}

}

}

public function getBody() {

return $this->responseBody;

}

public function getHeaders() {

return $this->responseHeaders;

}

?>

我真的需要在每种方法中使用一堆if吗,还是有办法更好地做到这一点?

解决方法:

像这样更改代码呢?

public function __call( $name, $arguments ) {

$needsExecution = array(

'getBody', 'getHeader', 'getHeaders', 'getRawOutput',

'getStatusCode', 'getFullHttp'

);

if ( in_array( $name, $needsExecution ) ) {

if ( !$this->hasBeenExecuted() ) {

$this->execute();

}

return $this->{'_' . $name}();

//return call_user_func(array($this, '_' . $name));

}

}

protected function _getBody() {

return $this->responseBody;

}

protected function _getHeaders() {

return $this->responseHeaders;

}

?>

标签:php

来源: https://codeday.me/bug/20191202/2085379.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值