/**
  * Method to get AssetManager.
  *
  * @param  string  $option  The option name to get AssetManager.
  *
  * @return  AssetManager  The AssetManager object.
  */
 public static function getAsset($option = 'windwalker')
 {
     if (!empty(static::$assets[$option])) {
         return static::$assets[$option];
     }
     return static::$assets[$option] = AssetManager::getInstance($option);
 }
 /**
  * Registers the service provider with a DI container.
  *
  * @param   Container $container The DI container.
  *
  * @return  Container  Returns itself to support chaining.
  */
 public function register(Container $container)
 {
     $name = $this->name;
     // Component
     $container->alias('component', ucfirst($name) . 'Component')->share(ucfirst($name) . 'Component', $this->component);
     // ControllerResolver
     $resolverClass = '\\Windwalker\\Controller\\Resolver\\ControllerResolver';
     $container->alias('controller.resolver', $resolverClass)->share($resolverClass, function ($container) use($resolverClass) {
         return new $resolverClass($container->get('app'), $container);
     });
     // Asset Helper
     $container->share('helper.asset', function ($container) use($name) {
         $asset = AssetManager::getInstance('com_' . strtolower($name));
         $asset->setContainer($container);
         return $asset;
     });
 }
 /**
  * Registers the service provider with a DI container.
  *
  * @param   Container $container The DI container.
  *
  * @return  Container  Returns itself to support chaining.
  */
 public function register(Container $container)
 {
     // Global Config
     $container->share('joomla.config', array('JFactory', 'getConfig'));
     // Windwalker Config
     $container->share('windwalker.config', array($this, 'loadConfig'));
     // Database
     $this->share($container, 'db', 'JDatabaseDriver', array('JFactory', 'getDbo'));
     // Session
     // Global Config
     $container->share('session', function () {
         return \JFactory::getSession();
     });
     // Language
     $this->share($container, 'language', 'JLanguage', array('JFactory', 'getLanguage'));
     // Dispatcher
     $this->share($container, 'event.dispatcher', 'JEventDispatcher', array('JEventDispatcher', 'getInstance'));
     // Mailer
     $this->share($container, 'mailer', 'JMail', array('JFactory', 'getMailer'));
     // Date
     $this->set($container, 'date', 'JDate', function () {
         return DateHelper::getDate();
     });
     // Global
     $container->set('SplPriorityQueue', function () {
         return new \SplPriorityQueue();
     });
     // Asset
     $container->share('helper.asset', function () {
         return \Windwalker\Asset\AssetManager::getInstance();
     });
     // Relation
     $container->share('relation.container', function () {
         return new RelationContainer();
     });
     // Detect deferent environment
     if ($this->isConsole) {
         $container->registerServiceProvider(new CliProvider());
     } else {
         $container->registerServiceProvider(new WebProvider());
     }
 }
Esempio n. 4
0
 /**
  * getAsset
  *
  * @param string $name
  *
  * @return  AssetManager
  */
 public static function getAsset($name = 'windwalker')
 {
     return AssetManager::getInstance($name);
 }