Meydan okuma - Mini CMS
include, dizi ve form'la basit bir içerik yönetim sayfası yazarsın.
Meydan okuma - Mini CMS
Bu meydan okumada basit bir mini CMS yazacaksın. Sayfaları $pages ilişkisel dizisinde tutacak, foreach ile listeleyecek ve $_POST ile gelen form verisiyle yeni sayfa ekleyeceksin.
Gerçek bir CMS'te sayfa verileri include ile ayrı dosyalardan yüklenir; burada sadeleştirmek için tek dosyada tutuyoruz. isset ile anahtar varlığını denetleyip boş değilse yeni sayfayı dizine eklersin.
Uygulama Mini CMS sayfasını yaz
$_POST = ["title" => "Blog", "body" => "Yeni yazılar"] ile form verisini simüle et. $pages ilişkisel dizisine "home" => ["title" => "Ana Sayfa", "body" => "Hoş geldiniz"] ve "about" => ["title" => "Hakkımızda", "body" => "Biz kimiz"] ekle. if (isset($_POST["title"]) && $_POST["title"] !== "") ile denetle; koşul doğruysa $pages["blog"] = ["title" => $_POST["title"], "body" => $_POST["body"]] ekle. Son olarak foreach ($pages as $slug => $page) ile echo $page["title"] . " /" . $slug . "\n" yazdır.
Örnek çözümü göster
$pages ilişkisel dizisine home ve about sayfalarını ekle; $_POST'tan title ve body al; isset ile denetle, !== "" ise $pages["blog"] olarak ekle; foreach ile title ve slug yazdır.
Örnek çözüm:
<?php
// Mini CMS: sayfa dizisi ve form ile yeni sayfa ekleme
$_POST = ["title" => "Blog", "body" => "Yeni yazılar"];
$pages = [
"home" => ["title" => "Ana Sayfa", "body" => "Hoş geldiniz"],
"about" => ["title" => "Hakkımızda", "body" => "Biz kimiz"],
];
if (isset($_POST["title"]) && $_POST["title"] !== "") {
$pages["blog"] = ["title" => $_POST["title"], "body" => $_POST["body"]];
}
foreach ($pages as $slug => $page) {
echo $page["title"] . " /" . $slug . "\n";
}
Kendini test et
-
Mini CMS'te yeni sayfa eklemek için ne kullanılır?
- include ile dosya yüklenir
- $_POST ile gelen form verisi alınır
- echo ile ekrana yazılır
- count ile sayılır
Cevabı göster
$_POST ile gelen form verisi alınır — Doğru. Formdan gelen veriyi $_POST süper globali ile alırız; isset ile varlığını denetleriz.
-
Foreach döngüsünü tamamla
foreach ($pages ____ $slug => $page) { echo $page["title"]; }Cevabı göster
foreach ($pages as $slug => $page) { echo $page["title"]; } -
CMS parçalarını eşle
- $pages
- sayfa verisi
- foreach
- sayfaları listeler
- $_POST
- form verisi
- isset
- anahtar kontrolü