asmi / laravel-faq
Laravel package with FAQ model, migration, seeder and Blade component
Requires
- php: ^8.1
- illuminate/database: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
- illuminate/view: ^10.0|^11.0|^12.0
README
Пакет добавляет готовый FAQ-компонент для Laravel и команды для публикации файлов в проект:
- модель
Faq - сидер
FaqSeeder - миграция таблицы
faqs
Пакет ориентирован на быстрый старт: вы устанавливаете пакет, публикуете нужные файлы командами и сразу используете компонент на странице.
Компонент работает без публикации модели и сидера.
Возможности
- Eloquent-модель FAQ (
Asmi\\LaravelFaq\\Models\\Faq) внутри пакета. - Blade-компонент
<x-faq-package-faq section="..." />. - Генерация JSON-LD (
FAQPage) для SEO. - Artisan-команды для публикации миграции, модели и сидера в приложение.
Требования
- PHP 8.1+
- Laravel 10/11/12
Установка
composer require asmi/laravel-faq
Сервис-провайдер подключается автоматически через package discovery.
Нужно ли публиковать файлы
Коротко: нет, не обязательно.
- Провайдер подключается автоматически.
- Blade-компонент доступен сразу после установки.
- Миграция таблицы
faqsзагружается прямо из пакета, поэтому достаточно выполнитьphp artisan migrate.
Публикация нужна только если вы хотите получить копии файлов в своем приложении и редактировать их локально.
Публикация файлов в приложение
1) Миграция
php artisan faq:publish-migration
Команда создаст файл в database/migrations с текущим timestamp.
2) Модель
php artisan faq:publish-model
Команда создаст app/Models/Faq.php.
3) Сидер
php artisan faq:publish-seeder
Команда создаст database/seeders/FaqSeeder.php.
Принудительная перезапись
Для всех команд доступна опция:
--force
Пример:
php artisan faq:publish-model --force
Использование
- Выполните миграции:
php artisan migrate
-
При необходимости опубликуйте сидер и отредактируйте данные.
-
Запустите сидер:
php artisan db:seed --class=FaqSeeder
- Вставьте компонент в Blade-шаблон:
<x-faq-package-faq section="Купить проезд на море" />
Что рендерит компонент
- Список вопросов/ответов по секции (
section) из таблицыfaqs. - Скрипт JSON-LD (
application/ld+json) для поисковых систем.
Лицензия
MIT