Views in MVC in PHP
Lassen Sie uns nun unseren Aktionen Views hinzufügen.
Nach den Regeln unseres Frameworks werden die Views
im Ordner /project/views/
gespeichert.
Darüber hinaus gilt in unserem Framework
die Konvention: Der Dateiname der View muss
mit dem Namen der Aktion übereinstimmen und
in einem Ordner mit demselben Namen wie der Controller gespeichert werden.
Zum Beispiel, wenn wir einen Controller PageController
haben,
dann sollten alle seine Views
im Ordner /project/views/page/
gespeichert werden. Die
View-Datei selbst sollte die Erweiterung
.php
haben. Wenn zum Beispiel im Controller
PageController
eine Aktion act
existiert,
dann sollte seine View in
/project/views/page/act.php
gespeichert werden.
Um einer Aktion eine View zuzuweisen, muss diese Aktion die Methode
render
aufrufen und ihr den Namen der
View als Parameter übergeben. Der Name der View muss aus
dem Namen des Controllers mit kleinem Anfangsbuchstaben bestehen, nach
dem durch /
der Name der Aktion
geschrieben wird.
Die Methode render
muss nicht
im Controller implementiert werden - sie wird von der Elternklasse
Core\Controller
geerbt. Darüber hinaus
sollte für die korrekte Funktion das Ergebnis des Methodenaufrufs
via return
zurückgegeben werden.
Nehmen wir also an, wir haben einen Controller Page
mit der Aktion act
. Lassen Sie uns diese
Aktion mit einer View verknüpfen:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act()
{
return $this->render('page/act');
}
}
?>
Erstellen wir nun die Datei mit dem HTML-Code unserer View:
<div>
dies ist die View
der Aktion act des Controllers page
</div>
Führen Sie die beschriebenen Manipulationen durch und rufen Sie dann unsere Aktion über die Adresszeile auf. Stellen Sie sicher, dass im Browser der Text aus der von Ihnen erstellten View erscheint.