41 lines
1.0 KiB
PHP
41 lines
1.0 KiB
PHP
<?php
|
|
|
|
/**Сервис для определения модуля
|
|
@author dgavrilov
|
|
*/
|
|
|
|
namespace App\Services;
|
|
|
|
class ModuleService{
|
|
/**
|
|
* Получаем имя модуля из роута (так как в нем обязательно указывается префикс)
|
|
*
|
|
* @return string | null
|
|
*/
|
|
public function getModuleName(): string | null
|
|
{
|
|
$route = request()->route();
|
|
$routePrefix = null;
|
|
if ($route && $route->getPrefix()) {
|
|
$routePrefix = explode('/', $route->getPrefix())[1];
|
|
}
|
|
|
|
return $routePrefix;
|
|
}
|
|
|
|
|
|
/**
|
|
* Основываясь на имени модуля из роута получаем имя роута на русском (свойство name_ru), которое обязательное прописывается в конфиге модуля
|
|
*
|
|
* @return string | null
|
|
*/
|
|
public function getRuModuleName(): string | null
|
|
{
|
|
if ($module = $this->getModuleName()) {
|
|
return config("$module.name_ru", null);
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
}
|