log = $log; $this->metadata = $metadata; } public function getLoaderClassName(string $name) : ?string { try { $className = $this->metadata->get(['app', 'containerServices', $name, 'loaderClassName']); if (!$className) { // deprecated $className = $this->metadata->get(['app', 'loaders', ucfirst($name)]); } } catch (\Exception $e) {} if ($className && class_exists($className)) { return $className; } $className = 'Espo\Custom\Core\Loaders\\' . ucfirst($name); if (!class_exists($className)) { $className = 'Espo\Core\Loaders\\' . ucfirst($name); } if (class_exists($className)) { return $className; } return null; } public function getServiceClassName(string $name) : ?string { $className = $this->metadata->get(['app', 'containerServices', $name, 'className']) ?? $this->metadata->get(['app', 'serviceContainer', 'classNames', $name]) ?? // deprecated null; return $className; } public function getServiceDependencyList(string $name) : ?array { return $this->metadata->get(['app', 'containerServices', $name, 'dependencyList']) ?? null; } public function isSettable(string $name) : bool { return $this->metadata->get(['app', 'containerServices', $name, 'settable']) ?? false; } }