⊗ppPmSDFl 437 of 447 menu

PHP-də fayl motoru

Bizə URL-dən asılı olaraq müxtəlif kontentin qoşulacağı şablon faylı yaratmağa imkan verəcək veb sayt motorunu həyata keçirək.

Tutaq ki, səhifəmizin quruluşu aşağıdakı kimi görünür:

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

Gəlin kontentin əlavə edilməli olduğu yerdə, bizim tərəfimizdən uydurulmuş hər hansı bir əmr əlavə edək, məsələn, belə: {{ content }}. Veb saytımızın şablonunu dəyişək:

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

İndi isə kontent fayllarını yerləşdirəcəyimiz view qovluğunu yaradaq. Birbaşa bu qovluqda və ya alt qovluqlarda.

İlk fayl belə olacaq:

<div> content 1 </div>

İkinci fayl belə olacaq:

<div> content 2 </div>

Üçüncü fayl belə olacaq:

<div> content 3 </div>

Gəlin indi edək ki, ünvan sətirindən gələn URL-ə uyğun fayl gətirilsin. Bizim vəziyyətimizdə /page1 URL-inə birinci fayl, /dir/page2 URL-inə ikinci fayl, /dir/sub/page3 URL-inə isə üçüncü fayl uyğun gəlsin.

Həyata keçirməyə başlayaq. Əvvəlcə .htaccess faylında edək ki, resurs faylları istisna olmaqla, bütün sorğu göndərilən ünvanlar index.php səhifəsinə yönləndirilsin:

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

index.php səhifəsində dəyişənə sorğu göndərilən URL-i əldə edək:

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

Sonra şablon faylının mətnini əldə edək:

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

İndi isə URL-ə uyğun olaraq view qovluğundan uyğun kontent faylını əldə edək:

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

Şablon mətnində bizim tərəfimizdən uydurulmuş əmrı fayldan əldə edilmiş kontentlə əvəz edək:

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

Brauzerə əlavə edilmiş kontentli şablon faylını çıxaraq:

<?php echo $layout; ?>

Hamısını birlikdə yığaq və aşağıdakı kodu əldə edək:

<?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; ?>

Təsvir edilmiş fayl motorunu həyata keçirin.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et