Download the PHP package nghia-kun/laravel-file-export without Composer
On this page you can find all versions of the php package nghia-kun/laravel-file-export. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download nghia-kun/laravel-file-export
More information about nghia-kun/laravel-file-export
Files in nghia-kun/laravel-file-export
Package laravel-file-export
Short Description Reusable TSV/ZIP export service and folder compression service for Laravel projects
License MIT
Homepage https://github.com/bhnghia1012/file-export
Informations about the package laravel-file-export
nghia-kun/laravel-file-export
Export dữ liệu Eloquent/Query Builder ra file TSV hoặc file ZIP (gồm nhiều file TSV theo batch), dùng chung cho nhiều project Laravel.
Cài đặt
Sử dụng
1. Tạo class export bằng command
Mặc định sinh file tại app/Exports/UserExport.php, hoặc dùng subpath: php artisan make:export Reports/UserExport → app/Exports/Reports/UserExport.php.
Muốn tùy chỉnh stub, publish ra rồi sửa:
(sẽ tạo stubs/export.stub trong project, command sẽ tự ưu tiên dùng file này nếu tồn tại)
Hoặc tự tạo class export thủ công, extends BaseExport:
BaseExport đã implement sẵn toàn bộ interface (FromQuery, WithHeadings, WithMapping, WithChunkReading, PrimaryKey, WithReadingStrategy, WithCountTotal, WithCustomCsvSettings), nên ExportService luôn gọi thẳng các method (chunkSize(), primaryKey(), readingStrategy(), shouldCountTotal(), getCsvSettings()) mà không cần kiểm tra class_implements/in_array.
query(),headings(),map(): bắt buộc mỗi class export tự viết.chunkSize(),primaryKey(),readingStrategy(),shouldCountTotal(),getCsvSettings(): có default đọc từconfig/export.php(config này đọc từ ENV, xem mục 4) — chỉ cần override lại trong class export khi muốn giá trị khác riêng cho export đó.
2. Gọi ExportService
3. Dùng riêng ZipService để nén 1 thư mục
4. Cấu hình mặc định (config/export.php)
Publish file config ra project để chỉnh:
Set biến tương ứng trong .env của từng project để đổi mặc định (vd EXPORT_CHUNK_SIZE=5000), không có thì dùng giá trị cố định ở trên. Từng class export vẫn override riêng được bằng cách viết đè method tương ứng trong BaseExport (chunkSize(), primaryKey(), readingStrategy(), shouldCountTotal(), getCsvSettings()).
All versions of laravel-file-export with dependencies
illuminate/support Version ^9.0|^10.0|^11.0|^12.0|^13.0
illuminate/database Version ^9.0|^10.0|^11.0|^12.0|^13.0
ext-zip Version *