⊗ppPmSDFl 437 of 447 menu

Рухавік на файлах у PHP

Рэалізуем рухавік сайта, які дазволіць нам зрабіць файл шаблону, да якога ў залежнасці ад URL будзе падлучацца розны кантэнт.

Хай структура нашай старонкі выглядае наступным чынам:

<!DOCTYPE html> <html> <head> <title>title</title> </head> <body> <header> header </header> <main> content </main> <header> footer </header> </body> </html>

Давайце ў тое месца, у якое павінна адбывацца ўстаўка кантэнту, уставім якую-небудзь прыдуманую намі каманду на ўстаўку, напрыклад такую: {{ content }}. Зменім шаблон нашага сайта:

<!DOCTYPE html> <html> <head> <title>title</title> </head> <body> <header> header </header> <main> {{ content }} </main> <header> footer </header> </body> </html>

Зробім цяпер папку view, у якую будзем размяшчаць файлы кантэнту. Прама ў гэтай папцы або ў падпапках.

Першы файл будзе такім:

<div> content 1 </div>

Другі файл будзе такім:

<div> content 2 </div>

Трэці файл будзе такім:

<div> content 3 </div>

Давайце цяпер зробім так, каб па URL з адраснага радка падцягваўся адпаведны файл. У нашым выпадку па ўрлу /page1 будзе першы файл, па ўрлу /dir/page2 - другі, і па ўрлу /dir/sub/page3 - трэці.

Прыступім да рэалізацыі. Для пачатку ў файле .htaccess зробім так, каб усе запытаныя адрасы, акрамя файлаў рэсурсаў, рэдырэкталіся на старонку index.php:

RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !\.(js|css|ico|jpg|png|gif)$ RewriteRule .+ index.php

На старонцы index.php атрымаем у зменную запытаны URL:

<?php $url = $_SERVER['REQUEST_URI']; ?>

Затым атрымаем тэкст файла з шаблонам:

<?php $layout = file_get_contents('layout.php'); ?>

Цяпер па URL атрымаем з папкі view адпаведны файл кантэнту:

<?php $content = file_get_contents('view' . $url . '.php'); ?>

Замянім у тэксце шаблону прыдуманую намі каманду на атрыманы з файла кантэнт:

<?php $layout = str_replace('{{ content }}', $content, $layout); ?>

Вывядзем у браўзэр файл шаблону з пастаўленым шаблонам:

<?php echo $layout; ?>

Саберым усё разам і атрымаем наступны код:

<?php $url = $_SERVER['REQUEST_URI']; $layout = file_get_contents('layout.php'); $content = file_get_contents('view' . $url . '.php'); $layout = str_replace('{{ content }}', $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 для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць