module_structure #16
@@ -0,0 +1,40 @@
|
|||||||
|
<?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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user