'home', mas sim a variavel 'route' ser definida como '/' - o diretorio raiz onde teremos$router = array( 'routes' => array( 'home' => $home, 'minharota1' => $minharota1, 'minharota2' => $minharota2, ... ),);Agora, uma vez criadas as rotas e colocadas no config certo, voce pode digitar os enderecos definidos nas variaveis 'routes' para testar.O tipo de rota literal e a mais simples, e boa para sites simples. Para sites um nivel a mais de complexidade, os enderecos sao mais dinamicos e envolve variaveis. Para isso existe a rota do tipo 'Segment'. O tipo 'Segment' segue a seguinte estrutura$minharotasegment= array( 'type' => 'Zend\Mvc\Router\Http\Segment', 'options' => array( 'route' => '/algum/endereco[/:var]', 'constraints' => array( 'var' => '[a-zA-Z0-9_-]*', // Define o regexp de busca desejado ), 'defaults' => array( 'controller' => 'Meumodule\Controller\Meucontroller', 'action' => 'meuaction', 'var' => '123abc', ), ),);Aqui como podemos ver, temos uma mudanca na variavel 'route'. o termo '[:var]' define uma variavel a ser digitada na url e tratada pelo zend no action 'meuaction' do controller 'Meucontroller' definido na variavel 'defaults'. Ainda em 'defaults', definimos um valor padrao para 'var' caso esse nao tenha sido fornecido na url. Caso nao precise de um valor padrao, basta apagar do 'defaults'.Agora, para pegar o valor de 'var' da url, basta usar no controller definido no 'defaults' o helper $var = $this->params('var');Podemos definir varias variaveis no route'route' => '/algum/endereco[/:var1[/:var2[/:var3]]]',e basta declara-las em 'constraints' juntamente com o pattern desejado e no 'defaults' os valores padroes.Ainda podemos fazer um mix de rota com variaveis'route' => '/trecho1[/:var1[/trecho2[/:var2[/trecho3[/:var3]]]]]', e qualquer outra combinacao que lhe venha a cabeca.Para entender o essa route, so ver que tudo que estiver entre colchetes '[ ]' e considerado opcional, e tudo que vier depois do dois pontos ':' e o nome da variavel. Portanto, nao escreva nada atras do nome da variavel que nao seja o colchete de fechamento ']'.Tambem podemos ( e na maioria das vezes vamos ) usar variaveis pre-definidas no zend. Duas delas sao o ':controller' e o ':action'. Numa rota seriam usados assim:$minharotasegment=array( 'type' => 'Zend\Mvc\Router\Http\Segment', 'options' => array( 'route' => '/endereco/segment/[:controller[/:action]]', 'constraints' => array( 'controller' => '[a-zA-Z][a-zA-Z0-9_-]*', 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', ), 'defaults' => array( 'controller' => 'Meucontroller', 'action' => 'meuaction', ), ),);onde vemos que podemos definir variaveis que chamem por um controller ou por um action na rota definida. Na verdade e isso que e feito por padrao no SkelettonApplication do Zend, ele define a rota da raiz '/[:controller[/:action]]' onde a sequencia digitada e o controller e o action, como sempre foi no zend, apenas que agora as rotas dao liberdade para voce definir o caminho como voce precisar com mais poder. Nao que nao desse para fazer isso no ZF1, mas que enquanto no ZF1 isso era apenas uma regalia, agora no ZF2 e rotineiro.Entremos na ultima parte sobre rotas nesse tutorial, as subrrotas. As subrotas sao parecidas com as rotas segment, mas na verdade voce pode considera-las como um 'subconjunto' de uma rota pai que e segment ou literal. Uma subrota e definida assim:$minhasubrrota=array( 'type' => 'Zend\Mvc\Router\Http\Literal', 'options' => array( 'route' => '/endereco/da/subrrota', 'constraints' => array( 'controller' => 'Meumodulodasubrrota\Controller\Meucontrollerdasubrrota',