Auf dieser Seite finden Sie eine Auflistung häufig verwendeter Befehle. Sie wurde eingerichtet, um sowohl für Sie als auch für uns eine Referenz zu schaffen
#################################################
# Symfony Grundeinrichtung eines Projekts
# Skeleton app erstellen
composer create-project symfony/skeleton [my-app-name]
# Make command installieren
composer require make
# Twig installieren
composer require twig
# Annotations installieren
composer require doctrine/annotations
# Apache-Pack installieren (damit url rewrite funktioniert)
composer require symfony/apache-pack
# Doctrine installieren
composer require doctrine
# Forms hinzufügen
composer require form
#Security Bundle installieren:
composer require security
#################################################
# Symfony - häufig verwendete Befehle.
# Controller erstellen (Name für den Controller bspw.: IndexController)
# Route ändern nicht vergessen.
php bin/console make:controller
# Alle Routen anzeigen lassen.
php bin/console debug:router
# Entität anlegen oder erweitern.
# Entitäten immer in dieser Form anlegen für ein einheitliches Schema: PropertyName ->
# also Großbuchstaben am Anfang, mehrere Worte in CamelCase.
php bin/console make:entity
# User-Entity hinzufügen.
php bin/console make:user
# Update der Datenbank-Felder forciert vornehmen (ohne Migration).
php bin/console doctrine:schema:update --force
# Formular anlegen.
php bin/console make:form
# Authentifizierung hinzufügen (Login form authenticator macht das einfacher).
# In CustomAuthenticator die Redirect Route für den Redirect eintragen, der nach dem Login erfolgen soll.
php bin/console make:auth
#################################################
# Twig Doku:
https://twig.symfony.com/doc
#################################################
# Symfony Controllers
# Erzeuge eine URL ohne Argumente:
$signUpPage = $this->generateUrl('sign_up');
# Erzeuge eine URL mit Argumenten:
$userProfilePage = $this->generateUrl('user_profile', [
'username' => $user->getUserIdentifier(),
]);
# Erzeuge URL mit absolutem Pfad (dritter Parameter kommt hinzu)
# Nicht vergessen das UrlGeneratorInterface mit einzubinden: use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
$confirmationUrl = $this->generateUrl('registration_confirm', [], UrlGeneratorInterface::ABSOLUTE_URL);
#################################################
# PHP Installation.
sudo apt-get install php8.1 php8.1-cli php8.1-common php8.1-curl php8.1-gd php8.1-intl\
php8.1-mbstring php8.1-mysql php8.1-xml php8.1-zip php8.1-opcache php8.1-readline
# Vorherige PHP Version deaktivieren in Apache.
sudo a2dismod php7.4
# Neue PHP Version aktivieren in Apache.
sudo a2enmod php8.1
# Server neustarten nicht vergessen.
sudo systemctl restart apache2
# Get Query String
$request->getQueryString();
# Get Content of Post Query as a string
$requestContents = $request->getContent();
# Get a single get variable
$getvar = $request->query->get('getvar');
# Get a single post variable (ACHTUNG - Hier im Gegensatz zu POST kein $request->query
$timestamp = $request->get('timestamp');
# Eintrag aus einem Request Header abfragen (das ist so mega easy, danke Symfony!)
$shopwareShopSignature = $request->headers->get('shopware-shop-signature');
#################################################
# Letsencrypt für Apache auf einem Ubuntu Server einrichten
sudo apt install certbot python3-certbot-apache
sudo ufw status
sudo ufw allow 'Apache Full'
sudo ufw delete allow 'Apache'
sudo certbot --apache
-> domains auswählen die geschützt werden sollen
# Renewal sicherstellen
# ACHTUNG -> öffnet File in vim! :q
sudo systemctl status certbot.timer
# Testen
sudo certbot renew --dry-run
################################################
# MySQL
CREATE DATABASE databasename;
CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my-strong-password-here';
GRANT ALL PRIVILEGES ON databasename.* TO 'username'@'localhost' WITH GRANT OPTION;
################################################
# Shopware
# Theme kompilieren und Cache leeren.
bin/console theme:compile
bin/console cache:clear
# Javascript und ähnlichen Storefront Kram kompilieren
# Hier direkt mit bash, weil sh unter Umständen nicht funktioniert, wenn die falsche Shell dahinter steckt.
bash bin/build-storefront.sh
# App deinstallieren/installieren
sudo bin/console app:install --activate MeinTechnischerAppName
sudo bin/console app:uninstall MeinTechnischerAppName
################################################
# Arbeiten mit Archiven
# Einfaches Tar Verzeichnis erstellen.
tar -cvf archive.tar <source_file_directory>
# Einfaches Tar Verzeichnis entpacken.
# Entpackt die Dateien im aktuellen Ordner. Wenn das Archiv keinen direkten Unterordner enthält, wird auch keiner erstellt.
tar -xvf <tar_archive>
# Verzeichnis im Format tar.gz erzeugen.
tar -cvzf ants.tar.gz <source_file_directory>
# tar.gz Verzeichnis entpacken.
tar -xvzf <tar_gz_archive>
################################################
# htaccess
# Rewrite Engine einschalten
<IfModule mod_rewrite.c>
RewriteEngine On
</IfModule>
# Weiterleiten von www auf nicht www
RewriteCond %{HTTP_HOST} ^www\.domain\.tld$ [NC]
RewriteRule ^(.*)$ http://domain.tld/$1 [L,R=301]
# Weiterleiten von http auf https
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]