Refactor helper drift in lib: centralize theme/translation and remove app() hotspots

This commit is contained in:
2026-03-19 08:23:14 +01:00
parent 5da506a20f
commit 5739cc1200
24 changed files with 197 additions and 88 deletions

View File

@@ -18,6 +18,15 @@ class SearchConfig
/** @var array<string, SearchResourceProvider> key→provider lookup */
private static array $moduleProviderByKey = [];
/** @var (callable(): ModuleRegistry)|null */
private static $moduleRegistryResolver = null;
public static function configure(callable $moduleRegistryResolver): void
{
self::$moduleRegistryResolver = $moduleRegistryResolver;
self::resetModuleProviders();
}
public static function tenantScopeFilters(): array
{
$filters = SearchSqlResourceProvider::tenantScopeFilters();
@@ -136,9 +145,15 @@ class SearchConfig
self::$moduleProviders = [];
self::$moduleProviderByKey = [];
if (!is_callable(self::$moduleRegistryResolver)) {
return self::$moduleProviders;
}
try {
/** @var ModuleRegistry $registry */
$registry = app(ModuleRegistry::class);
$registry = (self::$moduleRegistryResolver)();
if (!$registry instanceof ModuleRegistry) {
return self::$moduleProviders;
}
foreach ($registry->getSearchResources() as $providerClass) {
if (!class_exists($providerClass)) {
continue;