⊗ppPmSDFl 437 of 447 menu

Mesin Berbasis File di PHP

Kami akan mengimplementasikan mesin situs yang memungkinkan kita membuat file template, ke mana konten yang berbeda akan dihubungkan tergantung pada URL.

Misalkan struktur halaman kita terlihat sebagai berikut:

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

Mari kita di tempat di mana penyisipan konten harus terjadi masukkan beberapa perintah yang kami buat untuk penyisipan, misalnya seperti ini: {{ content }}. Mari kita ubah template situs kita:

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

Sekarang mari kita buat folder view, di mana kita akan menempatkan file konten. Langsung di folder ini atau di subfolder.

File pertama akan seperti ini:

<div> content 1 </div>

File kedua akan seperti ini:

<div> content 2 </div>

File ketiga akan seperti ini:

<div> content 3 </div>

Sekarang mari kita buat agar sesuai dengan URL dari address bar, file yang sesuai akan diambil. Dalam kasus kami, sesuai url /page1 akan menjadi file pertama, sesuai url /dir/page2 - yang kedua, dan sesuai url /dir/sub/page3 - yang ketiga.

Mari kita mulai implementasinya. Pertama, di file .htaccess, mari kita buat agar semua alamat yang diminta, kecuali file sumber daya, diarahkan ulang ke halaman index.php:

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

Pada halaman index.php, kita akan mendapatkan URL yang diminta ke dalam variabel:

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

Kemudian kita dapatkan teks file template:

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

Sekarang berdasarkan URL, kita dapatkan dari folder view file konten yang sesuai:

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

Mari kita ganti perintah yang kita buat dalam teks template dengan konten yang diperoleh dari file:

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

Tampilkan di browser file template dengan template yang disisipkan:

<?php echo $layout; ?>

Mari kita kumpulkan semuanya dan dapatkan kode berikut:

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

Implementasikan mesin berbasis file yang dijelaskan.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak