1
0
mirror of synced 2025-03-24 17:03:56 +03:00

Added support for Propel style getters/setters to __call()

This commit is contained in:
Jonathan.Wage 2007-10-09 20:08:23 +00:00
parent 029761d78d
commit 8598411b02

View File

@ -1558,10 +1558,21 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count
*/
public function __call($method, $args)
{
// To support propel style getters/setters
$verb = substr($method, 0, 3);
$field = Doctrine::tableize(substr($method, 3, strlen($method)));
if ($verb === 'get') {
return $this->$verb($field);
} else if ($verb === 'set') {
return $this->$verb($field, $args[0]);
}
if (($template = $this->_table->getMethodOwner($method)) !== false) {
$template->setInvoker($this);
return call_user_func_array(array($template, $method), $args);
}
foreach ($this->_table->getTemplates() as $template) {
if (method_exists($template, $method)) {
$template->setInvoker($this);