/** * 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; }