Laravel покращує спосіб роботи з даними запиту за допомогою методу fluent(), який пропонує елегантний доступ до інформації про запит через інтерфейс, що не викликає помилок при звертанні до нульових значень.
Базова імплементація перетворює дані запиту на об'єкт Fluent:
/** @var Illuminate\Http\Request $request */
$data = $request->fluent();
// Доступ до властивостей з перевіркою на null
$name = $data->name;
$email = $data->email;
Цей підхід особливо зручний у складних сценаріях обробки форм:
class ArticleController extends Controller
{
public function store(Request $request)
{
$article = $this->createArticle(
$request->fluent()
);
return redirect()->route('articles.show', $article);
}
private function createArticle(Fluent $data): Article
{
return Article::create([
'title' => $data->title,
'content' => $data->content,
'category_id' => $data->category_id,
'author_id' => auth()->id(),
'status' => $data->status ?? 'draft',
'options' => [
'allow_comments' => $data->allow_comments ?? true,
'featured' => $data->featured ?? false,
'format' => $data->format ?? 'standard'
]
]);
}
}
Використання методу fluent() підвищує читабельність коду та спрощує доступ до даних в усьому застосунку, що робить його особливо корисним під час роботи зі складними формами або необов'язковими полями