qu1styy / collect
Module for working with arrays
Requires
- php: ^7.4 | ^8.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-18 19:25:08 UTC
README
Qu1styy/collect — вспомогательный PHP-модуль для работы с массивами, который используется в основном проекте CampusDesk.
Этот пакет представляет собой лёгкую коллекцию данных для удобной работы с массивами без постоянного написания стандартных операций в контроллерах и сервисах основного приложения. Он предназначен для упрощения обработки наборов данных, особенно в API-логике CampusDesk.
Что это за модуль
Это не самостоятельное приложение, а маленькая библиотека для работы с коллекциями массива. Она позволяет:
- получать значения по ключу;
- получать первый элемент;
- считат�� количество элементов;
- преобразовывать коллекцию в обычный массив;
- применять callback-функции к каждому элементу;
- добавлять, удалять и вставлять элементы;
- удобно использовать в сценариях обработки данных из API.
Связь с CampusDesk
Этот репозиторий является отдельным модулем для основного проекта CampusDesk. Он помогает структурировать работу с массивами и коллекциями данных в рамках бизнес-логики сервиса, не дублируя базовые операции напрямую в проекте.
Установка
composer require qu1styy/collect
Требования:
- PHP
^7.4 | ^8.0
Автозагрузка
Пакет подключается через Composer и автозагружает классы из src/:
"autoload": { "psr-4": { "Collect\\": "src/" }, "files": [ "src/helpers.php" ] }
Использование
Создание коллекции
use function Collect\collection; $data = collection(['name' => 'Artem', 'age' => 25]);
Получение значения
$value = $data->get('name'); // Artem
Первый элемент
$first = $data->first();
Количество элементов
$count = $data->count();
Преобразование в массив
$array = $data->toArray();
Применение callback к каждому элементу
$results = collection([1, 2, 3]) ->map(function ($item) { return $item * 2; }) ->toArray(); // [2, 4, 6]
Итерация
collection([1, 2, 3])->each(function ($item, $key) { echo $key . ': ' . $item . PHP_EOL; });
Добавление элемента
collection([1, 2]) ->push(3) ->toArray(); // [1, 2, 3]
Добавление элемента по ключу
collection(['name' => 'Artem']) ->push('admin', 'role') ->toArray(); // ['name' => 'Artem', 'role' => 'admin']
Доступные методы
get($key = null)first()count(): inttoArray(): arraymap(callable $callback): Collecteach(callable $callback, ...$args): Collectpush($value, $key = null): Collectunshift($value): Collectshift(): Collectpop(): Collectsplice($idx, $length = 1): Collect
Архитектура
src/Collect.php— основной класс коллекции;src/helpers.php— helper-функцияcollection();composer.json— описание пакета и автозагрузка Composer.
Для чего этот модуль нужен в CampusDesk
В основном проекте такой модуль полезен для:
- удобной работы с наборами данных;
- упрощения обработчиков API;
- группировки и трансформации массивов без дублирования логики;
- более читаемого и компактного кода.
Лицензия
MIT