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

Hier geht es zu Teil 2 Bundle und Layout