Пакет Data Block для PHP дозволяє запитувати, фільтрувати та змінювати вкладені структури даних. Він спрощує роботу зі складними JSON-структурами. Об’єкт Block можна створити кількома способами — наприклад із JSON-файлу, масиву або URL:
use HiFolks\DataType\Block;
use HiFolks\DataType\Enums\Operator;
Block::fromJsonUrl('https://api.github.com/orgs/hi-folks/repos')
->select('full_name', 'stargazers_count')
->where('stargazers_count', Operator::GREATER_THAN, 0)
->orderBy('stargazers_count', 'desc')
->forEach(
function ($item) {
echo $item->get('full_name').' : ';
echo $item->get('stargazers_count').PHP_EOL;
}
);
Окрім численних методів для умовного отримання, фільтрації та сортування даних, пакет дозволяє читати й записувати вкладені значення, витягувати ключі та виконувати інші операції, потрібні при роботі зі складними структурами:
use HiFolks\DataType\Block;
$fruits = [
"avocado" =>
[
'name' => 'Avocado',
'fruit' => '🥑',
'wikipedia' => 'https://en.wikipedia.org/wiki/Avocado',
'color'=>'green',
'rating' => 8
],
// ...
];
$data = Block::make($fruitsArray);
$data->get('avocado'); // returns an array
$data->get('avocado.color'); // returns the string "green"
$data->set('cherry', [
'name' => 'Cherry',
'fruit' => '🍒',
'wikipedia' => 'https://en.wikipedia.org/wiki/Cherry',
'color' => 'red',
'rating' => 9,
]);
$data->set('cherry.rating', 5);
Крім маніпуляцій через об’єкт Block, дані можна експортувати в різні формати — JSON-рядок, JSON-файл або YAML. Пакет добре задокументований у README на GitHub.
🧑💻 Почати роботу з пакетом можна на GitHub: Hi-Folks/data-block