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()
підвищує читабельність коду та спрощує доступ до даних в усьому застосунку, що робить його особливо корисним під час роботи зі складними формами або необов'язковими полями