定制 vyatka-it/grievous 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

vyatka-it/grievous

Composer 安装命令:

composer require vyatka-it/grievous

包简介

Module manager

README 文档

README

  *  .       *    .        *     .    *   .      *    .       *
     .   ██████╗ ██████╗ ██╗███████╗██╗   ██╗ ██████╗ ██╗   ██╗███████╗   .
  *     ██╔════╝ ██╔══██╗██║██╔════╝██║   ██║██╔═══██╗██║   ██║██╔════╝      *
    .   ██║  ███╗██████╔╝██║█████╗  ██║   ██║██║   ██║██║   ██║███████╗   .
  *     ██║   ██║██╔══██╗██║██╔══╝  ╚██╗ ██╔╝██║   ██║██║   ██║╚════██║     *
     .  ╚██████╔╝██║  ██║██║███████╗ ╚████╔╝ ╚██████╔╝╚██████╔╝███████║  .
  *      ╚═════╝ ╚═╝  ╚═╝╚═╝╚══════╝  ╚═══╝   ╚═════╝  ╚═════╝ ╚══════╝    *
     .        *    .      *     .   *    .        *    .      *    .

Менеджер модулей

Требования окружения

  • Composer
  • Laravel-компоненты ^13.0 (illuminate/support, illuminate/console)
  • PHP-расширение ext-fileinfo

Установка

composer require vyatka-it/grievous:@dev

Быстрый старт

php artisan griv:init

Команда публикует:

  • config/grievous.php
  • app/Providers/ModuleServiceProvider.php

Добавьте в app\Providers\AppServiceProvider в метод register:

    public function register(): void
    {
        //...
    
        $this->app->register(ModuleServiceProvider::class);
    }

Команды

Установить модуль

php artisan griv:install <module>

Примеры:

php artisan griv:install client
php artisan griv:install flash-call

Активировать модуль

php artisan griv:activate <module>

Пример:

php artisan griv:activate client

Деактивировать модуль

php artisan griv:deactivate <module>

Пример:

php artisan griv:deactivate client

Показать список модулей

Все опубликованные модули:

php artisan griv:list

Только активные модули:

php artisan griv:list active

Доступные модули

Сейчас в стандартном списке доступны:

  • client
  • flash-call

Гибкая конфигурация

После php artisan griv:init публикуется файл config/grievous.php. В нём можно менять:

  • modulesStruct (корневую директорию модулей, namespace, имя файла настроек, игнорируемые файлы/папки)
  • targetDir (куда публикуются модули)
  • vendorDir (где искать пакеты, если используется composer-транспорт)
  • moduleList (класс enum со списком модулей)
  • transport (Transport::GIT или Transport::COMPOSER)

Список модулей можно полностью подменить: укажите свой enum, реализующий контракт VyatkaIt\Grievous\Contracts\Enums\ModuleList.

<?php

use VyatkaIt\Grievous\Contracts\Enums\ModuleList;
use VyatkaIt\Grievous\DTOs\ModuleMeta;

enum CustomModule: string implements ModuleList
{
    case BILLING = 'billing';

    public function meta(): ModuleMeta
    {
        return new ModuleMeta(
            package: 'acme/billing-module',
            packageName: 'billing-module',
            repoLink: 'https://git.example.com/acme/billing-module.git',
            publishModuleName: 'Billing',
            namespace: 'Acme\\Module\\Billing\\',
        );
    }
}

И затем подставьте его в config/grievous.php:

moduleList: CustomModule::class,

Типовой сценарий

php artisan griv:init
php artisan griv:install client
php artisan griv:activate client
php artisan griv:list active

Планы на будущее

  • Одна команда для установки всего необходимого - приоритет
  • UI-админка модулей
  • Связки (готовые наборы для типовых проектов)
  • Типизация модулей под разные задачи

统计信息

  • 总下载量: 73
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2026-05-25

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固