parfumix/php-function-arguments

dev-master 2015-05-18 11:50 UTC

This package is auto-updated.

Last update: 2024-09-19 21:59:46 UTC


README

参数助手是一个类助手,可以帮助您减少PHP函数的参数数量,并轻松将其转换为类。它还可以提取和验证...

    // From ..
    public function example($arg1, $arg2, $arg3, $arg4 = null, $arg5 = array());
    // To ..
    public function example(Argumentable $args);

安装

您可以使用composer包管理器进行安装。您可以选择运行

$ php composer.phar require parfumix/php-function-arguments "dev-master"

或在您的composer.json文件中添加

"parfumix/php-function-arguments": "dev-master"

到您的composer.json文件

使用

您可以使用参数助手函数轻松创建参数实例

$args = args();

// or if you want to pass some values and rules
$args = args($values = array(), $rules = array());

// or you can use ::create static functions
$args = Argument::create($values = array(), $rules = array());

参数实现了PHP接口,如"Argumentable, ArrayAccess, Iterator, IteratorAggregate, Countable",因此您可以轻松迭代参数或以数组方式访问元素,也可以计算参数数量

$args = args($values = array(
    'key' => 'value'
));

// to access an arguments you can use
$args['key']
// or
$args->get('key')

// counting arguments
count($args)

验证

您可以使用验证函数或调用对象作为函数(使用__invoke)轻松验证参数

$args = args();
$args->set('key', 'value');

// You can validate your args before
if( ! $args->validate(function($failedFields) {
    // you can do whetever with failed fields ..
}) )

class Example {
    public function needParams(Argumentable $args) {
        // Or you can validate here .
        if( ! $args->validate(function($failedFields) {
            // you can do whetever with failed fields ..
        }) )
    }
}