⊗ppPmSDFl 437 of 447 menu

Pogon na datotekah v PHP

Implementirajmo pogon spletnega mesta, ki nam bo omogočil ustvariti datoteko predloge, ki ji bo glede na URL priključena različna vsebina.

Naj bo struktura naše strani naslednja:

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

Vstavimo na tisto mesto, kjer naj bi prišlo do vstavitve vsebine, neko po naših mislih izmišljeno ukaz za vstavljanje, na primer takšen: {{ content }}. Spremenimo predlogo našega spletnega mesta:

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

Ustvarimo zdaj mapo view, v katero bomo namestili datoteke z vsebino. Neposredno v tej mapi ali v podmapah.

Prva datoteka bo takšna:

<div> content 1 </div>

Druga datoteka bo takšna:

<div> content 2 </div>

Tretja datoteka bo takšna:

<div> content 3 </div>

Naredimo zdaj tako, da se bo glede na URL iz naslovne vrstice priključila ustrezna datoteka. V našem primeru bo po URL /page1 prva datoteka, po URL /dir/page2 - druga, in po URL /dir/sub/page3 - tretja.

Lotimo se izvedbe. Za začetek v datoteki .htaccess naredimo tako, da bodo vsi zahtevani naslovi, razen datotek virov, preusmerjeni na stran index.php:

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

Na strani index.php pridobimo v spremenljivko zahtevani URL:

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

Nato pridobimo besedilo datoteke s predlogo:

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

Zdaj po URL pridobimo iz mape view ustrezno datoteko z vsebino:

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

Zamenjajmo v besedilu predloge po naših mislih izmišljen ukaz s pridobljeno vsebino iz datoteke:

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

Izpišimo v brskalnik datoteko predloge z vstavljeno predlogo:

<?php echo $layout; ?>

Zberimo vse skupaj in dobimo naslednjo kodo:

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

Implementirajte opisani pogon na datotekah.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni