⊗ppMVUFmAE 19 of 35 menu

Anwendung von MVC in PHP

Lassen Sie uns einen Blick auf die gemeinsame Anwendung alles Gelernten werfen. Nehmen wir an, auf unserer Website gibt es beispielsweise einige Artikel-Seiten. Wir möchten entweder einen Artikel anzeigen oder alle Artikel anzeigen. Lassen Sie uns betrachten, wie man das in unserem Framework umsetzen kann.

Tabelle in der Datenbank

Zuerst erstellen wir eine Tabelle pages in der Datenbank. Wir fügen die Spalten id, title und text hinzu. Wir füllen diese Tabelle mit einigen Daten über PhpMyAdmin.

Modell

Wir erstellen ein Modell mit einer Methode zum Abrufen eines Datensatzes und einer Methode zum Abrufen aller Datensätze:

<?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"); } } ?>

Routing

Wir erstellen das entsprechende Routing:

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

Controller

Wir erstellen den Controller:

<?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 = 'Liste aller Seiten'; $pages = (new Page) -> getAll(); return $this->render('page/all', [ 'pages' => $pages, 'h1' => $this->title ]); } } ?>

Views

Wir erstellen das View für die Methode one:

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

Wir erstellen das View für die Methode all:

<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']; ?>/">Link zur Seite</td> </tr> <?php endforeach; ?> </table> </div>

Praktische Aufgaben

Nehmen wir an, Sie haben Produkte in Ihrer Datenbank. Jedes Produkt enthält einen Namen, einen Preis, eine Menge und eine Beschreibung. Implementieren Sie die Anzeige eines Produkts nach id und aller Produkte ähnlich wie in der Theorie.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen