Search code examples
phpoopzend-frameworkreturn

What does "return $this" mean?


I'm trying to understand this code, and when I arrived at the final line, I didn't get it. :(

Can I have your help in order to find out, what does return $this mean ?

public function setOptions(array $options) {
    $methods = get_class_methods($this);
    foreach ($options as $key => $value) {
        $method = 'set' . ucfirst($key);
        if (in_array($method, $methods)) {
            $this->$method($value);
        }
    }

    //???? - return what ?
    return $this;
}

Update:
I've removed my comments for better clarification.


Solution

  • This way of coding is called fluent interface. return $this returns the current object, so you can write code like this:

    $object
      ->function1()
      ->function2()
      ->function3()
      ;
    

    instead of:

    $object->function1();
    $object->function2();
    $object->function3();