hgg/parameter-validator 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hgg/parameter-validator

最新稳定版本:v0.1.4

Composer 安装命令:

composer require hgg/parameter-validator

包简介

Framework for specifying and enforcing rules on key/value pairs

README 文档

README

Framework for specifying and enforcing rules on key/value pairs

Build Status Latest Stable Version Total Downloads License

Installation

Using Composer:

{
    "require": {
        "hgg/parameter-validator": "dev-master"
    }
}

Use Cases

Url Query String Parameters

A framework like Symfony 2 provides the Request object from which one can obtain the query string parameters either one by one

$param = $request->query->get('name-of-parameter');

or all at once

$params = $request->query->all();

This is really convenient but the validation of these parameters is still left to the developer and becomes really tedious. You still have to ensure that all required parameters are present and that the values for them are of the correct type, etc.

This framework allows the definition of rules for the parameters and can even validate the values for these parameters.

Example - Url Query String Parameter Validation in Symfony 2

SomeApiMethod.php

<?php

namespace HGG\ParameterValidator\Test;

use HGG\ParameterValidator\Parameter\NumberParameter;
use HGG\ParameterValidator\ParameterDefinition;
use HGG\ParameterValidator\Input;

class SomeApiMethod
{
    protected $def;

    public function __construct()
    {
        $this->def = new ParameterDefinition();
        $this->def
            ->addParameter(
                new NumberParameter(
                    'id',
                    Parameter::REQUIRED,
                    'This is a required numeric parameter',
                    'Some more details could go here'
                )
            );
    }

    public function execute($parameters)
    {
        $input = new Input($parameters, $this->def);

        $validatedParameters = $input->getParameters();

        // Do some work here and create a result

        return $result;
    }
}

SomeController.php

<?php

class SomeController
{
    public function someAction()
    {
        $method = new SomeApiMethod();

        return $method->execute($this->getRequest()->query->all());
    }
}

统计信息

  • 总下载量: 101.99k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 1
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2013-09-26