如果我有这个函数
function function1 ( $myParameter ) {
...
}
function function2 ( $myParameter ) {
...
}
function function3 ( $myParameter ) {
...
}
当我呼叫时
function1( function2( function3( $myParameter ) ) )
我想这样打电话:
function3( $myParameter ) -> function2() -> function1()
function3($myParameter)作为参数发送到function2()
是否存在PHP插件(或其他插件)?
Thx
您可以通过返回实例(使用$this
)来链接对象方法这里有一个微不足道的例子。
class foo {
function function1() {
echo "I'm function1'n";
return $this;
}
function function2() {
echo "I'm function2'n";
return $this;
}
function function3() {
echo "I'm function3'n";
return $this;
}
}
$bar = new foo();
$bar->function3()->function2()->function1();
您可以通过在对象上设置函数来实现这一点。由于我不知道域名,很难说这有多合理,但如果这只是你感兴趣的代码格式,你可以使用它。
<?php
class Functions
{
protected $value;
public function function1($param)
{
//do something
return $this->value;
}
public function function2($param)
{
// do something to $this->value
return $this;
}
public function function3($param)
{
// do something to $this->value
return $this;
}
}
$class = new Functions();
$param = 'someVariable';
$result = $class->function3($param)->function2($param)->function1($param);
同样,在不了解领域的情况下,很难知道这种方法有多明智