koine / strong-parameters
Rails like Strong parameters for php
0.9.3
2014-09-26 14:29 UTC
Requires
- php: >=5.3.3
- koine/core: ~0.9.10
Requires (Dev)
- phpunit/phpunit: *
- satooshi/php-coveralls: dev-master
This package is not auto-updated.
Last update: 2024-12-21 17:12:13 UTC
README
Rails-like strong parameters for php
Work in progress
Code information:
Package information:
Usage
use Koine\Parameters; $params = new Parameters(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 = new Params(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 = new Params(array( 'tags' => array('php', 'ruby') )); $params->permit(array('tags' => array()))->toArray(); // array( 'tags' => array('php', 'ruby')) // array params with invalid data $params = new Params(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
- Learn composer. You should not be looking for an alternative install. It is worth the time. Trust me ;-)
- Follow this set of instructions
Issues/Features proposals
Here is the issue tracker.
Contributing
Please refer to the contribuiting guide.