Package Data | |
---|---|
Maintainer Username: | cyvelnet |
Maintainer Contact: | cyvelnet@gmail.com (Cyvelnet) |
Package Create Date: | 2015-10-23 |
Package Last Update: | 2015-12-27 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-26 15:22:01 |
Package Statistics | |
---|---|
Total Downloads: | 14 |
Monthly Downloads: | 1 |
Daily Downloads: | 0 |
Total Stars: | 2 |
Total Watchers: | 2 |
Total Forks: | 1 |
Total Open Issues: | 0 |
We all face the problems when user submit a form, and all these form data is a mess, sometime we even wanted to trim the inputs, cast them, and reformat them, in fact it is not the hardest thing in the world, but these small tasks really make our code look lengthy, and InputPipes comes into play.
$inputs = Pipe::make(Input::all(), ['email' => 'trim|lower', 'name' => 'trim|ucword'])->get();
This single line of code simply the time we spend on formatting input.
Require this package with composer with the following command:
composer require cyvelnet/laravel5-inputpipe
Add the ServiceProvider to the providers array in config/app.php
Cyvelnet\InputPipe\InputPipeServiceProvider::class
and register Facade
Cyvelnet\InputPipe\Facades\PipeFacade::class
Sometime we wanted to add some logic which is currently not provided or not a general scope, no worry you can extend it to match you usage
Pipe::extend('sample', function ($data, $parameters) { return $data; });
The above scenario is perfectly fine, if only a small number of extra functionality to add on. When extensions get crowded, it is better to organize them into class.
class CustomPipes extends \Cyvelnet\InputPipe\Pipes {
public function pipeFoo ($data, $parameters) {
// process your logic;
}
public function pipeBar($data, $parameters) {
// process another logic;
}
}
Then register you class with
Pipe::extra(function($data, $pipes) { return new CustomPipes($data, $pipes); });
Finally trigger your pipes
$inputs = Pipe::make(Input::only('foo', 'bar'), ['foo', 'bar'])->get();