Vigezo katika Njia za MVC katika PHP
Katika somo lililopita, njia zetu zilikuwa na anwani maalum. Kwa hakika utaratibu wa uelekezaji wa njia una ugumu zaidi - inawezekana kufanya hivi, ili sehemu ya URI ya ukurasa iingie kwenye vigezo vilivyopewa majina, vinavyopatikana baadaye katika kitudhibiti.
Hebu, kwa mfano, anwani zetu zionekane
hivi: /test/param1/param2/,
ambapo param1 na param2 - masharti ya kiholela.
Wakati huo huo, tunataka, kuwa anwani za aina hii
zitawaliwe na kitendo kimoja cha kitudhibiti.
Ili kufanya hivyo inapaswa kubuni jina la kigezo
na kuweka koloni mbele yake, hivi:
<?php
use \Core\Route;
return [
new Route('/test/:var1/:var2/', 'page', 'act'),
];
?>
Katika kesi yetu itatokea, kuwa maombi yote
ya aina /test/parameta1/parameta2/
yataingia kwenye kitendo act. Wakati
huo huo, katika kigezo cha kwanza cha kitendo hiki
kitaingia safu ya umbo-jumla yenye vigezo:
maandishi, ambayo yatakuwa mahali pa kigezo cha kwanza,
yaingie kwenye kipengele cha safu ukitumia ufunguo 'var1',
na maandishi ya kigezo cha pili - kwenye 'var2'.
Hebu, kwa mfano, kwenye mstari wa anwani imechapishwa
yafuatayo: /test/eee/bbb/. Hebu tuangalie,
kigezo cha kwanza cha kitendo kitakuwa na nini:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act($params)
{
var_dump($params); // ['var1' => 'eee', 'var2' => 'bbb']
}
}
?>
Tengeneza kitudhibiti NumController,
na ndani yake - kitendo sum. Hebu kitendo hiki
kishughulikie anwani za aina ifuatayo:
/nums/:n1/:n2/:n3/, ambapo vigezo
vitakuwa namba fulani. Fanya hivi, ili
kwenye skrini ionyeshe jumla ya namba zilizopitishwa.