在对象上调用多个方法?

我试着在一个对象上调用多个函数。但我认为我的语法失败了。你能纠正我吗?在对象上调用多个方法?

$objMetaDaten->setStrTitle('test') 

->setStrBeschreibung('test')

->setStrUeberschrift('test')

->setStrCanonical('test')

->setStrRobots(MetaDaten::INDEX);

回答:

你需要的是一种叫做流畅制定者将调用对象的setter方法作为对传统空隙后返回对象setter方法类似下面

Class A{ 

private $name;

private $id;

public function setName($name) {

$this–>name = $name;

return $this;

}

public function getName() {

return $this–>name;

}

public function setId($id) {

$this–>id = $id;

return $this;

}

public function getId() {

return $this–>id;

}

}

所以,你可以然后说

$test = new A(); 

$test->setId(1)->setName('Fredrick');

回答:

我认为你看起来像这样,这是一个非常基本的方法。

class Test{ 

function test(){

return 'Hi!';

}

}

class Test2{

function test_2(){

return new Test();

}

}

class Test3{

function test_3(){

return new Test2();

}

}

$obj = new Test3();

echo $obj->test_3()->test_2()->test();

或者,你可以在一个类中做到这一点喜欢 -

class Test{ 

private $num;

function test(){

return 'Hi! your number is: '.$this->num;

}

function test_2($mul){

$this->num *= $mul;

return $this;

}

function test_3($add){

$this->num = $add;

return $this;

}

}

$obj = new Test();

echo $obj->test_3(50)->test_2(2)->test();

以上是 在对象上调用多个方法? 的全部内容, 来源链接: utcz.com/qa/261745.html

回到顶部