Skip to content

Repository files navigation

Koine Strong Parameters

Rails-like strong parameters for php

Work in progress

Code information:

Build StatusCoverage StatusCode ClimateScrutinizer Code Quality

Package information:

Latest Stable VersionTotal DownloadsLatest Unstable VersionLicenseDependency Status

Usage

useKoine\Parameters;
$params = newParameters(array(
'user' => array(
'name' => 'Foo',
'email' => 'Foo@bar.com',
'admin' => true
)
));
// throws exception$userParams = $params->requireParam('user')->permit(array(
'name',
'email',
));
// filters value
Parameters::$throwsException = false;
$userParams = $params->requireParam('user')->permit(array(
'name',
'email',
))->toArray(); // array('name' => 'Foo', 'email' => 'Foo@bar.com')// nested params$params = newParams(array(
'book' => array(
'title' => 'Some Title',
'edition' => '3',
'authors' => array(
array(
'name' => 'Jon',
'birthday' => '1960-01-02',
),
array(
'name' => 'Daniel',
'birthday' => '1960-01-02',
),
)
),
'foo' => 'bar',
'bar' => 'foo'
));
$params->permit(array(
'book' => array(
'authors' => array('name'),
'title'
),
'foo'
))->toArray();
/** array( 'book' => array( 'title' => 'Some Title', 'authors' => array( array('name' => 'Jon'), array('name' => 'Daniel'), ) ), 'foo' => 'bar' )*/// array params$params = newParams(array(
'tags' => array('php', 'ruby')
));
$params->permit(array('tags' => array()))->toArray();
// array( 'tags' => array('php', 'ruby'))// array params with invalid data$params = newParams(array(
'tags' => 'invalid'
));
$params->permit(array('tags' => array()))->toArray(); // array()// do something with the values

Installing

Via Composer

Append the lib to your requirements key in your composer.json.

{// composer.json// [..]require: {// append this line to your requirements"koine/strong-parameters": "~0.9.3"}}

Alternative install

Issues/Features proposals

Here is the issue tracker.

Contributing

Please refer to the contribuiting guide.

License

MIT

Authors

About

Rails-like strong parameters for mass assignment prottection

Resources

Contributing

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages