Why return $this in setter methods?
getter-setter, php, return, zend-framework
Solution
The `return $this` allows the chaining of methods like:
$foo->bar('something')->baz()->myproperty
Problem
Examining Zend Framework, I found that all setter methods (of those I’ve examined) return the instance of the class it lives in. It doesn't only set a value but also returns `$this`. For example: ``` /* Zend_Controller_Router */ public function setGlobalParam($name, $value) { $this->_globalParams[$name] = $value; return $this; } /* Zend_Controller_Request */ public function setBaseUrl($baseUrl = null) { // ... some code here ... $this->_baseUrl = rtrim($baseUrl, '/'); return $this; } /* Zend_Controller_Action */ public function setFrontController(Zend_Controller_Front $front) { $this->_frontController = $front; return $this; } ``` And so on. Every public setter returns `$this`. And it's not only for setters, there are also other action methods that return `$this`: ``` public function addConfig(Zend_Config $config, $section = null) { // ... some code here ... return $this; } ``` Why is this needed? What does returning `$this` do? Does it have some special meaning?