⊗ppPmSDRt 444 of 447 menu

Ruting i thjeshtë në motor në PHP

Në mësimin e mëparshëm në faqen tonë të internetit kishte vetëm një grup të vetëm URL-sh. Sigurisht, zakonisht në faqen e internetit ka disa lloje adresash.

Çdo grup adresash do të përpunohet nga shprehja e vet e rregullt, të cilat quhen rute. Prandaj procesi i përputhjes së ruteve dhe kodit për përpunimin e tyre quhet ruting.

Le të themi, për shembull, se kemi dy lloje adresash. Le të shkruajmë një rute të vetme për secilin grup:

<?php if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) { // një faqe sipas slug } if (preg_match('#^/page/all$#', $url, $params)) { // lista e të gjitha faqeve } ?>

Për lehtësi, le të nxjerrim kodin e përpunimit të çdo rute në një skedar të veçantë:

<?php if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) { $page = include 'view/page/show.php'; } if (preg_match('#^/page/all$#', $url, $params)) { $page = include 'view/page/all.php'; } ?>

Skedarët e përfshirë duhet të kthejnë si rezultat Një grup me titullin dhe përmbajtjen e faqes.

Le të shkruajmë kodin e skedarit të parë, i cili shfaq një faqe të vetme sipas slug-it të saj:

<?php $slug = $params[1]; $query = "SELECT * FROM pages WHERE slug='$slug'"; $res = mysqli_query($link, $query) or die(mysqli_error($link)); $page = mysqli_fetch_assoc($res); return $page; ?>

Dhe tani le të shkruajmë kodin e skedarit të dytë, i cili shfaq listën e lidhjeve për të gjitha faqet:

<?php $query = "SELECT slug, title FROM pages"; $res = mysqli_query($link, $query) or die(mysqli_error($link)); for ($data = []; $row = mysqli_fetch_assoc($res); $data[] = $row); $content = ''; foreach ($data as $page) { $content .= ' <div> <a href="/page/' . $page['slug'] . '">' . $page['title'] . '</a> </div> '; } $page = [ 'title' => 'all pages', 'content' => $content ]; return $page; ?>

Pas ekzekutimit të njërit prej kushteve, në variablin $page gjithmonë do të ketë një grup nga një strukturë. Le të përdorim këtë grup për të vendosur titullin dhe përmbajtjen në shabllonin e faqes:

<?php $layout = file_get_contents('layout.php'); $layout = str_replace('{{ title }}', $page['title'], $layout); $layout = str_replace('{{ content }}', $page['content'], $layout); echo $layout; ?>

Le të mbledhim gjithçka së bashku dhe të marrim kodin e mëposhtëm:

<?php $url = $_SERVER['REQUEST_URI']; if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) { $page = include 'view/page/show.php'; } if (preg_match('#^/page/all$#', $url, $params)) { $page = include 'view/page/all.php'; } $layout = file_get_contents('layout.php'); $layout = str_replace('{{ title }}', $page['title'], $layout); $layout = str_replace('{{ content }}', $page['content'], $layout); echo $layout; ?>

Le të themi se keni një faqe interneti me përdorues. Krijoni një faqe për të shfaqur një përdorues të vetëm, një faqe për të shfaqur të gjithë përdoruesit dhe një faqe me një formular për shtimin e një përdoruesi të ri.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo