refactor(componentrenderer): update locateView using a lookupModules property in config

This commit is contained in:
Yassine Doghri 2021-09-02 10:01:20 +00:00
commit 58c8839902
3 changed files with 39 additions and 6 deletions

View file

@ -137,12 +137,13 @@ class ComponentRenderer
private function locateView(string $name): string
{
// TODO: Is there a better way to locate components local to current module?
$modulesToDiscover = [APPPATH];
foreach (config('Autoload')->psr4 as $namespace => $path) {
if (str_starts_with($this->currentView, $namespace)) {
array_unshift($modulesToDiscover, $path);
}
}
$modulesToDiscover = [];
$lookupModules = $this->config->lookupModules;
$modulesToDiscover = array_filter($lookupModules, function ($namespace): bool {
return str_starts_with($this->currentView, $namespace);
}, ARRAY_FILTER_USE_KEY);
$modulesToDiscover = array_values($modulesToDiscover);
$modulesToDiscover[] = $this->config->defaultLookupPath;
$namePath = str_replace('.', '/', $name);