⊗ppMVUFmRP 8 of 35 menu

Parâmetros em rotas no MVC em PHP

Na lição anterior, nossas rotas tinham endereços fixos. Na verdade, o mecanismo de roteamento é mais complexo - é possível fazer com que parte do URI da página caia em parâmetros nomeados, disponíveis posteriormente no controlador.

Suponha, por exemplo, que nossos endereços fiquem assim: /test/param1/param2/, onde param1 e param2 são strings arbitrárias. Ao mesmo tempo, queremos que endereços desse tipo sejam tratados por uma ação do controlador. Para isso, devemos inventar um nome para o parâmetro e colocar dois pontos antes dele, assim:

<?php use \Core\Route; return [ new Route('/test/:var1/:var2/', 'page', 'act'), ]; ?>

No nosso caso, resultará que todas as requisições do tipo /test/parametro1/parametro2/ irão para a ação act. Ao mesmo tempo, o primeiro parâmetro desta ação receberá um array associativo com os parâmetros: o texto que estiver no lugar do primeiro parâmetro irá para o elemento do array com a chave 'var1', e o texto do segundo parâmetro - para 'var2'.

Suponha, por exemplo, que o seguinte foi digitado na barra de endereços: /test/eee/bbb/. Vamos ver o que o primeiro parâmetro da ação irá conter:

<?php namespace Project\Controllers; use Core\Controller; class PageController extends Controller { public function act($params) { var_dump($params); // ['var1' => 'eee', 'var2' => 'bbb'] } } ?>

Crie um controlador NumController, e nele - uma ação sum. Deixe esta ação processar endereços do seguinte tipo: /nums/:n1/:n2/:n3/, onde os parâmetros serão alguns números. Faça com que a soma dos números transmitidos seja exibida na tela.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar