/** * Applies the result of the callback * * @param callback $callback A callback function * @param mixed $targetName A fieldname or array of field names set to the output of the function * @param mixed $targetKey Optional fields set by callback, otherwise callback should return array * @param mixed $sourceName Optional parameter input names for the callback, passed in order * @throws \MUtil\Model\Dependency\DependencyException */ public function __construct($callback, $targetName, $targetKey = null, $sourceName = null) { if (!is_callable($callback)) { throw new DependencyException(__CLASS__ . " requires a valid callback."); } $this->_callback = $callback; $this->_dependentOn = $sourceName; if (is_array($targetName)) { $this->_effecteds = array_fill_keys($targetName, (array) $targetKey); } else { $this->_effecteds[$targetName] = (array) $targetKey; } parent::__construct(); }
/** * Is this field effected by this dependency? * * @param $name * @return boolean */ public function isEffected($name) { $this->_checkEffected(); return parent::isEffected($name); }