⊗ppPmSDFl 437 of 447 menu

PHPда файллар асосидаги движок

Веб-саҳифа шаблони файлини яратадиган ва URLга қараб турли контент уланadigan веб-саҳифа движонини амалга оширамиз.

Бизнинг веб-саҳифанимиз тузилиши куйидагича бўлсин:

<!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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш