/** * 调用注入的匿名函数并缓存结果 * * @param string $name * @param array $params * @return mixed * @throws CoreException */ protected function getDii($name, $params = array()) { static $dii = array(); $di = $this->delegate->getDi(); if (isset($dii[$name])) { return $dii[$name]; } elseif (isset($di[$name])) { $dii[$name] = call_user_func_array($di[$name], $params); return $dii[$name]; } throw new CoreException("未定义的注入方法 {$name}"); }