'application/Espo/Resources/', 'modulePath' => 'application/Espo/Modules/{*}/Resources/', 'customPath' => 'custom/Espo/Custom/Resources/', ]; private $unifier; private $unifierObj; public function __construct(Unifier $unifier, UnifierObj $unifierObj) { $this->unifier = $unifier; $this->unifierObj = $unifierObj; } /** * Read resource data. * * @return stdClass|array */ public function read(string $path, ReaderParams $params) { $paths = $this->buildPaths($path, $params); if ($params->asArray()) { return $this->unifier->unify($paths); } return $this->unifierObj->unify($paths); } private function buildPaths(string $path, ReaderParams $params): array { $paths = []; foreach ($this->paths as $key => $dir) { $paths[$key] = $dir . $path; } if ($params->noCustom()) { unset($paths['customPath']); } return $paths; } }