Kategorie: Symfony
-
Symfony Service ID dynamisch konfigurieren mittels Parameter
Wenn man gern in seiner Depnedency Injection Kofiguration (services.yml) die Service Injektionen dynamisch konfigurierbar machen will über die parameters.yml, parameters: my_class: ‚App\MyClass‘ kann man dies mittels der Symfony Expression Language Komponente tun: composer require symfony/expression-language Dann kann man in der services.yml definieren: services: App\Command\MyCommand: arguments: – ‚@=service(parameter(„my_class“))‘
-
Yii2 versus Symfony 4 – ein Framework Vergleich
Ich habe lange mit Yii und dem Symfony Framework gearbeitet und will versuchen im Folgenden die Unterschiede von beiden Frameworks aus Programmierer Sicht zu erläutern. Konfiguration von Umgebungen Beim Erstellen von Web-Anwendungen hat man typischer Weise mindestens 2 Umgebungen: Die Entwicklungsumgebung, auf der man Fehler sehen will und die Live Umgebung, wo dies nicht passieren…
-
Twig Extension zum Sortieren von Entitäten per Datetime Property
Wenn man im Template eine Doctrine Collection sortieren will nach einem Zeitstempel (createdAt in dem Beispiel), sollte man dies eigentlich vorher machen. Wenn dies nicht möglich ist, z.B. im Sonata Admin Bundle, dann kann man diese Twig Extension verwenden: {% foo| sortByCreatedAt(‚asc‘) %} Twig Extension Code: <?php namespace App\Twig; use App\Entity\Tag; use Doctrine\ORM\PersistentCollection; use Twig\Extension\AbstractExtension;…
-
Strato und MySQL: General error: 1709 Index column size too large. The maximum column size is 767 bytes.
Bei einem Kunden wurde mir folgende Fehlermeldung angezeigt, wenn ich versucht habe über Symfony die Datenbank erstellen zu lassen: General error: 1709 Index column size too large. The maximum column size is 767 bytes. Dies liegt daran, das Strato so komische Einstellung bei ihren Managed Hosting Packete wie z.B. das STRATO PowerWeb hat. Strato wird…
-
Symfony Security Passwörter hashen mit dem PasswordEncoder
Der PasswordEncoder des Symfony Frameworks ist sehr gut geeignet auch in Zukunft sichere Hashes von Passwörtern in der Datenbank zu speichern und zentral zu konfigurieren. Das SecurityBundle muss ggf. nachinstalliert werden: composer require symfony/security-bundle Man legt dazu in der security.yaml fest, welchen Hashing Algorithmus man verwenden will für welche Entität: security: encoders: App\Entity\User: bcrypt Die…
-
Symfony 3 Test-Datenbank einrichten für Integration Tests
In Symofny wird automatisch beim Ausführen von Tests die app/config/parameters_test.yml geladen. Dort sollte dann eine andere Datenbank angegeben werden, der Einfachheit halber mit demselben Datenbank User: database_host: same_as_dev database_port: same_as_dev database_name: test_db database_user: same_as_dev database_password: same_as_dev Dann müssen auf der Konsole folgende Befehle ausgeführt werden: Cache leeren: php bin/console cache:clear –env=test Datenbank erstellen php bin/console…
-
Syfmony 3.3. – Wie man ein Repository als Service injeziert mittels Dependency Injection
In Symfony 3 wird standardmäßig immer der EntityManager injected, um dann darüber das entsprechende Repository zur Verfügung zu bekommen. Meistens wird aber nur genau ein Repository benötigt und der Code und die Tests werden aufgebläht. Es gibt eine einfach Möglichkeit in der Configuration einen Service von einem Respository zu erstellen: service.repository.name: class: ‚AppBundle\Repository\MyEntity‘ factory: ‚Doctrine\ORM\EntityManagerInterface:getRepository’…
-
Projekt: baby-taschenrechner.de
Das gerade fertiggestellt Projekt baby-taschenrechner.de beschäftigt sich mit den Fragestellungen rund um die Entwicklung des eigenen Kindes: Wie groß wird mein Kind werden in x-Jahren Wie schwer wird mein Kind in x-Jahren Ist mein Kind zu schwer/zu dünn Welche Kleidergröße wird es wann tragen? Die Webseite soll Eltern dabei helfen herauszufinden, wann sie welche Kleidergröße…
-
Amazon automatische Preisanpassung Tool
Für einen Kunden habe ich gerade ein Tool entwickelt, mit dem man die Preise der eigenen Waren bei Amazon automatisch anpassen kann.Dabei werden die Angote der Konkurrenz analysiert nach Zustand der Ware und nach Seller Seriösität und dadurch ein fairer Preis bestimmt für die Ware. Es werden alle Daten, die über die API verfügbar sind…
-
Docker PHP7 und Symfony3 Image mit MySQL und phpMyAdmin
Für die lokale Entwicklung mit Symfony3 und PHP7 habe ich mir das folgende Docker Image zusammengebaut, welches die folgenden Features beinhaltet: PHP 7 latest Symfony 2 und 3 kompatibel MySQL 5.7 phpMyAdmin 4.5