CNC PHP dzinī

Mūsdienu pasaulē adreses ar cipariņiem formas /page/1 tiek uzskatītas par neglītām. Daudz glītāk ir, kad lapai norādīts nevis tās numurs, bet teksta nosaukums, kas atbilst lapas virsrakstam, piemēram, šādi: /page/my-first-page.

Šādas adreses sauc par CNC (cilvēkam saprotami URL). CNC klātbūtne ir ērtāka lietotājam nekā neko nenosakoši viņam numuri id. Turklāt, meklētājsistēmas CNC dēļ paaugstinās mūsu vietnes pozīcijas.

URL daļa, kas atbilst lapas nosaukumam, tiek saukta par slaid (slug). Pieņemsim mūsu datu bāzē pievienosim mūsu lapām kolonnu ar slaidiem:

pages
id slug title content
1 my-first-page title1 <div> content1 </div>
2 my-second-page title2 <div> content2 </div>
3 my-third-page title3 <div> content3 </div>

Pārveidosim tagad mūsu dzinī uz darbu ar slaidiem aizstājot id. Lai to izdarītu, labosim regulāro izteiksmi:

php<?php
  preg_match('#/page/([a-z0-9_-]+)#', $url, $match);
  $slug = $match[1];
?>

Un lapas meklēšanas nosacījumā norādīsim slaidu aizstājot id:

php<?php
  $query = "SELECT * FROM pages WHERE slug='$slug'";
?>
Задание 1

Pārveidojiet savu vietnes dzinī uz darbu ar CNC. Pārbaudiet tā darbību.