/** * Setup the Component Paths * @param \Jazz\Application\ISettings $settings * @param \Jazz\Loader\IEngine $engine * @param string $name */ public function setupComponent(\Jazz\Application\ISettings $settings, \Jazz\Loader\IEngine $engine, $name) { $engine->setIsClass(true); $engine->setReturnClassName(true); $prepend = $this->getNamespace() . $settings->getSeparator(); $path = $this->formatComponentPath($settings, $name); if (file_exists($path)) { $ns = $this->formatComponentNamespace($settings, $name); $engine->appendPath(new \Jazz\Loader\Path($path, $ns, null, null, 'php', $settings->getSeparator())); } $path = $this->formatLibraryPath($settings); if (file_exists($path)) { $ns = $this->formatLibraryNamespace($settings); $engine->appendPath(new \Jazz\Loader\Path($path, $ns, null, null, 'php', $settings->getSeparator())); } $path = dirname(dirname(dirname(dirname(__FILE__)))); $ns = '\\Jazz\\'; $engine->appendPath(new \Jazz\Loader\Path($path, $ns, $prepend, null, 'php', $settings->getSeparator())); }
/** * Formats the Component Namespace * @param \Jazz\Application\ISettings $settings * @param string $component * @return string */ protected function formatComponentNamespace(\Jazz\Application\ISettings $settings, $component) { return $settings->getNamespaceComponent() . $settings->formatComponentName($component) . $settings->getSeparator() . $this->getNamespace() . $settings->getSeparator(); }