3

I tried calling multiple functions on a single object. But I think I failed the syntax. Could you correct me please?

    $objMetaDaten->setStrTitle('test')
        ->setStrBeschreibung('test')
        ->setStrUeberschrift('test')
        ->setStrCanonical('test')
        ->setStrRobots(MetaDaten::INDEX);
ElDiabolo
  • 357
  • 5
  • 20

1 Answers1

17

What you need is something called fluent setters which will return the object after calling a setter on the object as against the conventional void setters something like below

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;
     } 
} 

So you can then say

 $test = new A();

 $test->setId(1)->setName('Fredrick');
Ghost Worker
  • 640
  • 6
  • 17