Download the PHP package alyakin/favorites without Composer
On this page you can find all versions of the php package alyakin/favorites. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download alyakin/favorites
More information about alyakin/favorites
Files in alyakin/favorites
Package favorites
Short Description Favorites system for Laravel with folder support and polymorphic relations
License MIT
Informations about the package favorites
Laravel Favorites
📦 Описание
Laravel Favorites — это универсальный модуль для создания полиморфных связей между владельцем и любыми избираемыми сущностями.
Позволяет одному владельцу (профилю, пользователю и т.п.) добавлять в избранное объекты разных моделей, таких как товары, статьи, профили, комментарии и др.
Пакет поддерживает:
- организацию избранного по папкам с уникальными названиями,
- работу с UUID и timestamps "из коробки",
- строгую привязку избранного к конкретному владельцу.
🎯 Подходит для
- 💼 Электронной коммерции — покупатель может сохранять избранные товары, бренды или подборки.
- 📚 Контент-платформ — читатель может добавлять в избранное статьи, авторов или хештеги.
- 📊 B2B/CRM систем — пользователь может группировать клиентов, документы или сделки в "избранное" для быстрого доступа.
🧭 Оглавление
- Системные требования
- Установка
- Как использовать
- ➕ Добавление в избранное
- ➖ Удаление из избранного
- 📂 Работа с папками
- 📄 Получение избранного
- Кастомизация
- 🔄 Пример: замена логики добавления
- 🤝 Сотрудничество
- 📄 Лицензия
🛠 Системные требования
- PHP 8.1 или выше
- Laravel 10.x или выше
- Composer для управления зависимостями
📥 Установка
Установите пакет через Composer:
Файл конфигурации отсутствует — модуль готов к использованию сразу после установки и регистрации провайдера.
⚙️ Как использовать
Сервисы можно получить через сервис-контейнер Laravel:
Ниже представлены базовые сценарии использования.
➕ Добавление в избранное
➖ Удаление из избранного
📂 Работа с папками
📄 Получение избранного
🎛 Кастомизация
Пакет спроектирован с учетом расширяемости и адаптации под проект.
- Вы можете заменить модель владельца, передавая любой UUID-совместимый
ownerId. - Папки не являются обязательными — можно использовать избранное и без них.
- Вся бизнес-логика изолирована в сервисах (
FavoriteService,FavoriteFolderService) и может быть легко расширена или переопределена через DI-контейнер. - Названия таблиц, столбцов и ключей соответствуют общим стандартам Laravel и могут быть переопределены при необходимости.
🔄 Пример: замена логики добавления
Создайте свой кастомный сервис:
Переопределите нужный метод:
Зарегистрируйте в AppServiceProvider:
Теперь Laravel будет использовать вашу реализацию вместо базовой.
🤝 Сотрудничество
Мы открыты к предложениям и улучшениям!
- Сообщайте об ошибках через Issues
- Присылайте Pull Requests с улучшениями
- Предлагайте идеи по расширению функциональности
📄 Лицензия
This package is open-source and available under the MIT License.