/** * Вызвать методо из опрежделенного неймспейса * * @param string $ns - название неймспейса * @param string $method - метод который необходимо вызвать из определенного интерфейса * @param mixed $arguments - обязательно ассоциативный масссив * @return mixed */ public static function call($ns, $method, $arguments = null, $additionalArguments = null) { if (!method_exists(self::$nameSpaces[$ns][$method], $method)) { $nsExpl = explode('.', $ns); if ($wakeUpFunction = self::$callModeles[$nsExpl[0]]) { $wakeUpFunction($nsExpl); } } if (method_exists(self::$nameSpaces[$ns][$method], $method)) { self::$lastInstance = self::$nameSpaces[$ns][$method]; $result = call_user_func_array(array(self::$nameSpaces[$ns][$method], $method), array($arguments, $additionalArguments)); if (!$result) { return true; } else { return $result; } } else { return null; } }