Download the PHP package datastructure/tree without Composer
On this page you can find all versions of the php package datastructure/tree. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download datastructure/tree
More information about datastructure/tree
Files in datastructure/tree
Download datastructure/tree
More information about datastructure/tree
Files in datastructure/tree
Vendor datastructure
Package tree
Short Description A clean and flexible PHP library for building and manipulating tree structures
License MIT
Package tree
Short Description A clean and flexible PHP library for building and manipulating tree structures
License MIT
Please rate this library. Is it a good library?
Informations about the package tree
PHP Tree Library
Чистая и гибкая PHP библиотека для построения и манипулирования древовидными структурами. Разработана с использованием принципов SOLID и чистого кода для PHP 8+.
Возможности
- 🌳 Универсальные N-арные деревья - создавайте деревья с любым количеством потомков
- 🔍 Мощная система поиска - находите узлы по различным критериям
- 🔄 Гибкие итераторы - обход в глубину (DFS) и в ширину (BFS)
- ⚡ Динамические атрибуты - добавляйте любые свойства к узлам на лету
- 🛡️ Типобезопасность - строгая типизация PHP 8
- ✅ Полностью протестировано - высокое покрытие тестами
- 📦 Standalone - работает независимо от фреймворков
Требования
- PHP >= 8.0
Установка
Быстрый старт
Основное использование
Работа с узлами
Создание узлов с динамическими атрибутами
Работа с иерархией
Работа с деревьями
Создание дерева
Обход дерева
Поиск узлов
Простой поиск
Расширенный поиск с критериями
Доступные методы SearchCriteria
Замена данных узла
Дополнительные методы дерева
Примеры использования
Пример 1: Каталог товаров
Пример 2: Организационная структура
Пример 3: Система меню
Тестирование
Архитектура
Библиотека следует принципам SOLID и чистого кода:
- Single Responsibility: Каждый класс имеет одну ответственность
- Open/Closed: Легко расширяется через интерфейсы
- Liskov Substitution: Все реализации соответствуют контрактам
- Interface Segregation: Интерфейсы разделены по функциональности
- Dependency Inversion: Зависимости от абстракций, а не от реализаций
Структура проекта
Производительность
- Эффективные алгоритмы обхода с использованием итераторов
- Ленивая инициализация поисковика
- Минимальное потребление памяти
- Защита от циклических ссылок
Лицензия
MIT License
Автор
Edige
Вклад
Приветствуются pull requests! Для больших изменений сначала откройте issue для обсуждения предлагаемых изменений.
Дополнительные ресурсы
All versions of tree with dependencies
PHP Build Version
Package Version
Requires
php Version
>=8.0
The package datastructure/tree contains the following files
Loading the files please wait ...