kodicms/module-loader
Composer 安装命令:
composer require kodicms/module-loader
包简介
README 文档
README
Пакет помогает организовать модульную структуру для фреймворка Laravel.
https://packagist.org/packages/kodicms/module-loader
Установка
Для установки пакета вы можете выполнить консольную комманду
composer require "kodicms/module-loader:3.*"
Или добавить пакет в composer.json
{
"require": {
...
"kodicms/module-loader": "3.*"
...
}
}
Добавить в загрузку сервис провайдер
'providers' => [ ... KodiCMS\ModulesLoader\Providers\ModuleServiceProvider::class, ... ],
В composer.json добавить пространство имен
{
"autoload": {
...
"psr-4": {
...
"Modules\\" : "modules/"
},
...
},
}
Конфиг файл app.php
По умолчанию модули системы хранятся в папке modules, если вам необходимо загрузить модуль из другой директории,
то вы должны указать через конфиг файл путь до модуля и его пространство имен:
return [
...
'modules' => [
'modulename', // Namespace: Modules\modulename, Path baseDir/modules/modulename
'ModuleName2' => [
'path' => {relative path to module},
'namespace' => '\\CustomNamespace\\ModuleName2\\'
]
]
...
];
По умолчанию загрузчик при подключении модуля использует KodiCMS\ModulesLoader\ModuleContainer, вы можете
переопределить файл контейнера создав его по пути app\DefaultModuleContainer.php или если вы захотите
изменить поведение конкретного модуля, то необходимо создать файл ModuleContainer.php в корне директории модуля
и наследовать его от KodiCMS\ModulesLoader\ModuleContainer.
Структура модуля
Assets- ассеты, которые будут скопированы вpublic/cms/modules/{module}config- конфиги модуля. Если в модулях есть конфиг файлы с одинаковым названием, то их содержимое мерджитсяConsoleCommands- расположение файлов консольных компанды
databasemigrations- файлы миграции, будут запущены по командеmodules:migrateseedsDatabaseSeeder.php- если существует, то будет запущен по командеmodules:seed
HttpControllers- контроллеры модуляroutes.php- роуты текущего модуля, оборачиваются в неймспейсModules\{module}
ProvidersModuleServiceProvider.php- Сервис провайдер модуля, если файл существует, будет запущен в момент инициализации приложения
resourceslang- Файлы переводов для модуля, доступны по ключу названия модуля приведенного в нижний регистрtrans('{module}::file.key')views- Шаблоны модуля, доступны по ключу названия модуля приведенного в нижний регистрview('{module}::template')
ModuleContainer.php- Если данный файл существует, то он будет подключен как системный файл модуля, в котором указаны относительыне пути и действия в момент инициализации. Необходимо наследовать отKodiCMS\ModulesLoader\ModuleContainer
Консольные команды
php artisan modules:list- просмотр списка подключенных модулейphp artisan modules:migrate- выполнение миграций из модулей (Доступны параметры аналогичные для стандартной командыmigrate)php artisan modules:seed- сидирование данных из модулейphp artisan modules:assets:publish- публикация assets файлов из папки Assets вpublic/modules/{module}
kodicms/module-loader 适用场景与选型建议
kodicms/module-loader 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 15.17k 次下载、GitHub Stars 达 15, 最近一次更新时间为 2015 年 05 月 31 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 kodicms/module-loader 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 kodicms/module-loader 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 15.17k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 16
- 点击次数: 15
- 依赖项目数: 12
- 推荐数: 0
其他信息
- 授权协议: GNU
- 更新时间: 2015-05-31