CNC katika injini ya PHP
Katika ulimwengu wa kisasa, anwani zenye nambari za aina
/page/1 zinaonekana kuwa zisizofaa. Ni
vyema zaidi wakati kwa ukurasa huelekezwa sio
nambari yake, lakini jina la maandishi yanayofanana na
kichwa cha ukurasa, kwa mfano, kama hivi: /page/my-first-page.
Anwani kama hizi huitwa CNC (Anwani Zinazoeleweka kwa Binadamu).
Kuwepo kwa CNC ni rahisi kwa mtumiaji kuliko
nambari za id ambazo hazimwambii chochote.
Zaidi ya hayo, kwa CNC mitandao ya kutafutia itaongeza
nafasi za tovuti yetu.
Kipande cha anwani kinachofanana na jina la ukurasa, huitwa slug (slug). Hebu katika hifadhidata yetu tuongeze kwa kurasa zetu safu wima yenye slug:
| 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> |
Sasa tubadilishe injini yetu ifanye kazi na slug badala ya id. Kwa kufanya hivyo, tusahihisha usemi wa kawaida:
<?php
preg_match('#/page/([a-z0-9_-]+)#', $url, $match);
$slug = $match[1];
?>
Na katika hali ya utafutaji wa ukurasa tueleze slug badala ya id:
<?php
$query = "SELECT * FROM pages WHERE slug='$slug'";
?>
Badilisha injini ya tovuti yako ifanye kazi na CNC. Jaribu utendaji wake.