/** * @param string|int $hookId * @param AbsHook $hook * * @return AbsHook * @throws Exception * @author Panagiotis Vagenas <*****@*****.**> * @since 0.0.2 */ protected function addToPool($hookId, AbsHook $hook) { if (!(is_int($hookId) || is_string($hookId))) { throw new Exception("Key: {$hookId} is not a valid array key"); } if (!isset(static::$pool[$hook->getTag()])) { static::$pool[$hook->getTag()] = array(); } if (!isset(static::$pool[$hook->getTag()][$hook->getPriority()])) { static::$pool[$hook->getTag()][$hook->getPriority()] = array(); } return static::$pool[$hook->getTag()][$hook->getPriority()][$hookId] = $hook; }