Skip to content

Butochnikov/module-loader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel module loader

Пакет помогает организовать модульную структуру для фреймворка Laravel

Установка

composer require 'kodicms/module-loader:5.1.*@dev'

###Добавить в загрузку сервис провайдеры:

/*
 * KodiCMS Service Providers...
 */
KodiCMS\ModulesLoader\Providers\ModuleServiceProvider::class,
KodiCMS\ModulesLoader\Providers\RouteServiceProvider::class,
KodiCMS\ModulesLoader\Providers\AppServiceProvider::class,
KodiCMS\ModulesLoader\Providers\ConfigServiceProvider::class,

Добавить фасад в алиасы

'ModulesLoader'     => KodiCMS\ModulesLoader\ModulesLoaderFacade::class,
'ModulesFileSystem' => KodiCMS\ModulesLoader\ModulesFileSystemFacade::class,

В composer.json добавить пространство имен

"autoload": {
	...
	"psr-4": {
		...
		"Modules\\"    : "modules/"
	},
	...
},

Конфиг файл app.php

По умолчанию модули системы хранятся в папке modules, если вам необходимо загрузить модуль из другой директории, то вы должны указать через конфиг файл путь до модуля и его пространство имен:

return [
	...
    'modules' => [
    	'modulename', // Namespace: KodiCMS\modulename, Path baseDir/modules/modulename
    	'ModuleName2' => [
    		'path' => {relative path to module},
    		'namespace' => '\\CustomNamespace\\ModuleName2\\'
    	]
    ]
    ...
];

По умолчанию загрузчик при подключении модуля использует KodiCMS\ModulesLoader\ModuleContainer, вы можете переопределить файл контейнера создав его по пути app\ModuleContainer.php или если вы захотите изменить поведение конкретного модуля, то необходимо создать файл ModuleContainer.php в корне директории модуля и наследовать его от KodiCMS\ModulesLoader\ModuleContainer

Структура модуля

https://github.com/KodiCMS/kodicms-laravel/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D0%B8


Для просмотра списка подключенных модулей в системе используйте консольную команду: odulesL php artisan modules:list

About

Laravel module loader

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%