diff --git a/src/IdeHelperServiceProvider.php b/src/IdeHelperServiceProvider.php index 64544a1..074fd60 100644 --- a/src/IdeHelperServiceProvider.php +++ b/src/IdeHelperServiceProvider.php @@ -65,5 +65,37 @@ class IdeHelperServiceProvider extends ServiceProvider { return array('command.ide-helper.generate', 'command.ide-helper.models'); } + + /** + * Register the package's component namespaces. + * + * @param string $package + * @param string $namespace + * @param string $path + * @return void + */ + public function package($package, $namespace = null, $path = null) + { + + // Is it possible to register the config? + if (method_exists($this->app['config'], 'package')) { + $this->app['config']->package($package, $path.'/config', $namespace); + } else { + // Load the config for now.. + $config = $this->app['files']->getRequire($path .'/config/config.php'); + foreach($config as $key => $value){ + $this->app['config']->set($namespace.'::'.$key, $value); + } + } + + // Register view files + $appView = $this->app['path']."/views/packages/{$package}"; + if ($this->app['files']->isDirectory($appView)) + { + $this->app['view']->addNamespace($namespace, $appView); + } + + $this->app['view']->addNamespace($namespace, $path.'/views'); + } }