/** * Caso exista algum post na pagina, ele é tranformado em um objeto $model * e colocado como o primeiro argumento para receber no metodo do controller */ private static function getPost(&$parameters) { if (isset($_POST) and count($_POST) > 0) { $post = $_POST; $classe = Controller::getTypeModel(); $model = new $classe(); foreach ($post as $key => $valor) { $ex = explode("_", $key); $count = count($ex); $result = '$model->'; for ($i = 0; $i < $count; $i++) { $result .= '$ex[' . $i . ']' . ($i == $count - 1 ? '= $valor == "" ? null : $valor;' : '->'); } eval($result); } $arrayMerge = array("model" => $model); if (isset($_FILES)) { foreach ($_FILES as $file => $args) { if (property_exists($model, $file)) { $model->{$file} = $args; } else { $arrayMerge[$file] = $args; } } } ModelState::TryValidationModel($model); $parameters = array_merge($arrayMerge, $parameters); } return $parameters; }
public static function ThrowDef($mes, $display = true, $mes_user = '******', $params = 404) { $cfg = new Config(); if ($cfg->getVar('application.writelog') == 1) { $log = new Log('error'); $log->writeLog("\n"); $log->writeLog("------------Exeption------------"); $log->writeLog("time : " . date('h:i:s')); $log->writeLog('message : ' . $mes); } $staks = (array) debug_backtrace(); if ($display != false) { self::$count_end = count($staks); self::printTrace($staks); } if ($cfg->getVar('application.writelog.trace') == 1) { $log->writeLog('trace : ' . self::$printTraceLog); } $error_view = new Controller(); if ($cfg->getVar('application.trace_errors') == 1) { $error_view->viewError('error', self::$arTrace, $mes, $params); } else { $error_view->viewError('error_user', self::$arTrace, $mes_user, $params); } exit; }
<?php use MVC\Controller; use Thr\Exept as Exeption; define("MODULE_DIR", dirname(__FILE__)); spl_autoload_register(function ($className) { $classes = MODULE_DIR . "/" . str_replace("\\", "/", $className) . ".php"; $libs = APP_DIR . "/libs/" . str_replace("\\", "/", $className) . ".php"; if (file_exists($classes)) { require_once $classes; } else { if (file_exists($libs)) { require_once $libs; } else { throw Exeption::ThrowDef("NOT FOUND CLASS - " . $libs); } } }); $obj = new Controller(); $obj->run();