Symfony 4.4 ist ein beliebtes PHP-Framework für Webanwendungen und APIs. In diesem Tutorial lernst du die Grundlagen von Symfony 4.4 kennen und erfährst, wie du eine einfache Anwendung einrichtest und entwickelst. Gemeinsam entdecken wir die vielseitigen Funktionen dieses Frameworks.
1. Neues Symfony 4.4 Projekt anlegen
Wir befinden uns im Ordner workspace
…
Als erstes laden wir das Programm composer mit curl herunter
Siehe auch http://getcomposer.org/download/
curl -s https://getcomposer.org/installer | php
Info!
Die Versionierungssoftware git muss installiert sein.
http://git-scm.com/
Es wird mind. php7.1 oder höher benötigt.
Jetzt legen wir ein neues Projekt an.
composer create-project symfony/website-skeleton testprojekt "4.4.*"
Siehe auch http://symfony.com/doc/current/book/installation.html
2. Apache Webserver einrichten
Wir legen einen neuen „Virtual Host“ an, der auf den „public“ Ordner des Symfony Projekts zeigt.
<VirtualHost *:80>
ServerName testprojekt.localhost
DocumentRoot "/workspace/testprojekt/public"
DirectoryIndex index.php
<Directory "/workspace/testprojekt/public">
Require all granted
AllowOverride All
Allow from All
FallbackResource /index.php
</Directory>
<Directory /workspace/testprojekt/public/bundles>
FallbackResource disabled
</Directory>
</VirtualHost>
Wichtig ist hier der „ServerName“ dieser Name muss auflösbar sein.
Damit das funktioniert tragen wir den ServerName in der „hosts“ Datei des Rechners ein.
// file: etc/hosts
127.0.0.1 testprojekt.localhost
...
Der Apache Webserver sollte nun einmal neu gestartet werden, damit die neue Konfiguration eingelesen wird.
Jetzt kann die Symfony Anwendung getestet werden. Dazu rufen wir die URL: http://testprojekt.localhost/ auf.
3. MySQL Datenbank
Die Verbindungsdaten zur MySQL Datenbank werden in der Datei .env per DATABASE_URL hinterlegt.
Der db_user muss existieren.
// file: .env
###> doctrine/doctrine-bundle ###
# Format described at http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db"
# Configure your db driver and server_version in config/packages/doctrine.yaml
DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name
###< doctrine/doctrine-bundle ###
Nachdem die Verbindungsdaten eingetragen sind, kann die Datenbank mit folgendem Kommando erstellt werden:
Achtung: Dazu musst Du natürlich in dem Ordner sein, in dem sich das Framework befindet.
php bin/console doctrine:database:create
