Download the PHP package mr4-lc/php-json-exporter without Composer
On this page you can find all versions of the php package mr4-lc/php-json-exporter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mr4-lc/php-json-exporter
More information about mr4-lc/php-json-exporter
Files in mr4-lc/php-json-exporter
Package php-json-exporter
Short Description Export large datasets to a JSON file without memory exhaustion
License MIT
Informations about the package php-json-exporter
JSON Exporter for PHP
Why this library was created:
At Hyvor Talk, we have customers who have millions of comments on their websites, who want to export their data regularly to backup and analyze. Our first exporter was written to get all records from the database and create a JSON file from it, which took all data into memory. It worked for small websites, but larger websites could not use this as the server crashed due to memory exhaustion.So, we created this library to export data into a JSON file in the disk without taking it into the memory.
Fork: Support PHP 7.4
What you can do
The primary purpose of this library is to export large arrays of small objects (for example, table rows) into a JSON file in the disk. You can create a JSON file with multiple collections and direct values.
Each object in a collection can be a representation of a row in a table of your database. The arrays are expected to be long (contains a lot of objects/rows).
Installation
Usage
In the above example, getUsers()
and getPosts()
are hypothetical functions that returns a limited number of records (100) as an array, and they support an offset parameter to skip already added records. Usually, you would call the addItems()
method inside a loop or callback (See Laravel example below). The JSON output of the above example will look like this:
Laravel Example for Collections
You can use Laravel Chunking to generate large collections.