. */ /** * Doctrine_Plugin * * @author Konsta Vesterinen * @package Doctrine * @subpackage Plugin * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @version $Revision$ * @link www.phpdoctrine.com * @since 1.0 */ class Doctrine_Plugin { /** * @var array $_options an array of plugin specific options */ protected $_options = array(); /** * __get * an alias for getOption * * @param string $option */ public function __get($option) { if (isset($this->_options[$option])) { return $this->_options[$option]; } return null; } /** * __isset * * @param string $option */ public function __isset($option) { return isset($this->_options[$option]); } /** * returns the value of an option * * @param $option the name of the option to retrieve * @return mixed the value of the option */ public function getOption($name) { if ( ! isset($this->_options[$name])) { throw new Doctrine_Plugin_Exception('Unknown option ' . $name); } return $this->_options[$name]; } /** * sets given value to an option * * @param $option the name of the option to be changed * @param $value the value of the option * @return Doctrine_Plugin this object */ public function setOption($name, $value) { if ( ! isset($this->_options[$name])) { throw new Doctrine_Plugin_Exception('Unknown option ' . $name); } $this->_options[$name] = $value; return $this; } /** * returns all options and their associated values * * @return array all options as an associative array */ public function getOptions() { return $this->_options; } }