diff --git a/.env b/.env index 1f91972..001375a 100644 --- a/.env +++ b/.env @@ -27,6 +27,10 @@ APP_SECRET=86f8e46e16865da05c3cbe1137e8aa22 # IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml # # DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db" -# DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7" -DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=13&charset=utf8" + DATABASE_URL="mysql://root:@127.0.0.1:3306/symfony" +#DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=13&charset=utf8" ###< doctrine/doctrine-bundle ### + +###> nelmio/cors-bundle ### +CORS_ALLOW_ORIGIN='^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$' +###< nelmio/cors-bundle ### diff --git a/.gitignore b/.gitignore index e150686..f1dc3f7 100644 --- a/.gitignore +++ b/.gitignore @@ -14,8 +14,13 @@ /phpunit.xml ###< symfony/phpunit-bridge ### + #64 +.env +.idea +.DS_Store ###> phpunit/phpunit ### /phpunit.xml .phpunit.result.cache .idea ###< phpunit/phpunit ### +Development diff --git a/composer.json b/composer.json index e225b47..7a2eb4e 100644 --- a/composer.json +++ b/composer.json @@ -4,14 +4,19 @@ "minimum-stability": "stable", "prefer-stable": true, "require": { - "php": ">=7.2.5", + "php": ">=8.0", "ext-ctype": "*", + "ext-curl": "*", "ext-iconv": "*", + "ext-simplexml": "*", + "api-platform/core": "^2.6", "composer/package-versions-deprecated": "1.11.99.4", "doctrine/annotations": "^1.0", "doctrine/doctrine-bundle": "^2.4", "doctrine/doctrine-migrations-bundle": "^3.1", "doctrine/orm": "^2.10", + "doctrine/sql-formatter": "^1.1", + "nelmio/cors-bundle": "^2.1", "phpdocumentor/reflection-docblock": "^5.2", "sensio/framework-extra-bundle": "^6.1", "symfony/asset": "5.3.*", @@ -48,7 +53,7 @@ "symfony/browser-kit": "5.3.*", "symfony/css-selector": "5.3.*", "symfony/debug-bundle": "5.3.*", - "symfony/maker-bundle": "^1.0", + "symfony/maker-bundle": "^1.34", "symfony/phpunit-bridge": "^5.3", "symfony/stopwatch": "5.3.*", "symfony/web-profiler-bundle": "5.3.*" diff --git a/composer.lock b/composer.lock index 9a58f0a..5922dc2 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,168 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f48257025c1c89c47b3f6af7247b7beb", + "content-hash": "b1a144082ff0a2053b20729b26b6c553", "packages": [ + { + "name": "api-platform/core", + "version": "v2.6.6", + "source": { + "type": "git", + "url": "https://github.com/api-platform/core.git", + "reference": "25c71b216473844cdbe5bf284ccbeeb26acd76e7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/api-platform/core/zipball/25c71b216473844cdbe5bf284ccbeeb26acd76e7", + "reference": "25c71b216473844cdbe5bf284ccbeeb26acd76e7", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^1.0 || ^2.0", + "fig/link-util": "^1.0", + "php": ">=7.1", + "psr/cache": "^1.0 || ^2.0 || ^3.0", + "psr/container": "^1.0", + "symfony/http-foundation": "^4.4 || ^5.1", + "symfony/http-kernel": "^4.4 || ^5.1", + "symfony/property-access": "^3.4.19 || ^4.4 || ^5.1", + "symfony/property-info": "^3.4 || ^4.4 || ^5.2.1", + "symfony/serializer": "^4.4 || ^5.1", + "symfony/web-link": "^4.4 || ^5.1", + "willdurand/negotiation": "^2.0.3 || ^3.0" + }, + "conflict": { + "doctrine/common": "<2.7", + "doctrine/dbal": "<2.10", + "doctrine/mongodb-odm": "<2.2", + "doctrine/persistence": "<1.3" + }, + "require-dev": { + "behat/behat": "^3.1", + "behat/mink": "^1.7", + "doctrine/annotations": "^1.7", + "doctrine/cache": "^1.11", + "doctrine/common": "^2.11 || ^3.0", + "doctrine/data-fixtures": "^1.2.2", + "doctrine/doctrine-bundle": "^1.12 || ^2.0", + "doctrine/mongodb-odm": "^2.2", + "doctrine/mongodb-odm-bundle": "^4.0", + "doctrine/orm": "^2.6.4 || ^3.0", + "elasticsearch/elasticsearch": "^6.0 || ^7.0", + "friends-of-behat/mink-browserkit-driver": "^1.3.1", + "friends-of-behat/mink-extension": "^2.2", + "friends-of-behat/symfony-extension": "^2.1", + "guzzlehttp/guzzle": "^6.0 || ^7.0", + "jangregor/phpstan-prophecy": "^0.8", + "justinrainbow/json-schema": "^5.2.1", + "phpdocumentor/reflection-docblock": "^3.0 || ^4.0 || ^5.1", + "phpdocumentor/type-resolver": "^0.3 || ^0.4 || ^1.4", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.65", + "phpstan/phpstan-doctrine": "^0.12.7", + "phpstan/phpstan-phpunit": "^0.12.4", + "phpstan/phpstan-symfony": "^0.12.4", + "psr/log": "^1.0", + "ramsey/uuid": "^3.7 || ^4.0", + "ramsey/uuid-doctrine": "^1.4", + "soyuka/contexts": "^3.3.1", + "soyuka/stubs-mongodb": "^1.0", + "symfony/asset": "^3.4 || ^4.4 || ^5.1", + "symfony/browser-kit": "^4.4 || ^5.1", + "symfony/cache": "^3.4 || ^4.4 || ^5.1", + "symfony/config": "^3.4 || ^4.4 || ^5.1", + "symfony/console": "^3.4 || ^4.4 || ^5.1", + "symfony/css-selector": "^3.4 || ^4.4 || ^5.1", + "symfony/debug": "^3.4 || ^4.4 || ^5.1", + "symfony/dependency-injection": "^3.4 || ^4.4 || ^5.1", + "symfony/doctrine-bridge": "^3.4 || ^4.4 || ^5.1", + "symfony/dom-crawler": "^3.4 || ^4.4 || ^5.1", + "symfony/event-dispatcher": "^3.4 || ^4.4 || ^5.1", + "symfony/expression-language": "^3.4 || ^4.4 || ^5.1", + "symfony/finder": "^3.4 || ^4.4 || ^5.1", + "symfony/form": "^3.4 || ^4.4 || ^5.1", + "symfony/framework-bundle": "^4.4 || ^5.1", + "symfony/http-client": "^4.4 || ^5.1", + "symfony/mercure-bundle": "*", + "symfony/messenger": "^4.4 || ^5.1", + "symfony/phpunit-bridge": "^5.1.7", + "symfony/routing": "^3.4 || ^4.4 || ^5.1", + "symfony/security-bundle": "^3.4 || ^4.4 || ^5.1", + "symfony/security-core": "^4.4 || ^5.1", + "symfony/twig-bundle": "^3.4 || ^4.4 || ^5.1", + "symfony/validator": "^3.4 || ^4.4 || ^5.1", + "symfony/web-profiler-bundle": "^4.4 || ^5.1", + "symfony/yaml": "^3.4 || ^4.4 || ^5.1", + "twig/twig": "^1.42.3 || ^2.12 || ^3.0", + "webonyx/graphql-php": "^14.0" + }, + "suggest": { + "doctrine/mongodb-odm-bundle": "To support MongoDB. Only versions 4.0 and later are supported.", + "elasticsearch/elasticsearch": "To support Elasticsearch.", + "guzzlehttp/guzzle": "To use the HTTP cache invalidation system.", + "ocramius/package-versions": "To display the API Platform's version in the debug bar.", + "phpdocumentor/reflection-docblock": "To support extracting metadata from PHPDoc.", + "psr/cache-implementation": "To use metadata caching.", + "ramsey/uuid": "To support Ramsey's UUID identifiers.", + "symfony/cache": "To have metadata caching when using Symfony integration.", + "symfony/config": "To load XML configuration files.", + "symfony/expression-language": "To use authorization features.", + "symfony/security": "To use authorization features.", + "symfony/twig-bundle": "To use the Swagger UI integration.", + "symfony/uid": "To support Symfony UUID/ULID identifiers.", + "symfony/web-profiler-bundle": "To use the data collector.", + "webonyx/graphql-php": "To support GraphQL." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.7.x-dev" + }, + "symfony": { + "require": "^3.4 || ^4.4 || ^5.1" + } + }, + "autoload": { + "psr-4": { + "ApiPlatform\\Core\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kévin Dunglas", + "email": "kevin@dunglas.fr", + "homepage": "https://dunglas.fr" + } + ], + "description": "Build a fully-featured hypermedia or GraphQL API in minutes!", + "homepage": "https://api-platform.com", + "keywords": [ + "Hydra", + "JSON-LD", + "api", + "graphql", + "hal", + "jsonapi", + "openapi", + "rest", + "swagger" + ], + "support": { + "issues": "https://github.com/api-platform/core/issues", + "source": "https://github.com/api-platform/core/tree/v2.6.6" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/api-platform/core", + "type": "tidelift" + } + ], + "time": "2021-09-29T19:11:04+00:00" + }, { "name": "composer/package-versions-deprecated", "version": "1.11.99.4", @@ -321,16 +481,16 @@ }, { "name": "doctrine/common", - "version": "3.1.2", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "a036d90c303f3163b5be8b8fde9b6755b2be4a3a" + "reference": "6d970a11479275300b5144e9373ce5feacfa9b91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/a036d90c303f3163b5be8b8fde9b6755b2be4a3a", - "reference": "a036d90c303f3163b5be8b8fde9b6755b2be4a3a", + "url": "https://api.github.com/repos/doctrine/common/zipball/6d970a11479275300b5144e9373ce5feacfa9b91", + "reference": "6d970a11479275300b5144e9373ce5feacfa9b91", "shasum": "" }, "require": { @@ -391,7 +551,7 @@ ], "support": { "issues": "https://github.com/doctrine/common/issues", - "source": "https://github.com/doctrine/common/tree/3.1.2" + "source": "https://github.com/doctrine/common/tree/3.2.0" }, "funding": [ { @@ -407,7 +567,7 @@ "type": "tidelift" } ], - "time": "2021-02-10T20:18:51+00:00" + "time": "2021-10-19T06:47:22+00:00" }, { "name": "doctrine/dbal", @@ -1513,6 +1673,67 @@ ], "time": "2021-10-11T09:18:27+00:00" }, + { + "name": "fig/link-util", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/link-util.git", + "reference": "10e52348a2e9ad4581f2bf3e16458f0861a88c6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/link-util/zipball/10e52348a2e9ad4581f2bf3e16458f0861a88c6a", + "reference": "10e52348a2e9ad4581f2bf3e16458f0861a88c6a", + "shasum": "" + }, + "require": { + "php": ">=8.0.0", + "psr/link": "^1.1.0 | ^2.0.0" + }, + "provide": { + "psr/link-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^2.3.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Fig\\Link\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common utility implementations for HTTP links", + "keywords": [ + "http", + "http-link", + "link", + "psr", + "psr-13", + "rest" + ], + "support": { + "issues": "https://github.com/php-fig/link-util/issues", + "source": "https://github.com/php-fig/link-util/tree/1.2.0" + }, + "time": "2021-03-11T23:09:19+00:00" + }, { "name": "friendsofphp/proxy-manager-lts", "version": "v1.0.5", @@ -1761,6 +1982,67 @@ ], "time": "2021-10-01T21:08:31+00:00" }, + { + "name": "nelmio/cors-bundle", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/nelmio/NelmioCorsBundle.git", + "reference": "0b964b665016dfb61dd0fd2bb8c24afb1ae45a93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nelmio/NelmioCorsBundle/zipball/0b964b665016dfb61dd0fd2bb8c24afb1ae45a93", + "reference": "0b964b665016dfb61dd0fd2bb8c24afb1ae45a93", + "shasum": "" + }, + "require": { + "symfony/framework-bundle": "^4.3 || ^5.0" + }, + "require-dev": { + "mockery/mockery": "^1.2", + "symfony/phpunit-bridge": "^4.3 || ^5.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Nelmio\\CorsBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nelmio", + "homepage": "http://nelm.io" + }, + { + "name": "Symfony Community", + "homepage": "https://github.com/nelmio/NelmioCorsBundle/contributors" + } + ], + "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Symfony application", + "keywords": [ + "api", + "cors", + "crossdomain" + ], + "support": { + "issues": "https://github.com/nelmio/NelmioCorsBundle/issues", + "source": "https://github.com/nelmio/NelmioCorsBundle/tree/2.1.1" + }, + "time": "2021-04-20T08:27:05+00:00" + }, { "name": "phpdocumentor/reflection-common", "version": "2.2.0", @@ -7652,6 +7934,62 @@ "source": "https://github.com/webmozarts/assert/tree/1.10.0" }, "time": "2021-03-09T10:59:23+00:00" + }, + { + "name": "willdurand/negotiation", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/willdurand/Negotiation.git", + "reference": "04e14f38d4edfcc974114a07d2777d90c98f3d9c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/willdurand/Negotiation/zipball/04e14f38d4edfcc974114a07d2777d90c98f3d9c", + "reference": "04e14f38d4edfcc974114a07d2777d90c98f3d9c", + "shasum": "" + }, + "require": { + "php": ">=7.1.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Negotiation\\": "src/Negotiation" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "William Durand", + "email": "will+git@drnd.me" + } + ], + "description": "Content Negotiation tools for PHP provided as a standalone library.", + "homepage": "http://williamdurand.fr/Negotiation/", + "keywords": [ + "accept", + "content", + "format", + "header", + "negotiation" + ], + "support": { + "issues": "https://github.com/willdurand/Negotiation/issues", + "source": "https://github.com/willdurand/Negotiation/tree/3.0.0" + }, + "time": "2020-09-25T08:01:41+00:00" } ], "packages-dev": [ @@ -9932,9 +10270,11 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=7.2.5", + "php": ">=8.0", "ext-ctype": "*", - "ext-iconv": "*" + "ext-curl": "*", + "ext-iconv": "*", + "ext-simplexml": "*" }, "platform-dev": [], "plugin-api-version": "2.1.0" diff --git a/composer.phar b/composer.phar new file mode 100755 index 0000000..0e7ab82 Binary files /dev/null and b/composer.phar differ diff --git a/config/bundles.php b/config/bundles.php index cd98906..62d70a5 100644 --- a/config/bundles.php +++ b/config/bundles.php @@ -9,7 +9,9 @@ Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true], Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], - Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true], Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true], + Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], + Nelmio\CorsBundle\NelmioCorsBundle::class => ['all' => true], + ApiPlatform\Core\Bridge\Symfony\Bundle\ApiPlatformBundle::class => ['all' => true], ]; diff --git a/config/doctrine_migrations.yaml b/config/doctrine_migrations.yaml new file mode 100644 index 0000000..6e90b5e --- /dev/null +++ b/config/doctrine_migrations.yaml @@ -0,0 +1,6 @@ +doctrine_migrations: + migrations_paths: + # namespace is arbitrary but should be different from App\Migrations + # as migrations classes should NOT be autoloaded + 'DoctrineMigrations': '%kernel.project_dir%/src/Migrations' + enable_profiler: '%kernel.debug%' \ No newline at end of file diff --git a/config/packages/api_platform.yaml b/config/packages/api_platform.yaml new file mode 100644 index 0000000..2eb7b4c --- /dev/null +++ b/config/packages/api_platform.yaml @@ -0,0 +1,7 @@ +api_platform: + mapping: + paths: ['%kernel.project_dir%/src/Entity'] + patch_formats: + json: ['application/merge-patch+json'] + swagger: + versions: [3] diff --git a/config/packages/doctrine_migrations.yaml b/config/packages/doctrine_migrations.yaml index a0a17a0..00d3a36 100644 --- a/config/packages/doctrine_migrations.yaml +++ b/config/packages/doctrine_migrations.yaml @@ -1,6 +1,6 @@ doctrine_migrations: - migrations_paths: - # namespace is arbitrary but should be different from App\Migrations - # as migrations classes should NOT be autoloaded - 'DoctrineMigrations': '%kernel.project_dir%/migrations' - enable_profiler: '%kernel.debug%' + migrations_paths: + # namespace is arbitrary but should be different from App\Migrations + # as migrations classes should NOT be autoloaded + 'DoctrineMigrations': '%kernel.project_dir%/src/Migrations' + enable_profiler: '%kernel.debug%' \ No newline at end of file diff --git a/config/packages/nelmio_cors.yaml b/config/packages/nelmio_cors.yaml new file mode 100644 index 0000000..c766508 --- /dev/null +++ b/config/packages/nelmio_cors.yaml @@ -0,0 +1,10 @@ +nelmio_cors: + defaults: + origin_regex: true + allow_origin: ['%env(CORS_ALLOW_ORIGIN)%'] + allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE'] + allow_headers: ['Content-Type', 'Authorization'] + expose_headers: ['Link'] + max_age: 3600 + paths: + '^/': null diff --git a/config/routes/api_platform.yaml b/config/routes/api_platform.yaml new file mode 100644 index 0000000..38f11cb --- /dev/null +++ b/config/routes/api_platform.yaml @@ -0,0 +1,4 @@ +api_platform: + resource: . + type: api_platform + prefix: /api diff --git a/src/Controller/MealController.php b/src/Controller/MealController.php new file mode 100644 index 0000000..2df24c1 --- /dev/null +++ b/src/Controller/MealController.php @@ -0,0 +1,18 @@ +render('meal/index.html.twig', [ + 'controller_name' => 'MealController', + ]); + } +} diff --git a/src/Entity/MealMatcher.php b/src/Entity/MealMatcher.php new file mode 100644 index 0000000..97da228 --- /dev/null +++ b/src/Entity/MealMatcher.php @@ -0,0 +1,58 @@ +id; + } + + public function getName(): ?string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->name = $name; + + return $this; + } + + public function getImage(): ?string + { + return $this->image; + } + + public function setImage(string $image): self + { + $this->image = $image; + + return $this; + } +} diff --git a/src/Migrations/Version20211018145712.php b/src/Migrations/Version20211018145712.php new file mode 100644 index 0000000..bc32036 --- /dev/null +++ b/src/Migrations/Version20211018145712.php @@ -0,0 +1,31 @@ +addSql('CREATE TABLE meal_matcher (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, image VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('DROP TABLE meal_matcher'); + } +} diff --git a/src/Repository/MealMatcherRepository.php b/src/Repository/MealMatcherRepository.php new file mode 100644 index 0000000..f43c7a7 --- /dev/null +++ b/src/Repository/MealMatcherRepository.php @@ -0,0 +1,50 @@ +createQueryBuilder('m') + ->andWhere('m.exampleField = :val') + ->setParameter('val', $value) + ->orderBy('m.id', 'ASC') + ->setMaxResults(10) + ->getQuery() + ->getResult() + ; + } + */ + + /* + public function findOneBySomeField($value): ?MealMatcher + { + return $this->createQueryBuilder('m') + ->andWhere('m.exampleField = :val') + ->setParameter('val', $value) + ->getQuery() + ->getOneOrNullResult() + ; + } + */ +} diff --git a/symfony.lock b/symfony.lock index 7655539..1d431d8 100644 --- a/symfony.lock +++ b/symfony.lock @@ -1,4 +1,18 @@ { + "api-platform/core": { + "version": "2.6", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "2.5", + "ref": "05b57782a78c21a664a42055dc11cf1954ca36bb" + }, + "files": [ + "config/routes/api_platform.yaml", + "config/packages/api_platform.yaml", + "src/Entity/.gitignore" + ] + }, "composer/package-versions-deprecated": { "version": "1.11.99.4" }, @@ -85,6 +99,9 @@ "egulias/email-validator": { "version": "3.1.2" }, + "fig/link-util": { + "version": "1.2.0" + }, "friendsofphp/proxy-manager-lts": { "version": "v1.0.5" }, @@ -97,6 +114,18 @@ "myclabs/deep-copy": { "version": "1.10.2" }, + "nelmio/cors-bundle": { + "version": "2.1", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "1.5", + "ref": "6bea22e6c564fba3a1391615cada1437d0bde39c" + }, + "files": [ + "config/packages/nelmio_cors.yaml" + ] + }, "nikic/php-parser": { "version": "v4.13.0" }, @@ -591,5 +620,8 @@ }, "webmozart/assert": { "version": "1.10.0" + }, + "willdurand/negotiation": { + "version": "3.0.0" } } diff --git a/templates/meal/index.html.twig b/templates/meal/index.html.twig new file mode 100644 index 0000000..f5f657e --- /dev/null +++ b/templates/meal/index.html.twig @@ -0,0 +1,19 @@ +{% extends 'base.html.twig' %} + +{% block title %}Hello MealController!{% endblock %} + +{% block body %} + + +
Hier kunt u uw gerecht kiezen en dan worden er bijpassende wijnen gezocht.
+ + +