Изучая Zend Framework, я обнаружил, что каждый метод setter любого из его классов (из тех, которые были рассмотрены Ive) возвращает экземпляр класса, в котором он живет. Не просто устанавливает какое-то значение, но устанавливает значение, а также возвращает $this. Например:
/* 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;
}
И так далее. Каждый публичный сеттер возвращает $this. И не только сеттеры, но и некоторые методы действий, они также возвращают $this:
public function addConfig(Zend_Config $config, $section = null) {
// ... some code here ...
return $this;
}
Зачем это нужно? Что такое возврат $this? Имеет ли он какое-то особое значение?