* $c->_if(true) // returns $c * ->doStuff() // executed * ->_else() // returns a PropelConditionalProxy instance * ->doOtherStuff() // not executed * ->_endif(); // returns $c * $c->_if(false) // returns a PropelConditionalProxy instance * ->doStuff() // not executed * ->_else() // returns $c * ->doOtherStuff() // executed * ->_endif(); // returns $c * @see Criteria * * @author Francois Zaninotto * @version $Revision: 1612 $ * @package propel.runtime.util */ class PropelConditionalProxy { protected $mainObject; public function __construct($mainObject) { $this->mainObject = $mainObject; } public function _if() { throw new PropelException('_if() statements cannot be nested'); } public function _elseif($cond) { if($cond) { return $this->mainObject; } else { return $this; } } public function _else() { return $this->mainObject; } public function _endif() { return $this->mainObject; } public function __call($name, $arguments) { return $this; } }