Пакет 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
Модельний контекстний протокол (MCP) відкриває нові горизонти в інтеграції AI-додатків з PHP. Дізнайтеся, як легко створити сервер, що відповідає MCP, та які можливості відкриваються для вашого проєкту
Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю
Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!