matsen-tool-be
Installation:
gehe ins root Verzeichnis des Projekts und für aus: ddev config
gehe den Installationsprozess durch
starte danach ddev mit: ddev start
projekt installieren: ddev composer install
Troubleshooting:
Unable to listen on required ports, port 443 is already in use
-> setze andere Ports in .ddev/config.yaml z.B.
router_http_port: 8080
router_https_port: 8443
- https://stackoverflow.com/questions/76507208/symfony-6-3-migration-causes-problems-with-stateless-authenticators-forcing-requ
PHPMyAdmin installieren:
ddev get ddev/ddev-phpmyadmin
ddev restart
Symfony Konsolenbefehle mit Ddev ausführen, z.B.:
ddev exec php bin/console make:migration
Ddev Commands:
ddev describe - zeigt Urls und installierte Komponenten
Symfony:
User with Maker Bundle:
- https://symfonycasts.com/screencast/api-platform/user-entity
ddev composer require maker-bundle --dev
ddev exec bin/console make:user -> erstellt user entity und schreibt in die security.yaml
Entity erzeugen oder erweitern:
ddev exec bin/console make:entity
Foundry fixtures:
ddev exec composer require foundry orm-fixtures --dev
ddev exec bin/console make:factory
ddev exec bin/console doctrine:fixtures:load
Doctrine:
ddev exec bin/console doctrine:database:drop --force
ddev exec bin/console doctrine:database:create
ddev exec bin/console make:migration
ddev exec bin/console doctrine:migration:migrate
Profiler
ddev composer require debug
Php Unit
- https://symfony.com/doc/current/testing.html#configuring-a-database-for-tests
Setup:
# .env.test.local -> "mysql://root:root@db:3306/db?serverVersion=10.4.30-MariaDB-1:10.4.30+maria~ubu2004-log - mariadb.org binary distribution"
-> this creates a db named db_test (it takes the name of the main database "db" and adds "_test" to its name)
# Create db and create schema
php bin/console --env=test doctrine:database:create
php bin/console --env=test doctrine:schema:create
- https://symfonycasts.com/screencast/api-platform-security/test-setup
ddev composer require test -> testpack incl. phpunit
ddev composer require zenstruck/browser --dev -> browser test package to imporve testing
-> add extension to phpunit.xml.dist
<extensions>
<extension class="Zenstruck\Browser\Test\BrowserExtension" />
</extensions>
ddev exec php bin/phpunit --filter=testPostToCreateNewUserPost
ddev composer require --dev mtdowling/jmespath.php
Api Platform
- https://api-platform.com/docs/core/dto/
- https://api-platform.com/docs/distribution/
- https://api-platform.com/docs/core/extending/
ddev exec bin/console api:openapi:export --yaml
-> export OpenApi spec