⊗ppMVUFmAE 19 of 35 menu

PHP'de MVC Uygulaması

Öğrendiğimiz her şeyin birlikte nasıl uygulanacağına bir göz atalım. Örneğin, web sitemizde bazı makale-sayfalar olduğunu varsayalım. Biz ya bir makaleyi göstermek ya da tüm makaleleri göstermek istiyoruz. Bunu çerçevemizde nasıl yapacağımızı inceleyelim.

Veritabanında Tablo

Başlangıç olarak veritabanında bir pages tablosu oluşturalım. id, title ve text sütunlarını ekleyelim. Bu tabloyu PhpMyAdmin aracılığıyla bazı verilerle dolduralım.

Model

Bir kayıt getirmek için bir metodu ve tüm kayıtları getirmek için bir metodu olan bir model yapalım:

<?php namespace Project\Models; use \Core\Model; class Page extends Model { public function getById($id) { return $this->findOne("SELECT * FROM pages WHERE id=$id"); } public function getAll() { return $this->findMany("SELECT id, title FROM pages"); } } ?>

Yönlendirme (Routing)

İlgili yönlendirmeyi yapalım:

<?php use \Core\Route; return [ new Route('/page/:id', 'page', 'one'), new Route('/pages/', 'page', 'all'), ]; ?>

Kontrolcü (Controller)

Bir kontrolcü yapalım:

<?php namespace Project\Controllers; use \Core\Controller; use \Project\Models\Page; class PageController extends Controller { public function one($params) { $page = (new Page) -> getById($params['id']); $this->title = $page['title']; return $this->render('page/one', [ 'text' => $page['text'], 'h1' => $this->title ]); } public function all() { $this->title = 'Tüm Sayfaların Listesi'; $pages = (new Page) -> getAll(); return $this->render('page/all', [ 'pages' => $pages, 'h1' => $this->title ]); } } ?>

Görünümler (Views)

one metodu için bir görünüm yapalım:

<h1><?= $h1; ?></h1> <div id="content"> <?= $text; ?> </div>

all metodu için bir görünüm yapalım:

<h1><?= $h1; ?></h1> <div id="content"> <table> <tr> <th>id</th> <th>title</th> <th>link</th> </tr> <?php foreach ($pages as $page): ?> <tr> <td><?= $page['id']; ?></td> <td><?= $page['title']; ?></td> <td><a href="/page/<?= $page['id']; ?>/">sayfaya link</td> </tr> <?php endforeach; ?> </table> </div>

Pratik Görevler

Veritabanınızda ürünler olduğunu varsayalım. Her bir ürün bir isim, fiyat, miktar ve açıklama içerir. Teoride yapıldığı gibi, id'ye göre tek bir ürünün ve tüm ürünlerin listelenmesini gerçekleştirin.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet