⊗ppPmSDRt 444 of 447 menu

Uelekezaji Rahisi katika Injini ya PHP

Katika somo lililopita kwenye tovuti yetu kulikuwa na kundi moja tu ya anwani. Bila shaka, kawaida kwenye tovuti kuna aina kadhaa za anwani.

Kila kundi la anwani litashughulikiwa na usemi wa kawaida wake, ambao huitwa njia. Ipasavyo mchakato wa kulinganisha njia na msimbo wa kuzishughulikia huitwa uelekezaji.

Wacha tuseme, kwa mfano, tuna aina mbili za anwani. Wacha kwa kila kundi tuandike njia yake:

<?php if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) { // ukurasa mmoja kwa slug } if (preg_match('#^/page/all$#', $url, $params)) { // orodha ya kurasa zote } ?>

Kwa urahisi, wacha tuondoe msimbo wa usindikaji wa kila njia kwenye faili tofauti:

<?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'; } ?>

Kwa matokeo yake, faili zinazojumuishwa zinapaswa kurejesha safu yenye kichwa na yaliyomo kwenye ukurasa.

Wacha tuandike msimbo wa faili la kwanza, linaloonyesha ukurasa mmoja kulingana na slug yake:

<?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; ?>

Sasa tuandike msimbo wa faili la pili, linaloonyesha orodha ya viungo kwa kurasa zote:

<?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' => 'kurasa zote', 'content' => $content ]; return $page; ?>

Baada ya kutekeleza moja ya masharti kwenye kutofautisha $page kutakuwa na safu kutoka kwa muundo mmoja daima. Tutumie safu hii ili kuweka kichwa na yaliyomo kwenye kiolezo cha tovuti:

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

Wacha tukusanye pamoja na tupate msimbo ufuatao:

<?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; ?>

Wacha tuseme una tovuti yenye watumiaji. Fanya ukurasa wa kuonyesha mtumiaji mmoja, ukurasa wa kuonyesha watumiaji wote na ukurasa wenye fomu ya kuongeza mtumiaji mpya.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa