public function router($option, $client = null, $version = null)
	{
		$option = $this->canonical($option);
		$client = ($client ? $client : $this->app['client']->alias);
		$key    = $option . $client;

		if (!isset(self::$routers[$key]))
		{
			$compname = ucfirst(substr($option, 4));

			$client = ucfirst($client);

			$legacy = $compname . 'Router';
			$name   = '\\Components\\' . $compname . '\\' . $client . '\\Router';

			if (!class_exists($name) && !class_exists($legacy))
			{
				// Use the component routing handler if it exists
				$paths = array();
				if (!is_null($version))
				{
					$paths[] = $this->path($option) . DIRECTORY_SEPARATOR . strtolower($client) . DIRECTORY_SEPARATOR . 'routerv' . $version . '.php';
				}
				$paths[] = $this->path($option) . DIRECTORY_SEPARATOR . strtolower($client) . DIRECTORY_SEPARATOR . 'router.php';
				$paths[] = $this->path($option) . DIRECTORY_SEPARATOR . 'router.php';

				// Use the custom routing handler if it exists
				foreach ($paths as $path)
				{
					if (file_exists($path))
					{
						require_once $path;
						break;
					}
				}
			}

			if (class_exists($name))
			{
				$reflection = new ReflectionClass($name);

				if (in_array('Hubzero\\Component\\Router\\RouterInterface', $reflection->getInterfaceNames()))
				{
					self::$routers[$key] = new $name;
				}
			}
			else if (class_exists($legacy))
			{
				$reflection = new ReflectionClass($legacy);

				if (in_array('Hubzero\\Component\\Router\\RouterInterface', $reflection->getInterfaceNames()))
				{
					self::$routers[$key] = new $legacy;
				}
			}

			if (!isset(self::$routers[$key]))
			{
				self::$routers[$key] = new Legacy($compname);
			}
		}

		return self::$routers[$key];
	}
public function router($option, $client = null, $version = null)
	{
		$option = $this->canonical($option);
		$client = ($client ? $client : $this->app['client']->alias);
		$key    = $option . $client;

		if (!isset(self::$routers[$key]))
		{
			$compname = ucfirst(substr($option, 4));

			$client = ucfirst($client);

			$legacy = $compname . 'Router';
			$name   = '\\Components\\' . $compname . '\\' . $client . '\\Router';

			if (!class_exists($name) && !class_exists($legacy))
			{
				// Use the component routing handler if it exists
				$paths = array();
				if (!is_null($version))
				{
					$paths[] = $this->path($option) . DIRECTORY_SEPARATOR . strtolower($client) . DIRECTORY_SEPARATOR . 'routerv' . $version . '.php';
				}
				$paths[] = $this->path($option) . DIRECTORY_SEPARATOR . strtolower($client) . DIRECTORY_SEPARATOR . 'router.php';
				$paths[] = $this->path($option) . DIRECTORY_SEPARATOR . 'router.php';

				// Use the custom routing handler if it exists
				foreach ($paths as $path)
				{
					if (file_exists($path))
					{
						require_once $path;
						break;
					}
				}
			}

			if (class_exists($name))
			{
				$reflection = new ReflectionClass($name);

				if (in_array('Hubzero\\Component\\Router\\RouterInterface', $reflection->getInterfaceNames()))
				{
					self::$routers[$key] = new $name;
				}
			}
			else if (class_exists($legacy))
			{
				$reflection = new ReflectionClass($legacy);

				if (in_array('Hubzero\\Component\\Router\\RouterInterface', $reflection->getInterfaceNames()))
				{
					self::$routers[$key] = new $legacy;
				}
			}

			if (!isset(self::$routers[$key]))
			{
				self::$routers[$key] = new Legacy($compname);
			}
		}

		return self::$routers[$key];
	}
public function router ( $ option , $ client = null , $ version = null ) { $ option = $ this -> canonical ( $ option ) ; $ client = ( $ client ? $ client : $ this -> app [ 'client' ] -> alias ) ; $ key = $ option . $ client ; if ( ! isset ( self :: $ routers [ $ key ] ) ) { $ compname = ucfirst ( substr ( $ option , 4 ) ) ; $ client = ucfirst ( $ client ) ; $ legacy = $ compname . 'Router' ; $ name = '\\Components\\' . $ compname . '\\' . $ client . '\\Router' ; if ( ! class_exists ( $ name ) && ! class_exists ( $ legacy ) ) { // Use the component routing handler if it exists $ paths = array ( ) ; if ( ! is_null ( $ version ) ) { $ paths [ ] = $ this -> path ( $ option ) . DIRECTORY_SEPARATOR . strtolower ( $ client ) . DIRECTORY_SEPARATOR . 'routerv' . $ version . '.php' ; } $ paths [ ] = $ this -> path ( $ option ) . DIRECTORY_SEPARATOR . strtolower ( $ client ) . DIRECTORY_SEPARATOR . 'router.php' ; $ paths [ ] = $ this -> path ( $ option ) . DIRECTORY_SEPARATOR . 'router.php' ; // Use the custom routing handler if it exists foreach ( $ paths as $ path ) { if ( file_exists ( $ path ) ) { require_once $ path ; break ; } } } if ( class_exists ( $ name ) ) { $ reflection = new ReflectionClass ( $ name ) ; if ( in_array ( 'Hubzero\\Component\\Router\\RouterInterface' , $ reflection -> getInterfaceNames ( ) ) ) { self :: $ routers [ $ key ] = new $ name ; } } else if ( class_exists ( $ legacy ) ) { $ reflection = new ReflectionClass ( $ legacy ) ; if ( in_array ( 'Hubzero\\Component\\Router\\RouterInterface' , $ reflection -> getInterfaceNames ( ) ) ) { self :: $ routers [ $ key ] = new $ legacy ; } } if ( ! isset ( self :: $ routers [ $ key ] ) ) { self :: $ routers [ $ key ] = new Legacy ( $ compname ) ; } } return self :: $ routers [ $ key ] ; }
Get component router

@param   string  $option  Name of the component
@param   string  $client  Client to load the router for
@return  object  Component router
Get component router