/** * 订阅类的事件 * * @param string $class * @param string $event * @param callback $callback * @access public * @return void */ public function subscribe($class, $event, $callback) { if (!is_callable($callback)) { throw Error::not_callable('Events::subscribe() parameter 3'); } $class = strtolower(ltrim($class, '\\')); $this->subscribe[$class][$event][] = $callback; }
/** * 自定义类的autoloader * 会覆盖默认的autoloader * * @param callable $loader * @param boolean $throw * @param boolean $prepend * @access public * @return Lysine\MVC\Application */ public function setAutoloader($loader, $throw = true, $prepend = false) { if (!is_callable($loader)) { throw Error::not_callable('Application loader'); } spl_autoload_unregister(array($this, 'loadClass')); spl_autoload_register($loader, $throw, $prepend); return $this; }