'; //var_dump($directorys); //echo ''; $files = new RecursiveIteratorIterator($directorys, RecursiveIteratorIterator::LEAVES_ONLY); $filename = $className . static::$extension; foreach ($files as $key => $file) { if (strtolower($file->getFilename()) === strtolower($filename) && $file->isReadable()) { include_once $file->getPathname(); return; } } } static function setRoot($rootPath){ static::$root = $rootPath; } } spl_autoload_register("Autoloader::ClassLoader"); Autoloader::setRoot('/var/www/dev.steelants.cz/vasek/home-update/'); // import configs require_once '../config/config.php'; class ErrorHandler { static function exception($exception){ error_log($exception); http_response_code($exception->getCode()); $message = [ 'code' => $exception->getCode(), 'message' => $exception->getMessage(), 'file' => $exception->getFile(), 'line' => $exception->getLine(), 'trace' => $exception->getTrace(), ]; echo json_encode($message); $apiLogManager = new LogManager('../logs/apache/'. date("Y-m-d").'.log'); $apiLogManager->setLevel(LOGLEVEL); $apiLogManager->write("[APACHE]\n" . json_encode($message, JSON_PRETTY_PRINT), LogRecordTypes::ERROR); } } set_exception_handler("ErrorHandler::exception"); Debugger::flag('preload'); $json = file_get_contents('php://input'); $obj = json_decode($json, true); $apiLogManager = new LogManager('../logs/api/'. date("Y-m-d").'.log'); $apiLogManager->setLevel(LOGLEVEL); $apiLogManager->write("[API] headers\n" . json_encode($_SERVER, JSON_PRETTY_PRINT), LogRecordTypes::INFO); $apiLogManager->write("[API] request body\n" . json_encode($obj, JSON_PRETTY_PRINT), LogRecordTypes::INFO); $apiLogManager->write("[API] POST body\n" . json_encode($_POST, JSON_PRETTY_PRINT), LogRecordTypes::INFO); $apiLogManager->write("[API] GET body\n" . json_encode($_GET, JSON_PRETTY_PRINT), LogRecordTypes::INFO); Debugger::flag('dbconnect'); //D B Conector Db::connect (DBHOST, DBUSER, DBPASS, DBNAME); Debugger::flag('routes'); // import routes require_once '../app/Routes.php'; Debugger::flag('done'); // echo Debugger::showFlags(false);