Laravel 12 mang đến rất nhiều tính năng tuyệt vời, nhưng một số bổ sung hay nhất lại không xuất hiện trong tài liệu.
Những phương thức “ẩn” này có thể giúp mã của bạn sạch hơn, nhanh hơn và dễ đọc hơn — nếu bạn biết tìm ở đâu.
Dưới đây là 7 helper ít được biết đến trong Laravel 12 mà bạn nên thêm vào bộ công cụ của mình. 👇
1. Collection::range(start, end, step)
Cuối cùng thì bạn cũng có thể tạo dãy số với bước nhảy:
collect()->range(1, 10, 2);
// [1, 3, 5, 7, 9]
Không còn phải dùng filter()
rối rắm sau range()
. Cách này vừa rõ ràng vừa hiệu quả khi tạo dãy số.
2. Arr::partition()
Chia một mảng thành hai nhóm dựa trên điều kiện:
[$evens, $odds] = Arr::partition( [1, 2, 3, 4, 5], fn ($n) => $n % 2 === 0
);
Bạn nhận được hai mảng gọn gàng chỉ trong một lần gọi. Không cần chuyển sang collection chỉ để chia nhóm.
3. TestResponse::ddJson()
và ddBody()
Việc debug phản hồi khi test giờ đây dễ hơn nhiều:
$this->get('/api/test')->ddJson('data');
Không cần phải lấy getContent()
rồi tự decode JSON nữa. Các phương thức mới này cho phép bạn kiểm tra kết quả ngay trong luồng test.
4. Model::except([...])
Muốn loại bỏ một số field khỏi model (ví dụ các trường nhạy cảm)?
return $user->except(['password']);
Cách này sạch hơn nhiều so với makeHidden()
, đặc biệt là trong các API response mà bạn chỉ muốn ẩn vài trường.
5. Model::fillAndInsert([...])
Cần chèn nhiều bản ghi cùng lúc mà vẫn giữ các behavior như cast, timestamps hoặc UUID?
User::fillAndInsert([ ['name' => 'Alice'], ['name' => 'Bob'],
]);
Nó hoạt động như insert()
nhưng vẫn giữ lại tất cả logic của model Eloquent. Không cần “hack”, cứ dùng như bình thường.
6. Uri::of(...)->pathSegments()
Phân tích một URL và lấy ra các phần của path một cách rõ ràng:
Uri::of('https://site.com/2025/06')->pathSegments();
// ['2025', '06']
Không cần explode()
hay cắt chuỗi. Đây là xử lý URL đúng chuẩn ngữ nghĩa.
7. Str::encrypt()
và decrypt()
Muốn mã hóa giá trị theo cách “fluent”?
str('secret')->encrypt()->prepend('x_');
Sau đó:
str($token)->after('x_')->decrypt();
Mã hóa đơn giản và thanh lịch cho các giá trị nhỏ — lý tưởng cho dữ liệu có thời gian sống ngắn như token.
Lời kết
Laravel 12 có rất nhiều "viên ngọc quý" — không chỉ trong tài liệu chính thức.
Bằng cách sử dụng những helper ít được biết đến này, bạn có thể:
✅ Viết ít mã boilerplate hơn
✅ Giảm lỗi
✅ Tăng hiệu suất và khả năng đọc
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với đồng đội hoặc lưu lại để dùng sau.
Chúc bạn code vui vẻ!