From 1a21398f29f2a72e5a5b3d81c282c4153601a35e Mon Sep 17 00:00:00 2001 From: Jelmer Date: Wed, 20 Oct 2021 12:26:26 +0200 Subject: [PATCH 1/4] Added guzzle to the project --- composer.json | 5 +- composer.lock | 532 +++++++++++++++++++++++++++++++++++++++++++++++++- symfony.lock | 21 ++ 3 files changed, 555 insertions(+), 3 deletions(-) diff --git a/composer.json b/composer.json index 7a2eb4e..fe2a4b6 100644 --- a/composer.json +++ b/composer.json @@ -4,10 +4,11 @@ "minimum-stability": "stable", "prefer-stable": true, "require": { - "php": ">=8.0", + "php": "^8.0", "ext-ctype": "*", "ext-curl": "*", "ext-iconv": "*", + "ext-json": "*", "ext-simplexml": "*", "api-platform/core": "^2.6", "composer/package-versions-deprecated": "1.11.99.4", @@ -16,6 +17,7 @@ "doctrine/doctrine-migrations-bundle": "^3.1", "doctrine/orm": "^2.10", "doctrine/sql-formatter": "^1.1", + "guzzlehttp/guzzle": "^7.4", "nelmio/cors-bundle": "^2.1", "phpdocumentor/reflection-docblock": "^5.2", "sensio/framework-extra-bundle": "^6.1", @@ -27,6 +29,7 @@ "symfony/form": "5.3.*", "symfony/framework-bundle": "5.3.*", "symfony/http-client": "5.3.*", + "symfony/http-foundation": "5.3.*", "symfony/intl": "5.3.*", "symfony/mailer": "5.3.*", "symfony/mime": "5.3.*", diff --git a/composer.lock b/composer.lock index 5922dc2..cc286e1 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b1a144082ff0a2053b20729b26b6c553", + "content-hash": "ceae5a1259b2a9036482ea9d28347d32", "packages": [ { "name": "api-platform/core", @@ -1816,6 +1816,329 @@ ], "time": "2021-05-22T16:11:15+00:00" }, + { + "name": "guzzlehttp/guzzle", + "version": "7.4.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/868b3571a039f0ebc11ac8f344f4080babe2cb94", + "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.5", + "guzzlehttp/psr7": "^1.8.3 || ^2.1", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "ext-curl": "*", + "php-http/client-integration-tests": "^3.0", + "phpunit/phpunit": "^8.5.5 || ^9.3.5", + "psr/log": "^1.1 || ^2.0 || ^3.0" + }, + "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.4.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2021-10-18T09:52:00+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "136a635e2b4a49b9d79e9c8fee267ffb257fdba0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/136a635e2b4a49b9d79e9c8fee267ffb257fdba0", + "reference": "136a635e2b4a49b9d79e9c8fee267ffb257fdba0", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "symfony/phpunit-bridge": "^4.4 || ^5.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/1.5.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2021-10-07T13:05:22+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72", + "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.8 || ^9.3.10" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.1.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2021-10-06T17:43:30+00:00" + }, { "name": "laminas/laminas-code", "version": "4.4.3", @@ -2349,6 +2672,166 @@ }, "time": "2019-01-08T18:20:26+00:00" }, + { + "name": "psr/http-client", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client/tree/master" + }, + "time": "2020-06-29T06:28:15+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/master" + }, + "time": "2019-04-30T12:38:16+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, + "time": "2016-08-06T14:39:51+00:00" + }, { "name": "psr/link", "version": "1.1.1", @@ -2452,6 +2935,50 @@ }, "time": "2021-07-14T16:41:46+00:00" }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, { "name": "sensio/framework-extra-bundle", "version": "v6.2.0", @@ -10270,10 +10797,11 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=8.0", + "php": "^8.0", "ext-ctype": "*", "ext-curl": "*", "ext-iconv": "*", + "ext-json": "*", "ext-simplexml": "*" }, "platform-dev": [], diff --git a/symfony.lock b/symfony.lock index 1d431d8..8527a91 100644 --- a/symfony.lock +++ b/symfony.lock @@ -105,6 +105,15 @@ "friendsofphp/proxy-manager-lts": { "version": "v1.0.5" }, + "guzzlehttp/guzzle": { + "version": "7.4.0" + }, + "guzzlehttp/promises": { + "version": "1.5.0" + }, + "guzzlehttp/psr7": { + "version": "2.1.0" + }, "laminas/laminas-code": { "version": "4.4.3" }, @@ -185,12 +194,24 @@ "psr/event-dispatcher": { "version": "1.0.0" }, + "psr/http-client": { + "version": "1.0.1" + }, + "psr/http-factory": { + "version": "1.0.1" + }, + "psr/http-message": { + "version": "1.0.1" + }, "psr/link": { "version": "1.1.1" }, "psr/log": { "version": "2.0.0" }, + "ralouphie/getallheaders": { + "version": "3.0.3" + }, "sebastian/cli-parser": { "version": "1.0.1" }, From 10ab24020c3bc5ea1a08b4ab735ab1afc6af5fcd Mon Sep 17 00:00:00 2001 From: Jelmer Date: Wed, 20 Oct 2021 12:27:50 +0200 Subject: [PATCH 2/4] Added the categories and the meals I added al the categories and subcategories and the meals. I also made them clickable --- src/Controller/MealController.php | 36 ++++++++------ src/Entity/MealMatcher.php | 11 +++-- src/Service/MealMatcherService.php | 70 ++++++++++++++++++++++++++++ templates/categories/index.html.twig | 38 +++++++++++++++ templates/meal/index.html.twig | 19 -------- templates/meals/index.html.twig | 32 +++++++++++++ 6 files changed, 169 insertions(+), 37 deletions(-) create mode 100644 src/Service/MealMatcherService.php create mode 100644 templates/categories/index.html.twig delete mode 100644 templates/meal/index.html.twig create mode 100644 templates/meals/index.html.twig diff --git a/src/Controller/MealController.php b/src/Controller/MealController.php index afd3c77..79b90f8 100644 --- a/src/Controller/MealController.php +++ b/src/Controller/MealController.php @@ -2,22 +2,32 @@ namespace App\Controller; -use App\Entity\MealMatcher; + +use App\Service\MealMatcherService; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; -use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; -use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; + + +class MealController extends AbstractController { + /** + * @throws \GuzzleHttp\Exception\GuzzleException + */ + #[Route('/', name: 'meal_categories')] + public function getMealCategories(MealMatcherService $mealMatcherService): Response + { + return $this->render('categories/index.html.twig', ['meals' => $mealMatcherService->getParentMealCategories()]); + } -class MealController extends AbstractController -{ - #[Route('/', name: 'meal')] - public function index(Request $request): Response { - //get everything from mealMatcher - $mealMatcher = $this->getDoctrine()->getRepository(MealMatcher::class)->findAll(); - return $this->json($mealMatcher); + #[Route('/{parentId}', name: 'meal_categories_for_parent')] + public function getCategoriesForParent(int $parentId, MealMatcherService $mealMatcherService) + { + return $this->render('categories/index.html.twig', ['meals' => $mealMatcherService->getCategoriesForParent($parentId)]); } - public function create(Request $request): Response { - return $this->json(''); + #[Route('/meals/{categoryId}', name: 'meals_for_category')] + public function getMealsForCategory(int $categoryId, MealMatcherService $mealMatcherService) + { + return $this->render('meals/index.html.twig', ['meals' => $mealMatcherService->getMealsForCategory($categoryId)]); } -} +} \ No newline at end of file diff --git a/src/Entity/MealMatcher.php b/src/Entity/MealMatcher.php index fba63b9..6dd8bd8 100644 --- a/src/Entity/MealMatcher.php +++ b/src/Entity/MealMatcher.php @@ -2,23 +2,23 @@ namespace App\Entity; + +use ApiPlatform\Core\Annotation\ApiResource; use App\Repository\MealMatcherRepository; use Doctrine\ORM\Mapping as ORM; -use ApiPlatform\Core\Annotation\ApiResource; /** * @ORM\Entity(repositoryClass=MealMatcherRepository::class) */ -#[ApiResource(iri: 'https://mealmatcher.grandcruwijnen.nl/api/meal_categories')] -class MealMatcher -{ +# +class MealMatcher { /** * @ORM\Id * @ORM\GeneratedValue * @ORM\Column(type="integer") */ - private $id; + private $id; /** * @ORM\Column(type="string", length=255) */ @@ -29,6 +29,7 @@ class MealMatcher */ private $image; + public function getId(): ?int { return $this->id; diff --git a/src/Service/MealMatcherService.php b/src/Service/MealMatcherService.php new file mode 100644 index 0000000..ef33852 --- /dev/null +++ b/src/Service/MealMatcherService.php @@ -0,0 +1,70 @@ +client = new Client(['base_uri' => 'https://mealmatcher.grandcruwijnen.nl']); + } + + /** + * @throws \GuzzleHttp\Exception\GuzzleException + */ + public function getMealsCategories() + { + $response = $this->client->request('GET', '/api/meal_categories'); + + $categories = json_decode($response->getBody()->getContents()); + usort($categories, function ($categoryA, $categoryB) { + return strcmp($categoryA->name, $categoryB->name); + }); + + return $categories; + } + + public function getParentMealCategories() + { + $categories = $this->getMealsCategories(); + $parentCategories = []; + + foreach ($categories as $category) + { + if ($category->parent === null) + { + $parentCategories[] = $category; + } + } + + return $parentCategories; + } + + public function getCategoriesForParent(int $parentId) + { + $categories = $this->getMealsCategories(); + $childCategories = []; + + foreach ($categories as $category) + { + if ($category->parent !== null && $category->parent->categoryId === $parentId) + { + $childCategories[] = $category; + } + } + + return $childCategories; + } + + public function getMealsForCategory(int $categoryId) + { + $response = $this->client->request('GET', '/meals/category/'.$categoryId); + + $meals = json_decode($response->getBody()->getContents()); + return $meals; + } +} \ No newline at end of file diff --git a/templates/categories/index.html.twig b/templates/categories/index.html.twig new file mode 100644 index 0000000..571b0ee --- /dev/null +++ b/templates/categories/index.html.twig @@ -0,0 +1,38 @@ +{% extends 'base.html.twig' %} + +{% block title %}Hello MealController!{% endblock %} + +{% block body %} + + +
+

Welkom bij de online sommelier

+

Hier kunt u uw gerecht kiezen en dan worden er bijpassende wijnen gezocht.

+
+
+ {% for meal in meals %} + {% if meal.parent is null %} +

{{ meal.name }} +

+ {% else %} +

{{ meal.name }} +

+ {% endif %} + {% endfor %} +
+ +{% endblock %} + + diff --git a/templates/meal/index.html.twig b/templates/meal/index.html.twig deleted file mode 100644 index f5f657e..0000000 --- a/templates/meal/index.html.twig +++ /dev/null @@ -1,19 +0,0 @@ -{% extends 'base.html.twig' %} - -{% block title %}Hello MealController!{% endblock %} - -{% block body %} - - -
-

Welkom bij de online sommelier

-

Hier kunt u uw gerecht kiezen en dan worden er bijpassende wijnen gezocht.

- - -
-{% endblock %} - - diff --git a/templates/meals/index.html.twig b/templates/meals/index.html.twig new file mode 100644 index 0000000..e79b122 --- /dev/null +++ b/templates/meals/index.html.twig @@ -0,0 +1,32 @@ +{% extends 'base.html.twig' %} + +{% block title %}Hello MealController!{% endblock %} + +{% block body %} + +{#https://mealmatcher.grandcruwijnen.nl/meals/%7B12de8bb3-8ce2-43a9-8b09-d56161365ebc%7D#} +
+

Welkom bij de online sommelier

+

Hier kunt u uw gerecht kiezen en dan worden er bijpassende wijnen gezocht.

+
+ {% for meal in meals %} +

{{ meal.name }}

+ + {% endfor %} + + +{% endblock %} + + From f7c2b11380550dfe476add2b0fb069a60f43d644 Mon Sep 17 00:00:00 2001 From: Jelmer Date: Wed, 20 Oct 2021 12:27:54 +0200 Subject: [PATCH 3/4] Update Version20211018145712.php --- src/Migrations/Version20211018145712.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Migrations/Version20211018145712.php b/src/Migrations/Version20211018145712.php index bc32036..5883abf 100644 --- a/src/Migrations/Version20211018145712.php +++ b/src/Migrations/Version20211018145712.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace DoctrineMigrations; +namespace App\Migrations; use Doctrine\DBAL\Schema\Schema; use Doctrine\Migrations\AbstractMigration; From b03f971388024d2fad6d29b3046e186af0c8d92b Mon Sep 17 00:00:00 2001 From: Jelmer Date: Wed, 20 Oct 2021 12:28:10 +0200 Subject: [PATCH 4/4] Update .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index f1dc3f7..bdd17a2 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,5 @@ .idea ###< phpunit/phpunit ### Development +*.xml +*.iml