/** * Перестраиваем и сохраняем classpath в файл. * Вынесли это действие в отдельный метод, чтобы можно было вывести classpath в файл (для дебага). * * @return AutoloadDir */ public function rebuild() { if (!$this->rebuilded) { $this->rebuilded = true; $s = Secundomer::startedInst(); $this->pathes = array(); PsCoreIncluder::loadClassPath($this->classesDir->getAbsPath(), $this->pathes, false); $this->classPathFile->saveArrayToFile($this->pathes); $this->classPathFile->getSibling($this->classPathFile->getName() . '_arr')->putToFile(print_r($this->pathes, true)); $this->LOGGER->info("{$this} rebuilded in {$s->stopAndGetAverage()} seconds."); } return $this; }
/** @return PsCoreIncluder */ public static function inst() { return self::$inst ? self::$inst : (self::$inst = new PsCoreIncluder()); }
*/ if (PS_DIR_INCLUDES != basename(__DIR__)) { die('Invalid ps-sdk includes dir: ' . basename(__DIR__)); } /* * Стартуем сессию * TODO - надо ли? */ if (!isset($_SESSION)) { session_start(); } /* * Подключим все классы из src/auto */ include_once __DIR__ . '/src/auto/PsCoreIncluder.php'; PsCoreIncluder::inst()->includeCore(); /* * Зарегистрируем наш обработчик для php ошибок */ ExceptionHandler::register4errors(); /* * Подключим обработчик эксепшенов. Позднее мы подключим "красивый" обработчик ошибок. */ ExceptionHandler::register(); /* * Подключим загрузчик служебных классов */ Autoload::inst()->register(); /* * Если мы работаем под процессом - не подключаемся автоматически к DB и используем специальный провайдер безопасности */