josephlavin/tap
, (*1)
A stand alone port of Laravel's tap method (inspired by Ruby). This package will add a tap method to the global namespace. For more information see Taylor Otwell's explanation of tap., (*2)
Installation
composer require josephlavin/tap
Example
You need to create a model and commit it to the database using save:, (*3)
function createAndSaveModel($attributes)
{
$model = new Model($attributes);
$model->save();
return $model;
}
The same code can be simplified utilizing tap:, (*4)
function createAndSaveModel($attributes)
{
return tap(new Model($attributes), function (Model $model) {
$model->save();
});
}
Utilizing the proxy feature it can be further simplified:, (*5)
function createAndSaveModel($attributes)
{
return tap(new Model($attributes))->save();
}