Skip to content

Instantly share code, notes, and snippets.

View hamzaali00001's full-sized avatar

Hamza Ali hamzaali00001

View GitHub Profile
0: {
file_name: "wallpaper",
validated: true,
extension: "jpg"
},
1: {
file_name: "spring",
validated: true,
extension: "png"
},
return collect($photos)
->where('validated', true)
->tap(function ($validated) {
return $validated->where('extension', 'jpg')->pluck('file_name');
});
});
return collect($photos)
->where('validated', true)
->pipe(function ($validated) {
return $validated->where('extension', 'jpg')->pluck('file_name');
});
});
return collect($photos)
->where('validated', true)
->tap(function ($validated) {
return var_dump($validated->pluck('file_name'));
});
});
$photos = [
['file_name' => 'wallpaper', 'validated' => true, 'extension' => 'jpg'],
['file_name' => 'spring', 'validated' => true, 'extension' => 'png'],
['file_name' => 'flowers', 'validated' => false, 'extension' => 'jpg'],
['file_name' => 'mac', 'validated' => true, 'extension' => 'png'],
['file_name' => 'books', 'validated' => false, 'extension' => 'jpg'],
['file_name' => 'mobiles', 'validated' => false, 'extension' => 'jpg'],
['file_name' => 'glass', 'validated' => false, 'extension' => 'png'],
['file_name' => 'fruit', 'validated' => true, 'extension' => 'jpg'],
];
public function __call($method, $parameters)
{
$this->target->{$method}(...$parameters);
return $this->target;
}
<?php
$photo = App\Photo::find(1);
return tap($photo)->update([
'validated' => 'true',
])
function tap($value, $callback = null)
{
if (is_null($callback)) {
return new HigherOrderTapProxy($value);
}
$callback($value);
return $value;
}
<?php
return tap($photo, function($photo) {
$photo->validated = true;
$photo->save();
});
function tap($value, $callback)
{
$callback($value);
return $value;
}