⊗ppPmSDRt 444 of 447 menu

PHP дастҷаи кодӣ дар роҳандозӣ

Дар дарси қаблӣ дар сайти мо танҳо як гурӯҳи URL буд. Албатта, одатан дар сомона чанд навъи нишонӣ вуҷуд дорад.

Ҳар гурӯҳи нишониҳо аз ҷониби изҳори мунтазами худ, ки роут номида мешаванд, коркард карда мешаванд. Аз ин рӯ, раванди муқоисаи роутҳо ва барои онҳо код барои коркард кардан онро роутинг меноманд.

Фарз кунем, ки мо ду навъи нишонӣ дорем. Биёед барои ҳар гурӯҳ роути худро нависем:

<?php if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) { // як саҳифа бо слаг } if (preg_match('#^/page/all$#', $url, $params)) { // рӯйхати ҳамаи саҳифаҳо } ?>

Барои осонӣ кардани кори коркарди ҳар як роутро дар файли ҷудогона гузорем:

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

Файлҳои васлшаванда бояд ҳамчун натиҷаи худ массиве аз сарлавҳа ва мундариҷаи саҳифаро баргардонанд.

Биёед коди файли аввалро, ки як саҳифаро бо слаги он чоп мекунад, нависем:

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

Ва акнун коди файли дуюмро, ки рӯйхати пайвандҳо ба ҳамаи саҳифаҳоро чоп мекунад, нависем:

<?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' => 'ҳамаи саҳифаҳо', 'content' => $content ]; return $page; ?>

Пас аз иҷрои яке аз шароитҳо дар тағирёбандаи $page ҳамеша массиве аз як сохт хоҳад буд. Ин массивро истифода барем, то ки сарлавҳа ва мундариҷаро дар шаблони сомона ҷойгир кунем:

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

Ҳамаро якҷоя гирем ва коди зеринро ба даст меорем:

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

Фарз кунем, ки шмо сомонае бо корбарон доред. Саҳифаеро барои намоиши як корбар, саҳифаеро барои чопи ҳамаи корбарон ва саҳифае бо шакл барои илова кардани корбари нав созед.

Тоҷикӣ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан