Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ppPmSDFl 437 of 447 menu
◀ ▶

Failu dzinis PHP

Implementēsim vietnes dzinēju, kas ļaus mums izveidot veidnes failu, kuram atkarībā no URL tiks pievienots dažāds saturs.

Pieņemsim, ka mūsu lapas struktūra izskatās šādi:

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

Ievietosim tajā vietā, kur jānotiek satura ievietošanai, kādu mūsu izdomātu komandu ievietošanai, piemēram, šādu: {{ content }}. Mainīsim mūsu vietnes veidni:

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

Izveidosim mapi view, kurā izvietosim satura failus. Tieši šajā mapē vai apakšmapēs.

Pirmais fails būs šāds:

<div> content 1 </div>

Otrais fails būs šāds:

<div> content 2 </div>

Trešais fails būs šāds:

<div> content 3 </div>

Tagad panāksim, lai pēc URL no adreses joslas tiktu ielādēts atbilstošais fails. Mūsu gadījumā pēc URL /page1 būs pirmais fails, pēc URL /dir/page2 - otrais, un pēc URL /dir/sub/page3 - trešais.

Sāksim implementāciju. Vispirms failā .htaccess panāksim, lai visi pieprasītie adresi, izņemot resursu failus, tiek novirzīti uz lapu index.php:

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

Lapā index.php iegūsim mainīgajā pieprasīto URL:

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

Pēc tam iegūsim veidnes faila tekstu:

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

Tagad pēc URL iegūsim no mapes view atbilstošo satura failu:

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

Aizvietosim veidnes tekstā mūsu izdomāto komandu ar iegūto no faila saturu:

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

Izvadīsim pārlūkprogrammā veidnes failu ar ievietoto saturu:

<?php echo $layout; ?>

Apvienosim visu kopā un iegūsim šādu kodu:

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

Implementējiet aprakstīto failu dzinēju.

← →
↑
Latviešu▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt