Beginnen wir mit der Erstellung einer neuen Symfony-Anwendung mithilfe der Symfony-CLI. Öffnen Sie ein Terminal und führen Sie Folgendes aus:
symfony new poc-symfony
Der Projektname poc-symfony ist hier nicht wichtig, Sie können einen beliebigen Projektnamen wählen.
Ich verwende hier Symfony CLI, um eine neue Symfony-Anwendung zu erstellen.
Wenn Sie es nicht verwenden möchten, können Sie alternativ das berühmte Composer-Tool zum Erstellen der Anwendung verwenden:
composer create-project symfony/skeleton poc-symfony
Lesen Sie dieses Dokument, um mehr über die Verwendung von Composer zum Erstellen einer Symfony-Anwendung zu erfahren.
Starten Sie den integrierten Symfony-Server:
symfony serve -d
Die Option -d wird verwendet, um den Server als Daemon im Hintergrund auszuführen. Um es zu stoppen, können Sie Folgendes ausführen:
symfony server:stop
Wenn Sie die Symfony-CLI nicht installiert haben, können Sie den integrierten PHP-Webserver verwenden, indem Sie Folgendes ausführen:
php -S localhost:8000 -t public/
Standardmäßig ist der verwendete Port 8000. Öffnen Sie jetzt Ihre Anwendung in Ihrem Lieblingsbrowser unter der angegebenen URL (standardmäßig https://localhost:8000).
Sie haben jetzt so etwas in Ihrem Browser:
Unser Ziel hier: unseren ersten Symfony-Controller erstellen und unsere erste Vorlage mit Twig rendern, um „Hallo von Symfony!?“ anzuzeigen.
Installieren Sie zunächst das Twig-Paket, indem Sie Folgendes ausführen:
composer require twig
Dank Symfony Flex haben wir auch einige Dateien, die zu unserem Projekt hinzugefügt wurden.
Erstellen Sie jetzt unsere erste PHP-Datei, die unser erster Symfony-Controller sein wird. Ich werde eine neue Datei namens HomeController.php (im Verzeichnis src/Controller, Sie können ihr einen beliebigen Namen geben) mit diesem Inhalt erstellen:
<?php declare(strict_types=1); namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; final class HomeController extends AbstractController { #[Route('/', name: 'home')] public function home(): Response { return $this->render('home/index.html.twig'); } }
Hier gibt es nichts Besonderes, der HomeController erweitert den Symfony AbstractController und verwendet die Render-Methode davon, um eine Antwort von der HTTPFoundation-Komponente zurückzugeben.
Wir haben eine Route, die dem /-Muster entspricht und den Namen „Heimat“ trägt. Die zugehörige Methode heißt ebenfalls home und gibt eine Twig-Vorlage zurück.
Der Inhalt der Twig-Vorlage enthält Folgendes:
{% extends 'base.html.twig' %} {% block body %} <h1>Hello from Symfony!?</h1> {% endblock %}
Wir erweitern lediglich die Datei base.html.twig und passen den Inhalt im Hauptblock an.
Aktualisieren Sie Ihre Seite und voilà?
Herzlichen Glückwunsch, du hast es geschafft?
Testzeit ?️
Es ist Zeit, unsere Anwendung zu testen.
Sie testen Ihre Anwendung nicht? Du bist zu gut, um Tests hinzuzufügen?
Ihre Wahl, aber ich füge lieber etwas hinzu, um sicherzustellen, dass alles wie erwartet funktioniert.
Fügen wir ein neues Paket zum Testen hinzu, indem wir Folgendes ausführen:
composer require --dev symfony/test-pack
Auch hier haben wir dank Symfony Flex ein paar weitere Dateien mit einer funktionierenden Standardkonfiguration installiert.
Erstellen Sie jetzt eine PHP-Datei zum Testen. Ich habe diese Datei „HomeControllerTest“ (im Verzeichnis „tests/Controller“) genannt:
symfony new poc-symfony
Dieser einfache Test kann uns dabei helfen, zu überprüfen, ob in unserer Anwendung alles funktioniert.
Führen Sie die Tests durch:
composer create-project symfony/skeleton poc-symfony
Herzlichen Glückwunsch, die Prüfung bestanden, du rockst?
Das obige ist der detaillierte Inhalt vonHallo von Symfony. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!