⊗ppPmSDFl 437 of 447 menu

Fájlalapú motor PHP-ben

Megvalósítunk egy webmotor, amely lehetővé teszi számunkra, hogy készítsünk egy sablonfájlt, amelyhez az URL-től függően különböző tartalom csatlakozik.

Tegyük fel, hogy oldalunk szerkezete a következő képen néz ki:

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

Helyezzünk el arra a helyre, ahol a tartalom beillesztésének kell történnie, egy általunk kitalált parancsot a beillesztésre, például ezt: {{ content }}. Módosítsuk webhelyünk sablonját:

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

Most készítsünk egy view mappát, amelybe elhelyezzük a tartalomfájlokat. Akár ebben a mappában, akár almappákban.

Az első fájl a következő lesz:

<div> content 1 </div>

A második fájl a következő lesz:

<div> content 2 </div>

A harmadik fájl a következő lesz:

<div> content 3 </div>

Most állítsuk be úgy, hogy a címsorból érkező URL alapján a megfelelő fájl töltődjön be. Esetünkben a /page1 URL-re az első fájl, a /dir/page2 URL-re a második, és a /dir/sub/page3 URL-re a harmadik.

Kezdjük el a megvalósítást. Először a .htaccess fájlban állítsuk be, hogy az összes lekérdezett cím, az erőforrásfájlok kivételével, a index.php oldalra irányuljon:

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

A index.php oldalon egy változóba fogadjuk a lekérdezett URL-t:

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

Ezután megkapjuk a sablonfájl szövegét:

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

Most az URL alapján a view mappából nyerjük ki a megfelelő tartalomfájlt:

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

Cseréljük le a sablon szövegében az általunk kitalált parancsot a fájlból kapott tartalomra:

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

Jelenítsük meg a böngészőben a sablonfájlt a beillesztett tartalommal:

<?php echo $layout; ?>

Gyűjtsük össze az egészet, és a következő kódot kapjuk:

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

Valósítsa meg az ismertetett fájlalapú motort.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás