Symfony 4.4 Tutorial :: Teil 3 statische Seiten
Write a commentVorwort
Es lohnt sich immer im Vorfeld einen Blick in den Befehlsumfang des Symfony-Frameworks zu werfen. Das erreicht man in dem man das Kommando
php bin/consoleaufruft. Es werden dann alle Befehle aufgelistet!
Jedes Kommando kann wiederum mit dem help Parameter zusätzlich inspiziert werden.
php bin/console help make:controller
1. Controller erstellen
Nun wollen wir Zwei neue Seiten erstellen. Dafür benutzen wir am besten einen neuen Controller.
php bin/console make:controller sites
Da wir aber zwei oder mehr Seiten haben wollen, müssen wir in dem Controller noch eine Funktion hinzufügen.
Um die Funktionen später besser zu erkennen, nennen wir sie seite1 und seite2.
Zudem ändern wir die Routen ab
<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Routing\Annotation\Route; class SitesController extends AbstractController { /** * @Route("/seite1", name="seite1") */ public function seite1() { return $this->render('sites/seite1.html.twig'); } /** * @Route("/seite2", name="seite2") */ public function seite2() { return $this->render('sites/seite2.html.twig'); } }
2. View anlegen
Bei dem erstellen eines Controllers wird nur eine twig Datei angelegt, wir brauchen aber 2.
Dafür gehen wir in den Ordner templates/sites und ändern die bestehende index.html.twig in seite1.html.twig um.
Dafür gehen wir in den Ordner templates/sites und ändern die bestehende index.html.twig in seite1.html.twig um.
Der Name bleibt jedem selbst überlassen, jedoch haben wir beim Controller bearbeiten die seite1.html.twig als zu aufrufende Datei festegelgt.
Zusätzlich erstellen wir eine seite2.html.twig Datei im gleichen Ordner.
Zusätzlich erstellen wir eine seite2.html.twig Datei im gleichen Ordner.
Nun bearbeiten wir beide und machen sie etwas übersichtlicher:
{% extends 'base.html.twig' %} {% block title %}Hello SitesController!{% endblock %} {% block body %} <div> <h1>Ich bin Seite 1 !!!</h1> </div> {% endblock %}Bei seite2 sollte natürlich auch Seite 2 stehen.
Jetzt können wir diese 2 Seiten über testprojekt.localhost/seite1 bzw. seite2 erreichen.
3. Hyperlinks einfügen
Zum schluss wollen wir noch unsere Seiten miteinander verbinden.
Dazu gehen wir in die base.html.twig Datei und ändern den Body wie folgt ab.
Dazu gehen wir in die base.html.twig Datei und ändern den Body wie folgt ab.
<ul class="nav nav-pills float-right"> <li class="nav-item"> <a class="nav-link" href='{{ path('homepage') }}'>Home</a> </li> <li class="nav-item"> <a class="nav-link" href='{{ path('seite1') }}'>Seite 1</a> </li> <li class="nav-item"> <a class="nav-link" href='{{ path('seite2') }}'>Seite 2</a> </li> </ul>
4. prod, dev und test
Anders als in Symfony 3 können wir nun nicht mehr mit /app_dev auf unser dev environment zugreifen, sondern müssen dies in der .env Datei tun.
In der .env Datei gibt es folgenden Block.
###> symfony/framework-bundle ### APP_ENV=dev APP_SECRET=*** #TRUSTED_PROXIES=127.0.0.1,127.0.0.2 #TRUSTED_HOSTS='^localhost|example\.com$' ###< symfony/framework-bundle ###Wichtig ! APP_SECRET muss IMMER vor anderen versteckt sein, denn durch diese Zeichenkombination wird das Projekt zusätzlich verschlüsselt.
Nun können wir ganz einfach das dev hinter APP_ENV durch prod oder test austauschen, um das environment zu wechseln
You are a guest
or post as a guest
Loading comment...
The comment will be refreshed after 00:00.
Be the first to comment.