⊗ppMVUFmRP 8 of 35 menu

Parametrit reiteissä MVC:ssä PHP:ssä

Edellisessä oppitunnissa reittimme olivat kiinteitä osoitteita. Todellisuudessa reititysmekanismi on monimutkaisempi - voit tehdä niin, että osa sivun URI:sta päätyy nimettyihin parametreihin, jotka ovat sitten saatavilla ohjaimessa.

Oletetaan esimerkiksi, että osoitteemme näyttävät tältä: /test/param1/param2/, missä param1 ja param2 ovat mielivaltaisia merkkijonoja. Samalla haluamme, että tällaiset osoitteet käsitellään yhdellä ohjaimen toiminnolla. Tätä varten tulee keksiä parametrin nimi ja laittaa kaksoispiste sen eteen, näin:

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

Meidän tapauksessamme käy niin, että kaikki muotoa /test/parametri1/parametri2/ olevat pyynnöt päätyvät toimintoon act. Samalla tämän toiminnon ensimmäiseen parametriin tulee assosiatiivinen taulukko parametreista: teksti, joka on ensimmäisen parametrin paikalla, päätyy taulukon elementtiin, jonka avain on 'var1', ja toisen parametrin teksti - avaimeen 'var2'.

Oletetaan esimerkiksi, että osoiteriville on kirjoitettu seuraava: /test/eee/bbb/. Katsotaan, mitä toiminnon ensimmäinen parametri sisältää:

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

Tee ohjain NumController, ja siihen - toiminto sum. Tee niin, että tämä toiminto käsittelee seuraavan muotoisia osoitteita: /nums/:n1/:n2/:n3/, missä parametrit ovat joitain numeroita. Tee niin, että ruudulle tulostetaan annettujen numeroiden summa.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää