在对象上调用多个方法?

ElD*_*olo 0 php

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

    $objMetaDaten->setStrTitle('test')
        ->setStrBeschreibung('test')
        ->setStrUeberschrift('test')
        ->setStrCanonical('test')
        ->setStrRobots(MetaDaten::INDEX);
Run Code Online (Sandbox Code Playgroud)

小智 8

你需要的是一个叫做流利的setter的东西,它会在调用对象上的setter之后返回对象,而不是传统的void 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;
     } 
} 
Run Code Online (Sandbox Code Playgroud)

所以你可以说

 $test = new A();

 $test->setId(1)->setName('Fredrick');
Run Code Online (Sandbox Code Playgroud)