/** * Load a class definition * * @param string $className The className to load * @return true If success * @throws nExecption If the file isn't find */ public static function load($className) { if (!class_exists($className) && !in_array($className, self::$loadedClass)) { if (!array_key_exists($className, self::$loadFiles)) { if ($file = file::nyroExists(array('name' => $className))) { require $file; self::$loadFiles[$className] = array($file); self::$saveCacheLoad = true; self::$loadedClass[] = $className; if (defined('RUNKIT_VERSION')) { $filesExtend = file::nyroExists(array('name' => $className, 'type' => 'extend', 'rtl' => false, 'list' => true)); if (!empty($filesExtend)) { self::$loadFiles[$className][1] = $filesExtend; foreach ($filesExtend as $fe) { runkit_import($fe); } } } } else { if (!lib::load($className)) { if (self::$throwOnLoad) { throw new nException('Factory - load: Unable to find the file for ' . $className . '.'); } else { return false; } } } } else { require self::$loadFiles[$className][0]; self::$loadedClass[] = $className; if (defined('RUNKIT_VERSION') && array_key_exists(1, self::$loadFiles[$className])) { foreach (self::$loadFiles[$className][1] as $fe) { runkit_import($fe); } } } } return true; }