Laravel 5.5 sẽ có gì mới - Phần 2
Bài đăng này đã không được cập nhật trong 2 năm
Mình có giới thiệu một số đổi mới có thể xảy ra trong Laravel 5.5 ở phần 1, nếu bạn chưa xem có thể vào đây để xem lại P1: https://viblo.asia/blaysku/posts/Az45bN6N5xY
8. Cải tiến giao diện báo lỗi mặc định
Giao diện báo lỗi trên Laravel 5.4
và trên 5.5
Các error template sẽ mặc định extends errors::layout...
9. Trả về dữ liệu yêu cầu từ Validator
Trong Laravel 5.5, Validator sẽ chỉ trả về dữ liệu được yêu cầu, vậy nên sẽ không có dữ liệu dư thừa nếu bạn không muốn.
public function store()
{
$data = $this->validate(request(), [
'name' => 'required',
'price' => 'required|numeric',
'category_id' => 'numeric|exists:categories',
]);
// $data = request()->only('name', 'price', 'category_id');
return Product::create($data);
}
Nếu 1 bạn muốn lấy dữ liệu của 1 trường không cần validate thì sao, đây là câu trả lời
$data = $this->validate(request(), [
'name' => 'required',
'price' => 'required|numeric',
'notRequiredField' => '',
]);
10. throw_if và throw_unless
Laravel 5.5 sẽ có 2 phương thức helpers mới là throw_if và throw_unless, cả hai được thiết kế để "ném" exceptions dễ dàng hơn.
throw_if
Như tên gọi, nếu tham số đầu tiên true thì exception được "ném" ra
function throw_if($boolean, $exception, $message = '')
{
if ($boolean) {
throw (is_string($exception) ? new $exception($message) : $exception);
}
}
throw_unless
Ngược lại với throw_if là throw_unless, nếu tham số điều tiên false thì "ném" ra exception
function throw_unless($boolean, $exception, $message)
{
if (! $boolean) {
throw (is_string($exception) ? new $exception($message) : $exception);
}
}
Cũng chờ đón những tin tức mới nhất về Laravel nhé Phần tiếp: https://viblo.asia/p/laravel-55-se-co-gi-moi-phan-3-Ljy5Vb4y5ra
All rights reserved