예제 #1
0
 public static function POST($params)
 {
     //Define model
     $model = ['title' => ['type' => Validate::TYPE_TEXT, 'max' => 12, 'min' => 3, Validate::REQUIRED], 'content' => ['type' => Validate::TYPE_TEXT, 'max' => 4096, 'min' => 12, Validate::REQUIRED]];
     //Require and Validate model
     Validate::model($params, $model);
     //Declare them as variables
     $title = $params['title'];
     $content = $params['content'];
     $post = ['title' => $title, 'content' => $content, 'timestamp' => time()];
     $post = \Phramework\Models\Filter::castEntry($post, ['timestamp' => Validate::TYPE_UNIX_TIMESTAMP]);
     //Store ($title, $content) somehow and get the id
     $id = rand(0, 100);
     $post['id'] = $id;
     \Phramework\Models\Response::created('http://localhost/post/' . $id . '/');
     //Sample output
     Phramework::view(['post' => $post], 'post', 'Blog post');
 }
예제 #2
0
 /**
  * Required required values and parse provided parameters into an array
  * Validate the provided request model and return the
  * @uses \Phramework\Models\Request::requireParameters
  * @param array|object $parameters
  * @param array $model
  * @return array Return the keys => values collection
  * @deprecated since 1.0.0
  */
 public static function parseModel($parameters, $model)
 {
     if (is_object($parameters)) {
         $parameters = (array) $parameters;
     }
     $required_fields = [];
     foreach ($model as $key => $value) {
         if (in_array('required', $value, true) === true || in_array('required', $value, true) == true) {
             $required_fields[] = $key;
         }
     }
     Request::requireParameters($parameters, $required_fields);
     \Phramework\Validate\Validate::model($parameters, $model);
     $keys_values = [];
     foreach ($model as $key => $value) {
         if (isset($parameters[$key])) {
             if (in_array('nullable', $value) && $parameters[$key] == '0') {
                 $keys_values[$key] = null;
                 continue;
             }
             //Set value as null
             if (in_array('nullable', $value) && !$parameters[$key]) {
                 $keys_values[$key] = null;
                 continue;
             }
             /*
                             if ($value['type'] == 'select' && !$parameters[$key]) {
                                 $keys_values[$key] = NULL;
                             } else {*/
             $keys_values[$key] = $parameters[$key];
             /*}*/
         } elseif (($value['type'] == 'boolean' || in_array('boolean', $value)) && (!isset($parameters[$key]) || !$parameters[$key])) {
             $keys_values[$key] = false;
         }
     }
     return $keys_values;
 }
예제 #3
0
 /**
  * Validate a regexp
  * @param mixed input
  * @param string $field_name [optional]
  * @return boolean
  * @throws IncorrectParameters If value type is not correct.
  */
 public static function boolean($input, $field_name = 'boolean')
 {
     //Define trivial model
     $model = [$field_name => ['type' => Validate::TYPE_BOOLEAN, Validate::REQUIRED]];
     $parameters = [$field_name => $input];
     Validate::model($parameters, $model);
     return $parameters[$field_name];
 }