⊗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' => 'all pages', '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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել