Example #1
0
 /**
  * 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;
 }