© 2026 Laravel

Filesystem & Helpers: Bí mật của tính 'tiện dụng'

2 phút đọc
#laravel #filesystem #helpers #architecture

Mục lục bài viết

Sử dụng các mục để điều hướng nhanh

#1. Filesystem Abstraction (Flysystem)

Laravel không làm việc trực tiếp với file trên disk. Nó wrap League\Flysystem.

  • Lợi ích: Code của bạn hoàn toàn giống nhau khi dùng Local disk, Amazon S3, hay FTP. Chỉ cần đổi cấu hình ở filesystems.php.

#2. Helper Functions

Helper không phải là hàm toàn cục thông thường. Chúng được tạo ra để “bọc” các service trong Container.

  • Bản chất: config() gọi app('config'), request() gọi app('request').
  • Lưu ý: Helper làm giảm khả năng test (vì khó mock hơn Facade/DI). Chỉ dùng cho các view hoặc code nghiệp vụ rất đơn giản.

#3. Câu hỏi nhanh

Q: Tại sao nói Filesystem của Laravel là “Adapter Pattern”? A: Vì nó cung cấp một interface chung duy nhất cho rất nhiều driver khác nhau (S3, Local, Rackspace), cho phép ứng dụng của bạn không phụ thuộc vào công nghệ lưu trữ cụ thể.

Q: Khi nào KHÔNG nên dùng helper? A: Trong các class Service/Action phức tạp. Nên dùng Dependency Injection để dễ dàng unit test hơn.

Bài viết liên quan