- vừa được xem lúc

7 Phương thức Laravel 12 mà bạn khó tìm thấy trong tài liệu chính thức

0 0 2

Người đăng: Thái Thịnh

Theo Viblo Asia

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()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()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ẻ!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 468

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 555

- vừa được xem lúc

Sử dụng Swagger để xây dựng API documentation

Giới thiệu về Swagger. RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource.

0 0 1.1k

- vừa được xem lúc

Ví dụ CRUD với Laravel và Vuejs.

1. Cài đặt Laravel. composer create-project --prefer-dist laravel/laravel vuelaravelcrud. .

0 0 172

- vừa được xem lúc

Một số tips khi dùng laravel (Part 1)

1. Show database query in raw SQL format. DB::enableQueryLog(); // Bật tính năng query logging. DB::table('users')->get(); // Chạy truy vấn bạn muốn ghi log.

0 0 105

- vừa được xem lúc

Inertiajs - Xây dựng Single Page App không cần API

Tiêu đề là mình lấy từ trang chủ của https://inertiajs.com/ chứ không phải mình tự nghĩ ra đâu nhé :v. Lâu lâu rồi chưa động tới Laravel (dự án cuối cùng mình code là ở ver 5.8), thế nên một ngày đẹp trời lượn vào đọc docs ver 8.

0 0 253