Search by

qu1styy / collect

Qu1styy

Module for working with arrays

Package info

github.com/Qu1styy/collect

pkg:composer/qu1styy/collect

Statistics

Installs: 2

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-09-18 19:25 UTC

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(): int
  • toArray(): array
  • map(callable $callback): Collect
  • each(callable $callback, ...$args): Collect
  • push($value, $key = null): Collect
  • unshift($value): Collect
  • shift(): Collect
  • pop(): Collect
  • splice($idx, $length = 1): Collect

Архитектура

  • src/Collect.php — основной класс коллекции;
  • src/helpers.php — helper-функция collection();
  • composer.json — описание пакета и автозагрузка Composer.

Для чего этот модуль нужен в CampusDesk

В основном проекте такой модуль полезен для:

  • удобной работы с наборами данных;
  • упрощения обработчиков API;
  • группировки и трансформации массивов без дублирования логики;
  • более читаемого и компактного кода.

Лицензия

MIT