⊗ppPmSDRt 444 of 447 menu

Perutean Sederhana di Mesin PHP

Dalam pelajaran sebelumnya, situs web kami hanya memiliki satu grup URL. Tentu saja, biasanya sebuah situs web memiliki beberapa jenis alamat.

Setiap grup alamat akan diproses dengan ekspresi regulernya sendiri, yang disebut rute. Oleh karena itu, proses pencocokan rute dan kode untuk memprosesnya disebut perutean.

Misalnya, kita memiliki dua jenis alamat. Mari kita tulis rute untuk setiap grup:

<?php if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) { // satu halaman berdasarkan slug } if (preg_match('#^/page/all$#', $url, $params)) { // daftar semua halaman } ?>

Untuk kemudahan, mari kita pindahkan kode pemrosesan setiap rute ke file terpisah:

<?php if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) { $page = include 'view/page/show.php'; } if (preg_match('#^/page/all$#', $url, $params)) { $page = include 'view/page/all.php'; } ?>

File yang disertakan harus mengembalikan array dengan judul dan konten halaman sebagai hasilnya.

Mari kita tulis kode file pertama, yang menampilkan satu halaman berdasarkan slug-nya:

<?php $slug = $params[1]; $query = "SELECT * FROM pages WHERE slug='$slug'"; $res = mysqli_query($link, $query) or die(mysqli_error($link)); $page = mysqli_fetch_assoc($res); return $page; ?>

Dan sekarang mari kita tulis kode file kedua, yang menampilkan daftar tautan ke semua halaman:

<?php $query = "SELECT slug, title FROM pages"; $res = mysqli_query($link, $query) or die(mysqli_error($link)); for ($data = []; $row = mysqli_fetch_assoc($res); $data[] = $row); $content = ''; foreach ($data as $page) { $content .= ' <div> <a href="/page/' . $page['slug'] . '">' . $page['title'] . '</a> </div> '; } $page = [ 'title' => 'all pages', 'content' => $content ]; return $page; ?>

Setelah salah satu kondisi dieksekusi, dalam variabel $page akan selalu ada array dengan satu struktur. Mari gunakan array ini untuk memasukkan judul dan konten ke dalam template situs:

<?php $layout = file_get_contents('layout.php'); $layout = str_replace('{{ title }}', $page['title'], $layout); $layout = str_replace('{{ content }}', $page['content'], $layout); echo $layout; ?>

Mari gabungkan semuanya dan dapatkan kode berikut:

<?php $url = $_SERVER['REQUEST_URI']; if (preg_match('#^/page/([a-z0-9_-]+)$#', $url, $params)) { $page = include 'view/page/show.php'; } if (preg_match('#^/page/all$#', $url, $params)) { $page = include 'view/page/all.php'; } $layout = file_get_contents('layout.php'); $layout = str_replace('{{ title }}', $page['title'], $layout); $layout = str_replace('{{ content }}', $page['content'], $layout); echo $layout; ?>

Misalkan Anda memiliki situs web dengan pengguna. Buatlah halaman untuk menampilkan satu pengguna, halaman untuk menampilkan semua pengguna, dan halaman dengan formulir untuk menambahkan pengguna baru.

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