From 7880e381e3c02a151e82b3723cbd3a9de1358708 Mon Sep 17 00:00:00 2001 From: charleschopin Date: Sat, 28 Sep 2019 11:20:53 +0200 Subject: [PATCH 01/17] switch project to symfony --- .env | 43 +- .env.docker | 8 + .env.test | 5 + .gitignore | 24 +- ajax.php | 81 - bin/console | 42 + bin/phpunit | 13 + composer.json | 83 + composer.lock | 6626 +++++++++++++++++ config/bootstrap.php | 23 + config/bundles.php | 17 + config/packages/cache.yaml | 19 + config/packages/dev/debug.yaml | 4 + config/packages/dev/easy_log_handler.yaml | 16 + config/packages/dev/monolog.yaml | 19 + config/packages/dev/routing.yaml | 3 + config/packages/dev/swiftmailer.yaml | 4 + config/packages/dev/web_profiler.yaml | 6 + config/packages/doctrine.yaml | 22 + config/packages/doctrine_migrations.yaml | 5 + config/packages/framework.yaml | 16 + config/packages/prod/doctrine.yaml | 32 + config/packages/prod/monolog.yaml | 23 + config/packages/routing.yaml | 4 + config/packages/security.yaml | 22 + config/packages/sensio_framework_extra.yaml | 3 + config/packages/swiftmailer.yaml | 3 + config/packages/test/framework.yaml | 4 + config/packages/test/monolog.yaml | 7 + config/packages/test/routing.yaml | 3 + config/packages/test/swiftmailer.yaml | 2 + config/packages/test/validator.yaml | 3 + config/packages/test/web_profiler.yaml | 6 + config/packages/translation.yaml | 6 + config/packages/twig.yaml | 4 + config/packages/validator.yaml | 8 + config/routes.yaml | 12 + config/routes/annotations.yaml | 3 + config/routes/dev/twig.yaml | 3 + config/routes/dev/web_profiler.yaml | 7 + config/services.yaml | 27 + jeu.php | 35 - phpunit.xml.dist | 33 + {image => public/assets/css}/style.css | 0 {image => public/assets/image}/bB.png | Bin {image => public/assets/image}/bN.png | Bin {image => public/assets/image}/bQ.png | Bin {image => public/assets/image}/bT.png | Bin {image => public/assets/image}/nK.png | Bin {image => public/assets/image}/nP.png | Bin {image => public/assets/image}/wB.png | Bin {image => public/assets/image}/wK.png | Bin {image => public/assets/image}/wN.png | Bin {image => public/assets/image}/wP.png | Bin {image => public/assets/image}/wQ.png | Bin {image => public/assets/image}/wT.png | Bin {js => public/assets/js}/draw_board.js | 35 +- public/index.php | 27 + src/Controller/.gitignore | 0 src/Controller/ChessController.php | 87 + src/Controller/HomeController.php | 27 + src/Entity/.gitignore | 0 .../Entity/Chess/ChessBoard.php | 11 + .../Entity/Chess/Pieces/Bishop.php | 23 +- King.php => src/Entity/Chess/Pieces/King.php | 11 +- .../Entity/Chess/Pieces/Knight.php | 21 +- None.php => src/Entity/Chess/Pieces/None.php | 18 +- Pawn.php => src/Entity/Chess/Pieces/Pawn.php | 34 +- .../Entity/Chess/Pieces/Piece.php | 14 +- .../Entity/Chess/Pieces/Queen.php | 27 +- .../Entity/Chess/Pieces/Tower.php | 28 +- src/Kernel.php | 53 + src/Migrations/.gitignore | 0 src/Repository/.gitignore | 0 symfony.lock | 517 ++ templates/chess/game/jeu.php | 20 + index.php => templates/chess/home/index.php | 4 +- tests/.gitignore | 0 translations/.gitignore | 0 79 files changed, 8070 insertions(+), 216 deletions(-) create mode 100644 .env.docker create mode 100644 .env.test delete mode 100644 ajax.php create mode 100755 bin/console create mode 100755 bin/phpunit create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 config/bootstrap.php create mode 100644 config/bundles.php create mode 100644 config/packages/cache.yaml create mode 100644 config/packages/dev/debug.yaml create mode 100644 config/packages/dev/easy_log_handler.yaml create mode 100644 config/packages/dev/monolog.yaml create mode 100644 config/packages/dev/routing.yaml create mode 100644 config/packages/dev/swiftmailer.yaml create mode 100644 config/packages/dev/web_profiler.yaml create mode 100644 config/packages/doctrine.yaml create mode 100644 config/packages/doctrine_migrations.yaml create mode 100644 config/packages/framework.yaml create mode 100644 config/packages/prod/doctrine.yaml create mode 100644 config/packages/prod/monolog.yaml create mode 100644 config/packages/routing.yaml create mode 100644 config/packages/security.yaml create mode 100644 config/packages/sensio_framework_extra.yaml create mode 100644 config/packages/swiftmailer.yaml create mode 100644 config/packages/test/framework.yaml create mode 100644 config/packages/test/monolog.yaml create mode 100644 config/packages/test/routing.yaml create mode 100644 config/packages/test/swiftmailer.yaml create mode 100644 config/packages/test/validator.yaml create mode 100644 config/packages/test/web_profiler.yaml create mode 100644 config/packages/translation.yaml create mode 100644 config/packages/twig.yaml create mode 100644 config/packages/validator.yaml create mode 100644 config/routes.yaml create mode 100644 config/routes/annotations.yaml create mode 100644 config/routes/dev/twig.yaml create mode 100644 config/routes/dev/web_profiler.yaml create mode 100644 config/services.yaml delete mode 100644 jeu.php create mode 100644 phpunit.xml.dist rename {image => public/assets/css}/style.css (100%) rename {image => public/assets/image}/bB.png (100%) rename {image => public/assets/image}/bN.png (100%) rename {image => public/assets/image}/bQ.png (100%) rename {image => public/assets/image}/bT.png (100%) rename {image => public/assets/image}/nK.png (100%) rename {image => public/assets/image}/nP.png (100%) rename {image => public/assets/image}/wB.png (100%) rename {image => public/assets/image}/wK.png (100%) rename {image => public/assets/image}/wN.png (100%) rename {image => public/assets/image}/wP.png (100%) rename {image => public/assets/image}/wQ.png (100%) rename {image => public/assets/image}/wT.png (100%) rename {js => public/assets/js}/draw_board.js (94%) create mode 100644 public/index.php create mode 100644 src/Controller/.gitignore create mode 100644 src/Controller/ChessController.php create mode 100644 src/Controller/HomeController.php create mode 100644 src/Entity/.gitignore rename ChessBoard.php => src/Entity/Chess/ChessBoard.php (95%) rename Bishop.php => src/Entity/Chess/Pieces/Bishop.php (88%) rename King.php => src/Entity/Chess/Pieces/King.php (88%) rename Knight.php => src/Entity/Chess/Pieces/Knight.php (90%) rename None.php => src/Entity/Chess/Pieces/None.php (73%) rename Pawn.php => src/Entity/Chess/Pieces/Pawn.php (93%) rename Piece.php => src/Entity/Chess/Pieces/Piece.php (56%) rename Queen.php => src/Entity/Chess/Pieces/Queen.php (88%) rename Tower.php => src/Entity/Chess/Pieces/Tower.php (75%) create mode 100644 src/Kernel.php create mode 100644 src/Migrations/.gitignore create mode 100644 src/Repository/.gitignore create mode 100644 symfony.lock create mode 100644 templates/chess/game/jeu.php rename index.php => templates/chess/home/index.php (71%) create mode 100644 tests/.gitignore create mode 100644 translations/.gitignore diff --git a/.env b/.env index f6dee7a..562584f 100644 --- a/.env +++ b/.env @@ -1,8 +1,35 @@ -COMPOSE_PROJECT_NAME=chess -APP_DOMAIN=chess.docker.localhost -DATABASE_HOST=mysql -DATABASE_PORT=3306 -DATABASE_NAME=chess -DATABASE_USER=chessguy -DATABASE_PASSWORD=Awes0meP4A55W0rd -DATABASE_ROOT_PASSWORD=admin \ No newline at end of file +# In all environments, the following files are loaded if they exist, +# the later taking precedence over the former: +# +# * .env contains default values for the environment variables needed by the app +# * .env.local uncommitted file with local overrides +# * .env.$APP_ENV committed environment-specific defaults +# * .env.$APP_ENV.local uncommitted environment-specific overrides +# +# Real environment variables win over .env files. +# +# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES. +# +# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2). +# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration + +###> symfony/framework-bundle ### +APP_ENV=dev +APP_SECRET=7999e56579868c9867c8418da37e2160 +#TRUSTED_PROXIES=127.0.0.1,127.0.0.2 +#TRUSTED_HOSTS='^localhost|example\.com$' +###< symfony/framework-bundle ### + +###> doctrine/doctrine-bundle ### +# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url +# For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db" +# Configure your db driver and server_version in config/packages/doctrine.yaml +DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name +###< doctrine/doctrine-bundle ### + +###> symfony/swiftmailer-bundle ### +# For Gmail as a transport, use: "gmail://username:password@localhost" +# For a generic SMTP server, use: "smtp://localhost:25?encryption=&auth_mode=" +# Delivery is disabled by default via "null://localhost" +MAILER_URL=null://localhost +###< symfony/swiftmailer-bundle ### diff --git a/.env.docker b/.env.docker new file mode 100644 index 0000000..f6dee7a --- /dev/null +++ b/.env.docker @@ -0,0 +1,8 @@ +COMPOSE_PROJECT_NAME=chess +APP_DOMAIN=chess.docker.localhost +DATABASE_HOST=mysql +DATABASE_PORT=3306 +DATABASE_NAME=chess +DATABASE_USER=chessguy +DATABASE_PASSWORD=Awes0meP4A55W0rd +DATABASE_ROOT_PASSWORD=admin \ No newline at end of file diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..d048686 --- /dev/null +++ b/.env.test @@ -0,0 +1,5 @@ +# define your env variables for the test env here +KERNEL_CLASS='App\Kernel' +APP_SECRET='$ecretf0rt3st' +SYMFONY_DEPRECATIONS_HELPER=999999 +PANTHER_APP_ENV=panther diff --git a/.gitignore b/.gitignore index 08362c3..7fc2a80 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,26 @@ # Created by .ignore support plugin (hsz.mobi) ### Example user template template ### Example user template - -# IntelliJ project files -.idea *.iml out gen -.infra/docker/nginx/default.conf \ No newline at end of file +.infra/docker/nginx/default.conf + +###> symfony/framework-bundle ### +/.env.local +/.env.local.php +/.env.*.local +/public/bundles/ +/var/ +/vendor/ +###< symfony/framework-bundle ### + +###> symfony/phpunit-bridge ### +.phpunit +.phpunit.result.cache +/phpunit.xml +###< symfony/phpunit-bridge ### +.idea/ +###> symfony/web-server-bundle ### +/.web-server-pid +###< symfony/web-server-bundle ### \ No newline at end of file diff --git a/ajax.php b/ajax.php deleted file mode 100644 index ec5ff21..0000000 --- a/ajax.php +++ /dev/null @@ -1,81 +0,0 @@ -board[$y][$x]->type != "-") - { - $tab = $test->board[$y][$x]->check($x, $y); - } - elseif ($test->board[$y][$x]->type == "-" || $test->board[$y][$x]->color == "Black") - { - for ($i = 0; $i < sizeof($_SESSION["ancient"]); $i++) - { - if ($i % 2 == 0) - { - if ($_SESSION["ancient"][$i] == $x) - { - if ($_SESSION["ancient"][$i + 1] == $y) - { - $tab = $test->board[$y][$x]->move($_SESSION["ax"], $_SESSION["ay"], $x, $y); - $_SESSION["player"]++; - break; - } - } - } - - } - } - } - elseif (($_SESSION["player"] % 2 == 1)) - { - if ($test->board[$y][$x]->type != "-") - { - $tab = $test->board[$y][$x]->check($x, $y); - } - elseif ($test->board[$y][$x]->type == "-" || $test->board[$y][$x]->color == "White") - { - for ($i = 0; $i < sizeof($_SESSION["ancient"]); $i++) - { - if ($i % 2 == 0) - { - if ($_SESSION["ancient"][$i] == $x) - { - if ($_SESSION["ancient"][$i + 1] == $y) - { - $tab = $test->board[$y][$x]->move($_SESSION["ax"], $_SESSION["ay"], $x, $y); - $_SESSION["player"]++; - break; - } - } - } - - } - } - } - - $ancient = $tab; - $_SESSION["ancient"] = $ancient; - $_SESSION["ax"] = $x; - $_SESSION["ay"] = $y; - $my_encode_array = json_encode($tab); - - echo $my_encode_array; -?> diff --git a/bin/console b/bin/console new file mode 100755 index 0000000..19c2f6c --- /dev/null +++ b/bin/console @@ -0,0 +1,42 @@ +#!/usr/bin/env php +getParameterOption(['--env', '-e'], null, true)) { + putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env); +} + +if ($input->hasParameterOption('--no-debug', true)) { + putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0'); +} + +require dirname(__DIR__).'/config/bootstrap.php'; + +if ($_SERVER['APP_DEBUG']) { + umask(0000); + + if (class_exists(Debug::class)) { + Debug::enable(); + } +} + +$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); +$application = new Application($kernel); +$application->run($input); diff --git a/bin/phpunit b/bin/phpunit new file mode 100755 index 0000000..4d1ed05 --- /dev/null +++ b/bin/phpunit @@ -0,0 +1,13 @@ +#!/usr/bin/env php +2.2,<2.4" + }, + "require-dev": { + "alcaeus/mongo-php-adapter": "^1.1", + "doctrine/coding-standard": "^4.0", + "mongodb/mongodb": "^1.1", + "phpunit/phpunit": "^7.0", + "predis/predis": "~1.0" + }, + "suggest": { + "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2018-08-21T18:01:43+00:00" + }, + { + "name": "doctrine/collections", + "version": "v1.6.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "c5e0bc17b1620e97c968ac409acbff28b8b850be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/c5e0bc17b1620e97c968ac409acbff28b8b850be", + "reference": "c5e0bc17b1620e97c968ac409acbff28b8b850be", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan-shim": "^0.9.2", + "phpunit/phpunit": "^7.0", + "vimeo/psalm": "^3.2.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", + "homepage": "https://www.doctrine-project.org/projects/collections.html", + "keywords": [ + "array", + "collections", + "iterators", + "php" + ], + "time": "2019-06-09T13:48:14+00:00" + }, + { + "name": "doctrine/common", + "version": "v2.11.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "b8ca1dcf6b0dc8a2af7a09baac8d0c48345df4ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/b8ca1dcf6b0dc8a2af7a09baac8d0c48345df4ff", + "reference": "b8ca1dcf6b0dc8a2af7a09baac8d0c48345df4ff", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "doctrine/cache": "^1.0", + "doctrine/collections": "^1.0", + "doctrine/event-manager": "^1.0", + "doctrine/inflector": "^1.0", + "doctrine/lexer": "^1.0", + "doctrine/persistence": "^1.1", + "doctrine/reflection": "^1.0", + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^1.0", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpunit/phpunit": "^7.0", + "squizlabs/php_codesniffer": "^3.0", + "symfony/phpunit-bridge": "^4.0.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection support, persistence interfaces, proxies, event system and much more.", + "homepage": "https://www.doctrine-project.org/projects/common.html", + "keywords": [ + "common", + "doctrine", + "php" + ], + "time": "2019-09-10T10:10:14+00:00" + }, + { + "name": "doctrine/dbal", + "version": "v2.9.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9", + "reference": "22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9", + "shasum": "" + }, + "require": { + "doctrine/cache": "^1.0", + "doctrine/event-manager": "^1.0", + "ext-pdo": "*", + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^5.0", + "jetbrains/phpstorm-stubs": "^2018.1.2", + "phpstan/phpstan": "^0.10.1", + "phpunit/phpunit": "^7.4", + "symfony/console": "^2.0.5|^3.0|^4.0", + "symfony/phpunit-bridge": "^3.4.5|^4.0.5" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.9.x-dev", + "dev-develop": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", + "keywords": [ + "abstraction", + "database", + "dbal", + "mysql", + "persistence", + "pgsql", + "php", + "queryobject" + ], + "time": "2018-12-31T03:27:51+00:00" + }, + { + "name": "doctrine/doctrine-bundle", + "version": "1.11.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineBundle.git", + "reference": "28101e20776d8fa20a00b54947fbae2db0d09103" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/28101e20776d8fa20a00b54947fbae2db0d09103", + "reference": "28101e20776d8fa20a00b54947fbae2db0d09103", + "shasum": "" + }, + "require": { + "doctrine/dbal": "^2.5.12", + "doctrine/doctrine-cache-bundle": "~1.2", + "jdorn/sql-formatter": "^1.2.16", + "php": "^7.1", + "symfony/config": "^3.4|^4.1", + "symfony/console": "^3.4|^4.1", + "symfony/dependency-injection": "^3.4|^4.1", + "symfony/doctrine-bridge": "^3.4|^4.1", + "symfony/framework-bundle": "^3.4|^4.1" + }, + "conflict": { + "doctrine/orm": "<2.6", + "twig/twig": "<1.34|>=2.0,<2.4" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "doctrine/orm": "^2.6", + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "7.0", + "symfony/cache": "^3.4|^4.1", + "symfony/phpunit-bridge": "^4.2", + "symfony/property-info": "^3.4|^4.1", + "symfony/validator": "^3.4|^4.1", + "symfony/web-profiler-bundle": "^3.4|^4.1", + "symfony/yaml": "^3.4|^4.1", + "twig/twig": "^1.34|^2.4" + }, + "suggest": { + "doctrine/orm": "The Doctrine ORM integration is optional in the bundle.", + "symfony/web-profiler-bundle": "To use the data collector." + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Bundle\\DoctrineBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Doctrine Project", + "homepage": "http://www.doctrine-project.org/" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony DoctrineBundle", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "orm", + "persistence" + ], + "time": "2019-06-04T07:35:05+00:00" + }, + { + "name": "doctrine/doctrine-cache-bundle", + "version": "1.3.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineCacheBundle.git", + "reference": "5514c90d9fb595e1095e6d66ebb98ce9ef049927" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/5514c90d9fb595e1095e6d66ebb98ce9ef049927", + "reference": "5514c90d9fb595e1095e6d66ebb98ce9ef049927", + "shasum": "" + }, + "require": { + "doctrine/cache": "^1.4.2", + "doctrine/inflector": "~1.0", + "php": ">=5.3.2", + "symfony/doctrine-bridge": "~2.7|~3.3|~4.0" + }, + "require-dev": { + "instaclick/coding-standard": "~1.1", + "instaclick/object-calisthenics-sniffs": "dev-master", + "instaclick/symfony2-coding-standard": "dev-remaster", + "phpunit/phpunit": "~4.8.36|~5.6|~6.5|~7.0", + "predis/predis": "~0.8", + "satooshi/php-coveralls": "^1.0", + "squizlabs/php_codesniffer": "~1.5", + "symfony/console": "~2.7|~3.3|~4.0", + "symfony/finder": "~2.7|~3.3|~4.0", + "symfony/framework-bundle": "~2.7|~3.3|~4.0", + "symfony/phpunit-bridge": "~2.7|~3.3|~4.0", + "symfony/security-acl": "~2.7|~3.3", + "symfony/validator": "~2.7|~3.3|~4.0", + "symfony/yaml": "~2.7|~3.3|~4.0" + }, + "suggest": { + "symfony/security-acl": "For using this bundle to cache ACLs" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Bundle\\DoctrineCacheBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Fabio B. Silva", + "email": "fabio.bat.silva@gmail.com" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@hotmail.com" + }, + { + "name": "Doctrine Project", + "homepage": "http://www.doctrine-project.org/" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony Bundle for Doctrine Cache", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2018-11-09T06:25:35+00:00" + }, + { + "name": "doctrine/doctrine-migrations-bundle", + "version": "v2.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineMigrationsBundle.git", + "reference": "4c9579e0e43df1fb3f0ca29b9c20871c824fac71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/4c9579e0e43df1fb3f0ca29b9c20871c824fac71", + "reference": "4c9579e0e43df1fb3f0ca29b9c20871c824fac71", + "shasum": "" + }, + "require": { + "doctrine/doctrine-bundle": "~1.0", + "doctrine/migrations": "^2.0", + "php": "^7.1", + "symfony/framework-bundle": "~3.4|~4.0" + }, + "require-dev": { + "doctrine/coding-standard": "^5.0", + "mikey179/vfsstream": "^1.6", + "phpstan/phpstan": "^0.9.2", + "phpstan/phpstan-strict-rules": "^0.9", + "phpunit/phpunit": "^5.7|^6.4|^7.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Bundle\\MigrationsBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Doctrine Project", + "homepage": "http://www.doctrine-project.org" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony DoctrineMigrationsBundle", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "dbal", + "migrations", + "schema" + ], + "time": "2019-01-09T18:49:50+00:00" + }, + { + "name": "doctrine/event-manager", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3", + "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "conflict": { + "doctrine/common": "<2.9@dev" + }, + "require-dev": { + "doctrine/coding-standard": "^4.0", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Doctrine Event Manager component", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "keywords": [ + "event", + "eventdispatcher", + "eventmanager" + ], + "time": "2018-06-11T11:59:03+00:00" + }, + { + "name": "doctrine/inflector", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "5527a48b7313d15261292c149e55e26eae771b0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", + "reference": "5527a48b7313d15261292c149e55e26eae771b0a", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2018-01-09T20:05:19+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "a2c590166b2133a4633738648b6b064edae0814a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", + "reference": "a2c590166b2133a4633738648b6b064edae0814a", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2019-03-17T17:37:11+00:00" + }, + { + "name": "doctrine/lexer", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "1febd6c3ef84253d7c815bed85fc622ad207a9f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/1febd6c3ef84253d7c815bed85fc622ad207a9f8", + "reference": "1febd6c3ef84253d7c815bed85fc622ad207a9f8", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "^4.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "time": "2019-06-08T11:03:04+00:00" + }, + { + "name": "doctrine/migrations", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/migrations.git", + "reference": "a89fa87a192e90179163c1e863a145c13337f442" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/a89fa87a192e90179163c1e863a145c13337f442", + "reference": "a89fa87a192e90179163c1e863a145c13337f442", + "shasum": "" + }, + "require": { + "doctrine/dbal": "^2.9", + "ocramius/package-versions": "^1.3", + "ocramius/proxy-manager": "^2.0.2", + "php": "^7.1", + "symfony/console": "^3.4||^4.0", + "symfony/stopwatch": "^3.4||^4.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "doctrine/orm": "^2.6", + "ext-pdo_sqlite": "*", + "jdorn/sql-formatter": "^1.1", + "mikey179/vfsstream": "^1.6", + "phpstan/phpstan": "^0.10", + "phpstan/phpstan-deprecation-rules": "^0.10", + "phpstan/phpstan-phpunit": "^0.10", + "phpstan/phpstan-strict-rules": "^0.10", + "phpunit/phpunit": "^7.0", + "symfony/process": "^3.4||^4.0", + "symfony/yaml": "^3.4||^4.0" + }, + "suggest": { + "jdorn/sql-formatter": "Allows to generate formatted SQL with the diff command.", + "symfony/yaml": "Allows the use of yaml for migration configuration files." + }, + "bin": [ + "bin/doctrine-migrations" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Migrations\\": "lib/Doctrine/Migrations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Michael Simonson", + "email": "contact@mikesimonson.com" + } + ], + "description": "PHP Doctrine Migrations project offer additional functionality on top of the database abstraction layer (DBAL) for versioning your database schema and easily deploying changes to it. It is a very easy to use and a powerful tool.", + "homepage": "https://www.doctrine-project.org/projects/migrations.html", + "keywords": [ + "database", + "dbal", + "migrations", + "php" + ], + "time": "2019-07-30T18:51:47+00:00" + }, + { + "name": "doctrine/orm", + "version": "v2.6.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/orm.git", + "reference": "b52ef5a1002f99ab506a5a2d6dba5a2c236c5f43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/orm/zipball/b52ef5a1002f99ab506a5a2d6dba5a2c236c5f43", + "reference": "b52ef5a1002f99ab506a5a2d6dba5a2c236c5f43", + "shasum": "" + }, + "require": { + "doctrine/annotations": "~1.5", + "doctrine/cache": "~1.6", + "doctrine/collections": "^1.4", + "doctrine/common": "^2.7.1", + "doctrine/dbal": "^2.6", + "doctrine/instantiator": "~1.1", + "ext-pdo": "*", + "php": "^7.1", + "symfony/console": "~3.0|~4.0" + }, + "require-dev": { + "doctrine/coding-standard": "^5.0", + "phpunit/phpunit": "^7.5", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" + }, + "bin": [ + "bin/doctrine" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\ORM\\": "lib/Doctrine/ORM" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Object-Relational-Mapper for PHP", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "orm" + ], + "time": "2019-09-20T14:30:26+00:00" + }, + { + "name": "doctrine/persistence", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/persistence.git", + "reference": "3da7c9d125591ca83944f477e65ed3d7b4617c48" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/3da7c9d125591ca83944f477e65ed3d7b4617c48", + "reference": "3da7c9d125591ca83944f477e65ed3d7b4617c48", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "doctrine/cache": "^1.0", + "doctrine/collections": "^1.0", + "doctrine/event-manager": "^1.0", + "doctrine/reflection": "^1.0", + "php": "^7.1" + }, + "conflict": { + "doctrine/common": "<2.10@dev" + }, + "require-dev": { + "doctrine/coding-standard": "^5.0", + "phpstan/phpstan": "^0.8", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", + "homepage": "https://doctrine-project.org/projects/persistence.html", + "keywords": [ + "mapper", + "object", + "odm", + "orm", + "persistence" + ], + "time": "2019-04-23T08:28:24+00:00" + }, + { + "name": "doctrine/reflection", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/reflection.git", + "reference": "02538d3f95e88eb397a5f86274deb2c6175c2ab6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/reflection/zipball/02538d3f95e88eb397a5f86274deb2c6175c2ab6", + "reference": "02538d3f95e88eb397a5f86274deb2c6175c2ab6", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "ext-tokenizer": "*", + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^4.0", + "doctrine/common": "^2.8", + "phpstan/phpstan": "^0.9.2", + "phpstan/phpstan-phpunit": "^0.9.4", + "phpunit/phpunit": "^7.0", + "squizlabs/php_codesniffer": "^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Doctrine Reflection component", + "homepage": "https://www.doctrine-project.org/projects/reflection.html", + "keywords": [ + "reflection" + ], + "time": "2018-06-14T14:45:07+00:00" + }, + { + "name": "egulias/email-validator", + "version": "2.1.11", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/92dd169c32f6f55ba570c309d83f5209cefb5e23", + "reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1.0.1", + "php": ">= 5.5" + }, + "require-dev": { + "dominicsayers/isemail": "dev-master", + "phpunit/phpunit": "^4.8.35||^5.7||^6.0", + "satooshi/php-coveralls": "^1.0.1", + "symfony/phpunit-bridge": "^4.4@dev" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "EmailValidator" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "time": "2019-08-13T17:33:27+00:00" + }, + { + "name": "fig/link-util", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/link-util.git", + "reference": "1a07821801a148be4add11ab0603e4af55a72fac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/link-util/zipball/1a07821801a148be4add11ab0603e4af55a72fac", + "reference": "1a07821801a148be4add11ab0603e4af55a72fac", + "shasum": "" + }, + "require": { + "php": ">=5.5.0", + "psr/link": "~1.0@dev" + }, + "require-dev": { + "phpunit/phpunit": "^5.1", + "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": "http://www.php-fig.org/" + } + ], + "description": "Common utility implementations for HTTP links", + "keywords": [ + "http", + "http-link", + "link", + "psr", + "psr-13", + "rest" + ], + "time": "2016-10-17T18:31:11+00:00" + }, + { + "name": "jdorn/sql-formatter", + "version": "v1.2.17", + "source": { + "type": "git", + "url": "https://github.com/jdorn/sql-formatter.git", + "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc", + "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "lib" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeremy Dorn", + "email": "jeremy@jeremydorn.com", + "homepage": "http://jeremydorn.com/" + } + ], + "description": "a PHP SQL highlighting library", + "homepage": "https://github.com/jdorn/sql-formatter/", + "keywords": [ + "highlight", + "sql" + ], + "time": "2014-01-12T16:20:24+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.25.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "70e65a5470a42cfec1a7da00d30edb6e617e8dcf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/70e65a5470a42cfec1a7da00d30edb6e617e8dcf", + "reference": "70e65a5470a42cfec1a7da00d30edb6e617e8dcf", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2019-09-06T13:49:17+00:00" + }, + { + "name": "ocramius/package-versions", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/Ocramius/PackageVersions.git", + "reference": "a4d4b60d0e60da2487bd21a2c6ac089f85570dbb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/a4d4b60d0e60da2487bd21a2c6ac089f85570dbb", + "reference": "a4d4b60d0e60da2487bd21a2c6ac089f85570dbb", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0.0", + "php": "^7.1.0" + }, + "require-dev": { + "composer/composer": "^1.6.3", + "doctrine/coding-standard": "^5.0.1", + "ext-zip": "*", + "infection/infection": "^0.7.1", + "phpunit/phpunit": "^7.0.0" + }, + "type": "composer-plugin", + "extra": { + "class": "PackageVersions\\Installer", + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "PackageVersions\\": "src/PackageVersions" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", + "time": "2019-02-21T12:16:21+00:00" + }, + { + "name": "ocramius/proxy-manager", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/Ocramius/ProxyManager.git", + "reference": "e18ac876b2e4819c76349de8f78ccc8ef1554cd7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Ocramius/ProxyManager/zipball/e18ac876b2e4819c76349de8f78ccc8ef1554cd7", + "reference": "e18ac876b2e4819c76349de8f78ccc8ef1554cd7", + "shasum": "" + }, + "require": { + "ocramius/package-versions": "^1.1.1", + "php": "^7.1.0", + "zendframework/zend-code": "^3.1.0" + }, + "require-dev": { + "couscous/couscous": "^1.5.2", + "ext-phar": "*", + "humbug/humbug": "dev-master@DEV", + "nikic/php-parser": "^3.0.4", + "phpbench/phpbench": "^0.12.2", + "phpstan/phpstan": "^0.6.4", + "phpunit/phpunit": "^5.6.4", + "phpunit/phpunit-mock-objects": "^3.4.1", + "squizlabs/php_codesniffer": "^2.7.0" + }, + "suggest": { + "ocramius/generated-hydrator": "To have very fast object to array to object conversion for ghost objects", + "zendframework/zend-json": "To have the JsonRpc adapter (Remote Object feature)", + "zendframework/zend-soap": "To have the Soap adapter (Remote Object feature)", + "zendframework/zend-xmlrpc": "To have the XmlRpc adapter (Remote Object feature)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "ProxyManager\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.io/" + } + ], + "description": "A library providing utilities to generate, instantiate and generally operate with Object Proxies", + "homepage": "https://github.com/Ocramius/ProxyManager", + "keywords": [ + "aop", + "lazy loading", + "proxy", + "proxy pattern", + "service proxies" + ], + "time": "2017-05-04T11:12:50+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "~6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2018-08-07T13:53:10+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "4.3.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e", + "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e", + "shasum": "" + }, + "require": { + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", + "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "doctrine/instantiator": "^1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2019-09-12T14:27:41+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "shasum": "" + }, + "require": { + "php": "^7.1", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "^7.1", + "mockery/mockery": "~1", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "time": "2019-08-22T18:11:29+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/link", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/link.git", + "reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562", + "reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Link\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for HTTP links", + "keywords": [ + "http", + "http-link", + "link", + "psr", + "psr-13", + "rest" + ], + "time": "2016-10-28T16:06:13+00:00" + }, + { + "name": "psr/log", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2018-11-20T15:27:04+00:00" + }, + { + "name": "sensio/framework-extra-bundle", + "version": "v5.4.1", + "source": { + "type": "git", + "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", + "reference": "585f4b3a1c54f24d1a8431c729fc8f5acca20c8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/585f4b3a1c54f24d1a8431c729fc8f5acca20c8a", + "reference": "585f4b3a1c54f24d1a8431c729fc8f5acca20c8a", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "doctrine/persistence": "^1.0", + "php": ">=7.1.3", + "symfony/config": "^3.4|^4.3", + "symfony/dependency-injection": "^3.4|^4.3", + "symfony/framework-bundle": "^3.4|^4.3", + "symfony/http-kernel": "^3.4|^4.3" + }, + "require-dev": { + "doctrine/doctrine-bundle": "^1.6", + "doctrine/orm": "^2.5", + "nyholm/psr7": "^1.1", + "symfony/browser-kit": "^3.4|^4.3", + "symfony/dom-crawler": "^3.4|^4.3", + "symfony/expression-language": "^3.4|^4.3", + "symfony/finder": "^3.4|^4.3", + "symfony/monolog-bridge": "^3.0|^4.0", + "symfony/monolog-bundle": "^3.2", + "symfony/phpunit-bridge": "^3.4.19|^4.1.8", + "symfony/psr-http-message-bridge": "^1.1", + "symfony/security-bundle": "^3.4|^4.3", + "symfony/twig-bundle": "^3.4|^4.3", + "symfony/yaml": "^3.4|^4.3", + "twig/twig": "~1.12|~2.0" + }, + "suggest": { + "symfony/expression-language": "", + "symfony/psr-http-message-bridge": "To use the PSR-7 converters", + "symfony/security-bundle": "" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "5.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Sensio\\Bundle\\FrameworkExtraBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "This bundle provides a way to configure your controllers with annotations", + "keywords": [ + "annotations", + "controllers" + ], + "time": "2019-07-08T08:31:25+00:00" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v6.2.1", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a", + "reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a", + "shasum": "" + }, + "require": { + "egulias/email-validator": "~2.0", + "php": ">=7.0.0", + "symfony/polyfill-iconv": "^1.0", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "require-dev": { + "mockery/mockery": "~0.9.1", + "symfony/phpunit-bridge": "^3.4.19|^4.1.8" + }, + "suggest": { + "ext-intl": "Needed to support internationalized email addresses", + "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "https://swiftmailer.symfony.com", + "keywords": [ + "email", + "mail", + "mailer" + ], + "time": "2019-04-21T09:21:45+00:00" + }, + { + "name": "symfony/asset", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/asset.git", + "reference": "3f97e57596884f7b9158d564a533112a0d19dbdd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/asset/zipball/3f97e57596884f7b9158d564a533112a0d19dbdd", + "reference": "3f97e57596884f7b9158d564a533112a0d19dbdd", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "require-dev": { + "symfony/http-foundation": "~3.4|~4.0", + "symfony/http-kernel": "~3.4|~4.0" + }, + "suggest": { + "symfony/http-foundation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Asset\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Asset Component", + "homepage": "https://symfony.com", + "time": "2019-08-03T21:50:52+00:00" + }, + { + "name": "symfony/cache", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "1d8f7fee990c586f275cde1a9fc883d6b1e2d43e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/1d8f7fee990c586f275cde1a9fc883d6b1e2d43e", + "reference": "1d8f7fee990c586f275cde1a9fc883d6b1e2d43e", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/cache": "~1.0", + "psr/log": "~1.0", + "symfony/cache-contracts": "^1.1", + "symfony/service-contracts": "^1.1", + "symfony/var-exporter": "^4.2" + }, + "conflict": { + "doctrine/dbal": "<2.5", + "symfony/dependency-injection": "<3.4", + "symfony/var-dumper": "<3.4" + }, + "provide": { + "psr/cache-implementation": "1.0", + "psr/simple-cache-implementation": "1.0", + "symfony/cache-implementation": "1.0" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/cache": "~1.6", + "doctrine/dbal": "~2.5", + "predis/predis": "~1.1", + "psr/simple-cache": "^1.0", + "symfony/config": "~4.2", + "symfony/dependency-injection": "~3.4|~4.1", + "symfony/var-dumper": "^4.1.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Cache\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Cache component with PSR-6, PSR-16, and tags", + "homepage": "https://symfony.com", + "keywords": [ + "caching", + "psr6" + ], + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/cache-contracts", + "version": "v1.1.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache-contracts.git", + "reference": "ec5524b669744b5f1dc9c66d3c2b091eb7e7f0db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/ec5524b669744b5f1dc9c66d3c2b091eb7e7f0db", + "reference": "ec5524b669744b5f1dc9c66d3c2b091eb7e7f0db", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/cache": "^1.0" + }, + "suggest": { + "symfony/cache-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Cache\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to caching", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-06-13T11:15:36+00:00" + }, + { + "name": "symfony/config", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "07d49c0f823e0bc367c6d84e35b61419188a5ece" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/07d49c0f823e0bc367c6d84e35b61419188a5ece", + "reference": "07d49c0f823e0bc367c6d84e35b61419188a5ece", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/filesystem": "~3.4|~4.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/finder": "<3.4" + }, + "require-dev": { + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/messenger": "~4.1", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Config Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/console", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "de63799239b3881b8a08f8481b22348f77ed7b36" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/de63799239b3881b8a08f8481b22348f77ed7b36", + "reference": "de63799239b3881b8a08f8481b22348f77ed7b36", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/service-contracts": "^1.1" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/event-dispatcher": "<4.3", + "symfony/process": "<3.3" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "^4.3", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0", + "symfony/var-dumper": "^4.3" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/debug", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "afcdea44a2e399c1e4b52246ec8d54c715393ced" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/afcdea44a2e399c1e4b52246ec8d54c715393ced", + "reference": "afcdea44a2e399c1e4b52246ec8d54c715393ced", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": "<3.4" + }, + "require-dev": { + "symfony/http-kernel": "~3.4|~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2019-08-20T14:27:59+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "d3ad14b66ac773ba6123622eb9b5b010165fe3d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/d3ad14b66ac773ba6123622eb9b5b010165fe3d9", + "reference": "d3ad14b66ac773ba6123622eb9b5b010165fe3d9", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/container": "^1.0", + "symfony/service-contracts": "^1.1.6" + }, + "conflict": { + "symfony/config": "<4.3", + "symfony/finder": "<3.4", + "symfony/proxy-manager-bridge": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "psr/container-implementation": "1.0", + "symfony/service-implementation": "1.0" + }, + "require-dev": { + "symfony/config": "^4.3", + "symfony/expression-language": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DependencyInjection Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T16:27:33+00:00" + }, + { + "name": "symfony/doctrine-bridge", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/doctrine-bridge.git", + "reference": "d2967b2b43788bd3a7cddeb8bd4567e142b3821c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/d2967b2b43788bd3a7cddeb8bd4567e142b3821c", + "reference": "d2967b2b43788bd3a7cddeb8bd4567e142b3821c", + "shasum": "" + }, + "require": { + "doctrine/event-manager": "~1.0", + "doctrine/persistence": "~1.0", + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^1.1" + }, + "conflict": { + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", + "symfony/dependency-injection": "<3.4", + "symfony/form": "<4.3", + "symfony/messenger": "<4.3" + }, + "require-dev": { + "doctrine/annotations": "~1.7", + "doctrine/cache": "~1.6", + "doctrine/collections": "~1.0", + "doctrine/data-fixtures": "1.0.*", + "doctrine/dbal": "~2.4", + "doctrine/orm": "^2.6.3", + "doctrine/reflection": "~1.0", + "symfony/config": "^4.2", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/form": "~4.3", + "symfony/http-kernel": "~3.4|~4.0", + "symfony/messenger": "~4.3", + "symfony/property-access": "~3.4|~4.0", + "symfony/property-info": "~3.4|~4.0", + "symfony/proxy-manager-bridge": "~3.4|~4.0", + "symfony/security-core": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0", + "symfony/translation": "~3.4|~4.0", + "symfony/validator": "^3.4.31|^4.3.4" + }, + "suggest": { + "doctrine/data-fixtures": "", + "doctrine/dbal": "", + "doctrine/orm": "", + "symfony/form": "", + "symfony/property-info": "", + "symfony/validator": "" + }, + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Doctrine\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Doctrine Bridge", + "homepage": "https://symfony.com", + "time": "2019-08-26T11:29:20+00:00" + }, + { + "name": "symfony/dotenv", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/dotenv.git", + "reference": "1785b18148a016b8f4e6a612291188d568e1f9cd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/1785b18148a016b8f4e6a612291188d568e1f9cd", + "reference": "1785b18148a016b8f4e6a612291188d568e1f9cd", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "require-dev": { + "symfony/process": "~3.4|~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Dotenv\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Registers environment variables from a .env file", + "homepage": "https://symfony.com", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "time": "2019-08-03T21:50:52+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/429d0a1451d4c9c4abe1959b2986b88794b9b7d2", + "reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/event-dispatcher-contracts": "^1.1" + }, + "conflict": { + "symfony/dependency-injection": "<3.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "1.1" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/http-foundation": "^3.4|^4.0", + "symfony/service-contracts": "^1.1", + "symfony/stopwatch": "~3.4|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:55:16+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v1.1.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "c61766f4440ca687de1084a5c00b08e167a2575c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c61766f4440ca687de1084a5c00b08e167a2575c", + "reference": "c61766f4440ca687de1084a5c00b08e167a2575c", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "suggest": { + "psr/event-dispatcher": "", + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-06-20T06:46:26+00:00" + }, + { + "name": "symfony/expression-language", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/expression-language.git", + "reference": "c8b47d8820d3bf75f757eec8a2647584c14cf0c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/c8b47d8820d3bf75f757eec8a2647584c14cf0c6", + "reference": "c8b47d8820d3bf75f757eec8a2647584c14cf0c6", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/cache": "~3.4|~4.0", + "symfony/service-contracts": "^1.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\ExpressionLanguage\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony ExpressionLanguage Component", + "homepage": "https://symfony.com", + "time": "2019-08-08T09:29:19+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "9abbb7ef96a51f4d7e69627bc6f63307994e4263" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/9abbb7ef96a51f4d7e69627bc6f63307994e4263", + "reference": "9abbb7ef96a51f4d7e69627bc6f63307994e4263", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "time": "2019-08-20T14:07:54+00:00" + }, + { + "name": "symfony/finder", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/86c1c929f0a4b24812e1eb109262fc3372c8e9f2", + "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2019-08-14T12:26:46+00:00" + }, + { + "name": "symfony/flex", + "version": "v1.4.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/flex.git", + "reference": "133e649fdf08aeb8741be1ba955ccbe5cd17c696" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/flex/zipball/133e649fdf08aeb8741be1ba955ccbe5cd17c696", + "reference": "133e649fdf08aeb8741be1ba955ccbe5cd17c696", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0", + "php": "^7.0" + }, + "require-dev": { + "composer/composer": "^1.0.2", + "symfony/dotenv": "^3.4|^4.0", + "symfony/phpunit-bridge": "^3.4.19|^4.1.8", + "symfony/process": "^2.7|^3.0|^4.0" + }, + "type": "composer-plugin", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + }, + "class": "Symfony\\Flex\\Flex" + }, + "autoload": { + "psr-4": { + "Symfony\\Flex\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien.potencier@gmail.com" + } + ], + "description": "Composer plugin for Symfony", + "time": "2019-09-19T14:55:57+00:00" + }, + { + "name": "symfony/form", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/form.git", + "reference": "eba11fd575e791d72030cb59215a9948791f1e74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/form/zipball/eba11fd575e791d72030cb59215a9948791f1e74", + "reference": "eba11fd575e791d72030cb59215a9948791f1e74", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/event-dispatcher": "^4.3", + "symfony/intl": "^4.3", + "symfony/options-resolver": "~4.3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/property-access": "~3.4|~4.0", + "symfony/service-contracts": "~1.1" + }, + "conflict": { + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", + "symfony/console": "<4.3", + "symfony/dependency-injection": "<3.4", + "symfony/doctrine-bridge": "<3.4", + "symfony/framework-bundle": "<3.4", + "symfony/http-kernel": "<4.3", + "symfony/intl": "<4.3", + "symfony/translation": "<4.2", + "symfony/twig-bridge": "<3.4.5|<4.0.5,>=4.0" + }, + "require-dev": { + "doctrine/collections": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/console": "^4.3", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/http-kernel": "~4.3", + "symfony/security-csrf": "~3.4|~4.0", + "symfony/translation": "~4.2", + "symfony/validator": "^3.4.31|^4.3.4", + "symfony/var-dumper": "^4.3" + }, + "suggest": { + "symfony/security-csrf": "For protecting forms against CSRF attacks.", + "symfony/twig-bridge": "For templating with Twig.", + "symfony/validator": "For form validation." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Form\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Form Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:55:16+00:00" + }, + { + "name": "symfony/framework-bundle", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/framework-bundle.git", + "reference": "0fd8e354cef6b3da666e585d7ae75aeea2423833" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/0fd8e354cef6b3da666e585d7ae75aeea2423833", + "reference": "0fd8e354cef6b3da666e585d7ae75aeea2423833", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": "^7.1.3", + "symfony/cache": "^4.3.4", + "symfony/config": "^4.3.4", + "symfony/debug": "~4.0", + "symfony/dependency-injection": "^4.3", + "symfony/filesystem": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/http-foundation": "^4.3", + "symfony/http-kernel": "^4.3.4", + "symfony/polyfill-mbstring": "~1.0", + "symfony/routing": "^4.3" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.0", + "phpdocumentor/type-resolver": "<0.2.1", + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", + "symfony/asset": "<3.4", + "symfony/browser-kit": "<4.3", + "symfony/console": "<4.3", + "symfony/dom-crawler": "<4.3", + "symfony/dotenv": "<4.2", + "symfony/form": "<4.3", + "symfony/messenger": "<4.3", + "symfony/property-info": "<3.4", + "symfony/serializer": "<4.2", + "symfony/stopwatch": "<3.4", + "symfony/translation": "<4.3", + "symfony/twig-bridge": "<4.1.1", + "symfony/validator": "<4.1", + "symfony/workflow": "<4.3" + }, + "require-dev": { + "doctrine/annotations": "~1.7", + "doctrine/cache": "~1.0", + "fig/link-util": "^1.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "symfony/asset": "~3.4|~4.0", + "symfony/browser-kit": "^4.3", + "symfony/console": "^4.3.4", + "symfony/css-selector": "~3.4|~4.0", + "symfony/dom-crawler": "^4.3", + "symfony/expression-language": "~3.4|~4.0", + "symfony/form": "^4.3.4", + "symfony/http-client": "^4.3", + "symfony/lock": "~3.4|~4.0", + "symfony/mailer": "^4.3", + "symfony/messenger": "^4.3", + "symfony/mime": "^4.3", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/process": "~3.4|~4.0", + "symfony/property-info": "~3.4|~4.0", + "symfony/security-csrf": "~3.4|~4.0", + "symfony/security-http": "~3.4|~4.0", + "symfony/serializer": "^4.3", + "symfony/stopwatch": "~3.4|~4.0", + "symfony/templating": "~3.4|~4.0", + "symfony/translation": "~4.3", + "symfony/twig-bundle": "~2.8|~3.2|~4.0", + "symfony/validator": "^4.1", + "symfony/var-dumper": "^4.3", + "symfony/web-link": "~3.4|~4.0", + "symfony/workflow": "^4.3", + "symfony/yaml": "~3.4|~4.0", + "twig/twig": "~1.41|~2.10" + }, + "suggest": { + "ext-apcu": "For best performance of the system caches", + "symfony/console": "For using the console commands", + "symfony/form": "For using forms", + "symfony/property-info": "For using the property_info service", + "symfony/serializer": "For using the serializer service", + "symfony/validator": "For using validation", + "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering", + "symfony/yaml": "For using the debug:config and lint:yaml commands" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\FrameworkBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony FrameworkBundle", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:55:16+00:00" + }, + { + "name": "symfony/http-client", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client.git", + "reference": "9a4fa769269ed730196a5c52c742b30600cf1e87" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client/zipball/9a4fa769269ed730196a5c52c742b30600cf1e87", + "reference": "9a4fa769269ed730196a5c52c742b30600cf1e87", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/log": "^1.0", + "symfony/http-client-contracts": "^1.1.6", + "symfony/polyfill-php73": "^1.11" + }, + "provide": { + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "1.1" + }, + "require-dev": { + "nyholm/psr7": "^1.0", + "psr/http-client": "^1.0", + "symfony/http-kernel": "^4.3", + "symfony/process": "^4.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpClient\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpClient component", + "homepage": "https://symfony.com", + "time": "2019-08-20T14:27:59+00:00" + }, + { + "name": "symfony/http-client-contracts", + "version": "v1.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "6005fe61a33724405d56eb5b055d5d370192a1bd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/6005fe61a33724405d56eb5b055d5d370192a1bd", + "reference": "6005fe61a33724405d56eb5b055d5d370192a1bd", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "suggest": { + "symfony/http-client-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-08-08T10:05:21+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d804bea118ff340a12e22a79f9c7e7eb56b35adc", + "reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/mime": "^4.3", + "symfony/polyfill-mbstring": "~1.1" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/expression-language": "~3.4|~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:55:16+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "5e0fc71be03d52cd00c423061cfd300bd6f92a52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/5e0fc71be03d52cd00c423061cfd300bd6f92a52", + "reference": "5e0fc71be03d52cd00c423061cfd300bd6f92a52", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/log": "~1.0", + "symfony/debug": "~3.4|~4.0", + "symfony/event-dispatcher": "^4.3", + "symfony/http-foundation": "^4.1.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php73": "^1.9" + }, + "conflict": { + "symfony/browser-kit": "<4.3", + "symfony/config": "<3.4", + "symfony/dependency-injection": "<4.3", + "symfony/translation": "<4.2", + "symfony/var-dumper": "<4.1.1", + "twig/twig": "<1.34|<2.4,>=2" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/cache": "~1.0", + "symfony/browser-kit": "^4.3", + "symfony/config": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/css-selector": "~3.4|~4.0", + "symfony/dependency-injection": "^4.3", + "symfony/dom-crawler": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0", + "symfony/routing": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0", + "symfony/templating": "~3.4|~4.0", + "symfony/translation": "~4.2", + "symfony/translation-contracts": "^1.1", + "symfony/var-dumper": "^4.1.1", + "twig/twig": "^1.34|^2.4" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/var-dumper": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpKernel Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T16:47:42+00:00" + }, + { + "name": "symfony/inflector", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/inflector.git", + "reference": "b25a8dc15fada858432efa083c1ecd2cef5991a7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/inflector/zipball/b25a8dc15fada858432efa083c1ecd2cef5991a7", + "reference": "b25a8dc15fada858432efa083c1ecd2cef5991a7", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Inflector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Inflector Component", + "homepage": "https://symfony.com", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string", + "symfony", + "words" + ], + "time": "2019-08-06T18:44:23+00:00" + }, + { + "name": "symfony/intl", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/intl.git", + "reference": "8db5505703c5bdb23d524fd994dad2f781966538" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/intl/zipball/8db5505703c5bdb23d524fd994dad2f781966538", + "reference": "8db5505703c5bdb23d524fd994dad2f781966538", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-intl-icu": "~1.0" + }, + "require-dev": { + "symfony/filesystem": "~3.4|~4.0" + }, + "suggest": { + "ext-intl": "to use the component with locales other than \"en\"" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Intl\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Eriksen Costa", + "email": "eriksen.costa@infranology.com.br" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A PHP replacement layer for the C intl extension that includes additional data from the ICU library.", + "homepage": "https://symfony.com", + "keywords": [ + "i18n", + "icu", + "internationalization", + "intl", + "l10n", + "localization" + ], + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/mime", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "987a05df1c6ac259b34008b932551353f4f408df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/987a05df1c6ac259b34008b932551353f4f408df", + "reference": "987a05df1c6ac259b34008b932551353f4f408df", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10", + "symfony/dependency-injection": "~3.4|^4.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A library to manipulate MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "time": "2019-08-22T08:16:11+00:00" + }, + { + "name": "symfony/monolog-bridge", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/monolog-bridge.git", + "reference": "8a491edacd54e0214f5e7fb254710d30682e7bc1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/8a491edacd54e0214f5e7fb254710d30682e7bc1", + "reference": "8a491edacd54e0214f5e7fb254710d30682e7bc1", + "shasum": "" + }, + "require": { + "monolog/monolog": "~1.19", + "php": "^7.1.3", + "symfony/http-kernel": "^4.3", + "symfony/service-contracts": "^1.1" + }, + "conflict": { + "symfony/console": "<3.4", + "symfony/http-foundation": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0", + "symfony/security-core": "~3.4|~4.0", + "symfony/var-dumper": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings.", + "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.", + "symfony/var-dumper": "For using the debugging handlers like the console handler or the log server handler." + }, + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Monolog\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Monolog Bridge", + "homepage": "https://symfony.com", + "time": "2019-08-07T11:52:19+00:00" + }, + { + "name": "symfony/monolog-bundle", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/monolog-bundle.git", + "reference": "7fbecb371c1c614642c93c6b2cbcdf723ae8809d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/7fbecb371c1c614642c93c6b2cbcdf723ae8809d", + "reference": "7fbecb371c1c614642c93c6b2cbcdf723ae8809d", + "shasum": "" + }, + "require": { + "monolog/monolog": "~1.22", + "php": ">=5.6", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4.10|^4.0.10", + "symfony/http-kernel": "~3.4|~4.0", + "symfony/monolog-bridge": "~3.4|~4.0" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0", + "symfony/phpunit-bridge": "^3.4.19|^4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\MonologBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony MonologBundle", + "homepage": "http://symfony.com", + "keywords": [ + "log", + "logging" + ], + "time": "2019-06-20T12:18:19+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "81c2e120522a42f623233968244baebd6b36cb6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/81c2e120522a42f623233968244baebd6b36cb6a", + "reference": "81c2e120522a42f623233968244baebd6b36cb6a", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony OptionsResolver Component", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "time": "2019-08-08T09:29:19+00:00" + }, + { + "name": "symfony/orm-pack", + "version": "v1.0.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/orm-pack.git", + "reference": "36c2a928482dc5f05c5c1c1b947242ae03ff1335" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/orm-pack/zipball/36c2a928482dc5f05c5c1c1b947242ae03ff1335", + "reference": "36c2a928482dc5f05c5c1c1b947242ae03ff1335", + "shasum": "" + }, + "require": { + "doctrine/doctrine-bundle": "^1.6.10", + "doctrine/doctrine-migrations-bundle": "^1.3|^2.0", + "doctrine/orm": "^2.5.11", + "php": "^7.0" + }, + "type": "symfony-pack", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A pack for the Doctrine ORM", + "time": "2019-01-16T09:49:15+00:00" + }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "66810b9d6eb4af54d543867909d65ab9af654d7e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/66810b9d6eb4af54d543867909d65ab9af654d7e", + "reference": "66810b9d6eb4af54d543867909d65ab9af654d7e", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/intl": "~2.3|~3.0|~4.0|~5.0" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "time": "2019-08-06T08:03:45+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "6af626ae6fa37d396dc90a399c0ff08e5cfc45b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6af626ae6fa37d396dc90a399c0ff08e5cfc45b2", + "reference": "6af626ae6fa37d396dc90a399c0ff08e5cfc45b2", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php72": "^1.9" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "time": "2019-08-06T08:03:45+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2019-08-06T08:03:45+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "04ce3335667451138df4307d6a9b61565560199e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/04ce3335667451138df4307d6a9b61565560199e", + "reference": "04ce3335667451138df4307d6a9b61565560199e", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2019-08-06T08:03:45+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/2ceb49eaccb9352bff54d22570276bb75ba4a188", + "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2019-08-06T08:03:45+00:00" + }, + { + "name": "symfony/process", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "e89969c00d762349f078db1128506f7f3dcc0d4a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/e89969c00d762349f078db1128506f7f3dcc0d4a", + "reference": "e89969c00d762349f078db1128506f7f3dcc0d4a", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/property-access", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-access.git", + "reference": "bb0c302375ffeef60c31e72a4539611b7f787565" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-access/zipball/bb0c302375ffeef60c31e72a4539611b7f787565", + "reference": "bb0c302375ffeef60c31e72a4539611b7f787565", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/inflector": "~3.4|~4.0" + }, + "require-dev": { + "symfony/cache": "~3.4|~4.0" + }, + "suggest": { + "psr/cache-implementation": "To cache access methods." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyAccess\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony PropertyAccess Component", + "homepage": "https://symfony.com", + "keywords": [ + "access", + "array", + "extraction", + "index", + "injection", + "object", + "property", + "property path", + "reflection" + ], + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/property-info", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-info.git", + "reference": "29546235b37f7bd279c763314cd4c962aedd1e6d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-info/zipball/29546235b37f7bd279c763314cd4c962aedd1e6d", + "reference": "29546235b37f7bd279c763314cd4c962aedd1e6d", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/inflector": "~3.4|~4.0" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.0||>=3.2.0,<3.2.2", + "phpdocumentor/type-resolver": "<0.3.0", + "symfony/dependency-injection": "<3.4" + }, + "require-dev": { + "doctrine/annotations": "~1.7", + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "symfony/cache": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/serializer": "~3.4|~4.0" + }, + "suggest": { + "phpdocumentor/reflection-docblock": "To use the PHPDoc", + "psr/cache-implementation": "To cache results", + "symfony/doctrine-bridge": "To use Doctrine metadata", + "symfony/serializer": "To use Serializer metadata" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyInfo\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kévin Dunglas", + "email": "dunglas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Property Info Component", + "homepage": "https://symfony.com", + "keywords": [ + "doctrine", + "phpdoc", + "property", + "symfony", + "type", + "validator" + ], + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/routing", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "ff1049f6232dc5b6023b1ff1c6de56f82bcd264f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/ff1049f6232dc5b6023b1ff1c6de56f82bcd264f", + "reference": "ff1049f6232dc5b6023b1ff1c6de56f82bcd264f", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "conflict": { + "symfony/config": "<4.2", + "symfony/dependency-injection": "<3.4", + "symfony/yaml": "<3.4" + }, + "require-dev": { + "doctrine/annotations": "~1.2", + "psr/log": "~1.0", + "symfony/config": "~4.2", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Routing Component", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/security-bundle", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-bundle.git", + "reference": "97ba8648e718999793e79ab4d1f1582c8d19be9d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/97ba8648e718999793e79ab4d1f1582c8d19be9d", + "reference": "97ba8648e718999793e79ab4d1f1582c8d19be9d", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": "^7.1.3", + "symfony/config": "^4.2", + "symfony/dependency-injection": "^4.2", + "symfony/http-kernel": "^4.3", + "symfony/security-core": "~4.3", + "symfony/security-csrf": "~4.2", + "symfony/security-guard": "~4.2", + "symfony/security-http": "^4.3" + }, + "conflict": { + "symfony/browser-kit": "<4.2", + "symfony/console": "<3.4", + "symfony/framework-bundle": "<4.3.4", + "symfony/twig-bundle": "<4.2", + "symfony/var-dumper": "<3.4" + }, + "require-dev": { + "doctrine/doctrine-bundle": "~1.5", + "symfony/asset": "~3.4|~4.0", + "symfony/browser-kit": "~4.2", + "symfony/console": "~3.4|~4.0", + "symfony/css-selector": "~3.4|~4.0", + "symfony/dom-crawler": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/form": "~3.4|~4.0", + "symfony/framework-bundle": "^4.3.4", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0", + "symfony/translation": "~3.4|~4.0", + "symfony/twig-bridge": "~3.4|~4.0", + "symfony/twig-bundle": "~4.2", + "symfony/validator": "~3.4|~4.0", + "symfony/var-dumper": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0", + "twig/twig": "~1.41|~2.10" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\SecurityBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony SecurityBundle", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/security-core", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-core.git", + "reference": "a8c67a8bc6bd8012c5d6b70cb030ca3422476caa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-core/zipball/a8c67a8bc6bd8012c5d6b70cb030ca3422476caa", + "reference": "a8c67a8bc6bd8012c5d6b70cb030ca3422476caa", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/event-dispatcher-contracts": "^1.1", + "symfony/service-contracts": "^1.1" + }, + "conflict": { + "symfony/event-dispatcher": "<4.3", + "symfony/security-guard": "<4.3" + }, + "require-dev": { + "psr/container": "^1.0", + "psr/log": "~1.0", + "symfony/event-dispatcher": "^4.3", + "symfony/expression-language": "~3.4|~4.0", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/ldap": "~3.4|~4.0", + "symfony/validator": "^3.4.31|^4.3.4" + }, + "suggest": { + "psr/container-implementation": "To instantiate the Security class", + "symfony/event-dispatcher": "", + "symfony/expression-language": "For using the expression voter", + "symfony/http-foundation": "", + "symfony/ldap": "For using LDAP integration", + "symfony/validator": "For using the user password constraint" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Core\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Security Component - Core Library", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:55:16+00:00" + }, + { + "name": "symfony/security-csrf", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-csrf.git", + "reference": "d218ba086ef4a68081f3dd5ec11611f5d64d58f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/d218ba086ef4a68081f3dd5ec11611f5d64d58f3", + "reference": "d218ba086ef4a68081f3dd5ec11611f5d64d58f3", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/security-core": "~3.4|~4.0" + }, + "conflict": { + "symfony/http-foundation": "<3.4" + }, + "require-dev": { + "symfony/http-foundation": "~3.4|~4.0" + }, + "suggest": { + "symfony/http-foundation": "For using the class SessionTokenStorage." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Csrf\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Security Component - CSRF Library", + "homepage": "https://symfony.com", + "time": "2019-08-13T06:39:03+00:00" + }, + { + "name": "symfony/security-guard", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-guard.git", + "reference": "cf06aa4f8ea38a769476c4f5989f1dc400a308a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-guard/zipball/cf06aa4f8ea38a769476c4f5989f1dc400a308a1", + "reference": "cf06aa4f8ea38a769476c4f5989f1dc400a308a1", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/security-core": "~3.4.22|^4.2.3", + "symfony/security-http": "^4.3" + }, + "require-dev": { + "psr/log": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Guard\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Security Component - Guard", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/security-http", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-http.git", + "reference": "65281f9b7c7a77cccaa5b89026ef2a02940dc2cc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-http/zipball/65281f9b7c7a77cccaa5b89026ef2a02940dc2cc", + "reference": "65281f9b7c7a77cccaa5b89026ef2a02940dc2cc", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/http-kernel": "^4.3", + "symfony/property-access": "~3.4|~4.0", + "symfony/security-core": "^4.3" + }, + "conflict": { + "symfony/security-csrf": "<3.4.11|~4.0,<4.0.11" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/routing": "~3.4|~4.0", + "symfony/security-csrf": "^3.4.11|^4.0.11" + }, + "suggest": { + "symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs", + "symfony/security-csrf": "For using tokens to protect authentication/logout attempts" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Http\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Security Component - HTTP Integration", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/serializer", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/serializer.git", + "reference": "702900654e0ceed9ca7a9eccffb1d6ec69d7c8b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/serializer/zipball/702900654e0ceed9ca7a9eccffb1d6ec69d7c8b6", + "reference": "702900654e0ceed9ca7a9eccffb1d6ec69d7c8b6", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "phpdocumentor/type-resolver": "<0.2.1", + "symfony/dependency-injection": "<3.4", + "symfony/property-access": "<3.4", + "symfony/property-info": "<3.4", + "symfony/yaml": "<3.4" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "symfony/cache": "~3.4|~4.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/property-access": "~3.4|~4.0", + "symfony/property-info": "^3.4.13|~4.0", + "symfony/validator": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "psr/cache-implementation": "For using the metadata cache.", + "symfony/config": "For using the XML mapping loader.", + "symfony/http-foundation": "For using a MIME type guesser within the DataUriNormalizer.", + "symfony/property-access": "For using the ObjectNormalizer.", + "symfony/property-info": "To deserialize relations.", + "symfony/yaml": "For using the default YAML mapping loader." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Serializer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Serializer Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:55:16+00:00" + }, + { + "name": "symfony/serializer-pack", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/serializer-pack.git", + "reference": "c5f18ba4ff989a42d7d140b7f85406e77cd8c4b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/serializer-pack/zipball/c5f18ba4ff989a42d7d140b7f85406e77cd8c4b2", + "reference": "c5f18ba4ff989a42d7d140b7f85406e77cd8c4b2", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.0", + "php": "^7.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "symfony/property-access": "*", + "symfony/property-info": "*", + "symfony/serializer": "*" + }, + "type": "symfony-pack", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A pack for the Symfony serializer", + "time": "2018-12-10T12:14:14+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v1.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "ea7263d6b6d5f798b56a45a5b8d686725f2719a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ea7263d6b6d5f798b56a45a5b8d686725f2719a3", + "reference": "ea7263d6b6d5f798b56a45a5b8d686725f2719a3", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-08-20T14:44:19+00:00" + }, + { + "name": "symfony/stopwatch", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/stopwatch.git", + "reference": "1e4ff456bd625be5032fac9be4294e60442e9b71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/1e4ff456bd625be5032fac9be4294e60442e9b71", + "reference": "1e4ff456bd625be5032fac9be4294e60442e9b71", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/service-contracts": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Stopwatch Component", + "homepage": "https://symfony.com", + "time": "2019-08-07T11:52:19+00:00" + }, + { + "name": "symfony/swiftmailer-bundle", + "version": "v3.2.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/swiftmailer-bundle.git", + "reference": "cb125b3648f132fb8070b55393f20cb310907d3b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/cb125b3648f132fb8070b55393f20cb310907d3b", + "reference": "cb125b3648f132fb8070b55393f20cb310907d3b", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "swiftmailer/swiftmailer": "^6.1.3", + "symfony/config": "~2.8|~3.3|~4.0", + "symfony/dependency-injection": "~2.7|~3.3|~4.0", + "symfony/http-kernel": "~2.7|~3.3|~4.0" + }, + "conflict": { + "twig/twig": "<1.41|<2.10" + }, + "require-dev": { + "symfony/console": "~2.7|~3.3|~4.0", + "symfony/framework-bundle": "~2.7|~3.3|~4.0", + "symfony/phpunit-bridge": "~3.3|~4.0", + "symfony/yaml": "~2.7|~3.3|~4.0" + }, + "suggest": { + "psr/log": "Allows logging" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\SwiftmailerBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony SwiftmailerBundle", + "homepage": "http://symfony.com", + "time": "2019-06-18T15:27:04+00:00" + }, + { + "name": "symfony/translation", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "28498169dd334095fa981827992f3a24d50fed0f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/28498169dd334095fa981827992f3a24d50fed0f", + "reference": "28498169dd334095fa981827992f3a24d50fed0f", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^1.1.6" + }, + "conflict": { + "symfony/config": "<3.4", + "symfony/dependency-injection": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "symfony/translation-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/http-kernel": "~3.4|~4.0", + "symfony/intl": "~3.4|~4.0", + "symfony/service-contracts": "^1.1.2", + "symfony/var-dumper": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:55:16+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v1.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "325b17c24f3ee23cbecfa63ba809c6d89b5fa04a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/325b17c24f3ee23cbecfa63ba809c6d89b5fa04a", + "reference": "325b17c24f3ee23cbecfa63ba809c6d89b5fa04a", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-08-02T12:15:04+00:00" + }, + { + "name": "symfony/twig-bridge", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bridge.git", + "reference": "cd6c551dc5d62b520d1a973fb4cb2c46bfc00b62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/cd6c551dc5d62b520d1a973fb4cb2c46bfc00b62", + "reference": "cd6c551dc5d62b520d1a973fb4cb2c46bfc00b62", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/translation-contracts": "^1.1", + "twig/twig": "^1.41|^2.10" + }, + "conflict": { + "symfony/console": "<3.4", + "symfony/form": "<4.3.4", + "symfony/http-foundation": "<4.3", + "symfony/translation": "<4.2", + "symfony/workflow": "<4.3" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10", + "fig/link-util": "^1.0", + "symfony/asset": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/form": "^4.3.4", + "symfony/http-foundation": "~4.3", + "symfony/http-kernel": "~3.4|~4.0", + "symfony/mime": "~4.3", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/routing": "~3.4|~4.0", + "symfony/security-acl": "~2.8|~3.0", + "symfony/security-core": "~3.0|~4.0", + "symfony/security-csrf": "~3.4|~4.0", + "symfony/security-http": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0", + "symfony/templating": "~3.4|~4.0", + "symfony/translation": "^4.2.1", + "symfony/var-dumper": "~3.4|~4.0", + "symfony/web-link": "~3.4|~4.0", + "symfony/workflow": "~4.3", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/asset": "For using the AssetExtension", + "symfony/expression-language": "For using the ExpressionExtension", + "symfony/finder": "", + "symfony/form": "For using the FormExtension", + "symfony/http-kernel": "For using the HttpKernelExtension", + "symfony/routing": "For using the RoutingExtension", + "symfony/security-core": "For using the SecurityExtension", + "symfony/security-csrf": "For using the CsrfExtension", + "symfony/security-http": "For using the LogoutUrlExtension", + "symfony/stopwatch": "For using the StopwatchExtension", + "symfony/templating": "For using the TwigEngine", + "symfony/translation": "For using the TranslationExtension", + "symfony/var-dumper": "For using the DumpExtension", + "symfony/web-link": "For using the WebLinkExtension", + "symfony/yaml": "For using the YamlExtension" + }, + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Twig\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Twig Bridge", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/twig-bundle", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bundle.git", + "reference": "9528fdd8b9ba3f66c5570c22fb1a547e35abb23d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/9528fdd8b9ba3f66c5570c22fb1a547e35abb23d", + "reference": "9528fdd8b9ba3f66c5570c22fb1a547e35abb23d", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/config": "~4.2", + "symfony/debug": "~4.0", + "symfony/http-foundation": "~4.3", + "symfony/http-kernel": "~4.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/twig-bridge": "^4.3", + "twig/twig": "~1.41|~2.10" + }, + "conflict": { + "symfony/dependency-injection": "<4.1", + "symfony/framework-bundle": "<4.3", + "symfony/translation": "<4.2" + }, + "require-dev": { + "doctrine/annotations": "~1.7", + "doctrine/cache": "~1.0", + "symfony/asset": "~3.4|~4.0", + "symfony/dependency-injection": "^4.2.5", + "symfony/expression-language": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", + "symfony/form": "~3.4|~4.0", + "symfony/framework-bundle": "~4.3", + "symfony/routing": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0", + "symfony/templating": "~3.4|~4.0", + "symfony/translation": "^4.2", + "symfony/web-link": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\TwigBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony TwigBundle", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/validator", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/validator.git", + "reference": "173b483999c2acad8e040633105733318dcc8a83" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/validator/zipball/173b483999c2acad8e040633105733318dcc8a83", + "reference": "173b483999c2acad8e040633105733318dcc8a83", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^1.1" + }, + "conflict": { + "doctrine/lexer": "<1.0.2", + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", + "symfony/dependency-injection": "<3.4", + "symfony/http-kernel": "<3.4", + "symfony/intl": "<4.3", + "symfony/translation": "<4.2", + "symfony/yaml": "<3.4" + }, + "require-dev": { + "doctrine/annotations": "~1.7", + "doctrine/cache": "~1.0", + "egulias/email-validator": "^2.1.10", + "symfony/cache": "~3.4|~4.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/http-client": "^4.3", + "symfony/http-foundation": "~4.1", + "symfony/http-kernel": "~3.4|~4.0", + "symfony/intl": "^4.3", + "symfony/property-access": "~3.4|~4.0", + "symfony/property-info": "~3.4|~4.0", + "symfony/translation": "~4.2", + "symfony/var-dumper": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "egulias/email-validator": "Strict (RFC compliant) email validation", + "psr/cache-implementation": "For using the metadata cache.", + "symfony/config": "", + "symfony/expression-language": "For using the Expression validator", + "symfony/http-foundation": "", + "symfony/intl": "", + "symfony/property-access": "For accessing properties within comparison constraints", + "symfony/property-info": "To automatically add NotNull and Type constraints", + "symfony/translation": "For translating validation errors.", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Validator\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Validator Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T09:28:48+00:00" + }, + { + "name": "symfony/var-exporter", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-exporter.git", + "reference": "d5b4e2d334c1d80e42876c7d489896cfd37562f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/d5b4e2d334c1d80e42876c7d489896cfd37562f2", + "reference": "d5b4e2d334c1d80e42876c7d489896cfd37562f2", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "require-dev": { + "symfony/var-dumper": "^4.1.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\VarExporter\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A blend of var_export() + serialize() to turn any serializable data structure to plain PHP code", + "homepage": "https://symfony.com", + "keywords": [ + "clone", + "construct", + "export", + "hydrate", + "instantiate", + "serialize" + ], + "time": "2019-08-22T07:33:08+00:00" + }, + { + "name": "symfony/web-link", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/web-link.git", + "reference": "4bd0ce7c54d604300deee8eb1b1beda856fbba20" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/web-link/zipball/4bd0ce7c54d604300deee8eb1b1beda856fbba20", + "reference": "4bd0ce7c54d604300deee8eb1b1beda856fbba20", + "shasum": "" + }, + "require": { + "fig/link-util": "^1.0", + "php": "^7.1.3", + "psr/link": "^1.0" + }, + "conflict": { + "symfony/http-kernel": "<4.3" + }, + "require-dev": { + "symfony/http-foundation": "~3.4|~4.0", + "symfony/http-kernel": "^4.3" + }, + "suggest": { + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\WebLink\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kévin Dunglas", + "email": "dunglas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony WebLink Component", + "homepage": "https://symfony.com", + "keywords": [ + "dns-prefetch", + "http", + "http2", + "link", + "performance", + "prefetch", + "preload", + "prerender", + "psr13", + "push" + ], + "time": "2019-08-08T09:29:19+00:00" + }, + { + "name": "symfony/yaml", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686", + "reference": "5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2019-08-20T14:27:59+00:00" + }, + { + "name": "twig/twig", + "version": "v2.11.3", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "699ed2342557c88789a15402de5eb834dedd6792" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/699ed2342557c88789a15402de5eb834dedd6792", + "reference": "699ed2342557c88789a15402de5eb834dedd6792", + "shasum": "" + }, + "require": { + "php": "^7.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/debug": "^2.7", + "symfony/phpunit-bridge": "^3.4.19|^4.1.8|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.11-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + }, + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "https://twig.symfony.com/contributors", + "role": "Contributors" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "time": "2019-06-18T15:37:11+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/88e6d84706d09a236046d686bbea96f07b3a34f4", + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36 || ^7.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2019-08-24T08:43:50+00:00" + }, + { + "name": "zendframework/zend-code", + "version": "3.3.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-code.git", + "reference": "936fa7ad4d53897ea3e3eb41b5b760828246a20b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-code/zipball/936fa7ad4d53897ea3e3eb41b5b760828246a20b", + "reference": "936fa7ad4d53897ea3e3eb41b5b760828246a20b", + "shasum": "" + }, + "require": { + "php": "^7.1", + "zendframework/zend-eventmanager": "^2.6 || ^3.0" + }, + "require-dev": { + "doctrine/annotations": "^1.0", + "ext-phar": "*", + "phpunit/phpunit": "^7.5.15", + "zendframework/zend-coding-standard": "^1.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "suggest": { + "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", + "zendframework/zend-stdlib": "Zend\\Stdlib component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3.x-dev", + "dev-develop": "3.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Code\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", + "keywords": [ + "ZendFramework", + "code", + "zf" + ], + "time": "2019-08-31T14:14:34+00:00" + }, + { + "name": "zendframework/zend-eventmanager", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-eventmanager.git", + "reference": "a5e2583a211f73604691586b8406ff7296a946dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/a5e2583a211f73604691586b8406ff7296a946dd", + "reference": "a5e2583a211f73604691586b8406ff7296a946dd", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "athletic/athletic": "^0.1", + "container-interop/container-interop": "^1.1.0", + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-stdlib": "^2.7.3 || ^3.0" + }, + "suggest": { + "container-interop/container-interop": "^1.1.0, to use the lazy listeners feature", + "zendframework/zend-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev", + "dev-develop": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\EventManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Trigger and listen to events within a PHP application", + "homepage": "https://github.com/zendframework/zend-eventmanager", + "keywords": [ + "event", + "eventmanager", + "events", + "zf2" + ], + "time": "2018-04-25T15:33:34+00:00" + } + ], + "packages-dev": [ + { + "name": "easycorp/easy-log-handler", + "version": "v1.0.7", + "source": { + "type": "git", + "url": "https://github.com/EasyCorp/easy-log-handler.git", + "reference": "5f95717248d20684f88cfb878d8bf3d78aadcbba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/EasyCorp/easy-log-handler/zipball/5f95717248d20684f88cfb878d8bf3d78aadcbba", + "reference": "5f95717248d20684f88cfb878d8bf3d78aadcbba", + "shasum": "" + }, + "require": { + "monolog/monolog": "~1.6", + "php": ">=5.3.0", + "symfony/yaml": "~2.3|~3.0|~4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "EasyCorp\\EasyLog\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Javier Eguiluz", + "email": "javiereguiluz@gmail.com" + }, + { + "name": "Project Contributors", + "homepage": "https://github.com/EasyCorp/easy-log-handler" + } + ], + "description": "A handler for Monolog that optimizes log messages to be processed by humans instead of software. Improve your productivity with logs that are easy to understand.", + "homepage": "https://github.com/EasyCorp/easy-log-handler", + "keywords": [ + "easy", + "log", + "logging", + "monolog", + "productivity" + ], + "time": "2018-07-27T15:41:37+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.2.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "97e59c7a16464196a8b9c77c47df68e4a39a45c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/97e59c7a16464196a8b9c77c47df68e4a39a45c4", + "reference": "97e59c7a16464196a8b9c77c47df68e4a39a45c4", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2019-09-01T07:51:21+00:00" + }, + { + "name": "symfony/browser-kit", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/browser-kit.git", + "reference": "9e5dddb637b13db82e35695a8603fe6e118cc119" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9e5dddb637b13db82e35695a8603fe6e118cc119", + "reference": "9e5dddb637b13db82e35695a8603fe6e118cc119", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/dom-crawler": "~3.4|~4.0" + }, + "require-dev": { + "symfony/css-selector": "~3.4|~4.0", + "symfony/http-client": "^4.3", + "symfony/mime": "^4.3", + "symfony/process": "~3.4|~4.0" + }, + "suggest": { + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\BrowserKit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony BrowserKit Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "c6e5e2a00db768c92c3ae131532af4e1acc7bd03" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/c6e5e2a00db768c92c3ae131532af4e1acc7bd03", + "reference": "c6e5e2a00db768c92c3ae131532af4e1acc7bd03", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com", + "time": "2019-08-20T14:07:54+00:00" + }, + { + "name": "symfony/debug-bundle", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug-bundle.git", + "reference": "bb83f93785dae1f9c227a408ced3eb3f86399bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/bb83f93785dae1f9c227a408ced3eb3f86399bf8", + "reference": "bb83f93785dae1f9c227a408ced3eb3f86399bf8", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": "^7.1.3", + "symfony/http-kernel": "~3.4|~4.0", + "symfony/twig-bridge": "~3.4|~4.0", + "symfony/var-dumper": "^4.1.1" + }, + "conflict": { + "symfony/config": "<4.2", + "symfony/dependency-injection": "<3.4" + }, + "require-dev": { + "symfony/config": "~4.2", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/web-profiler-bundle": "~3.4|~4.0" + }, + "suggest": { + "symfony/config": "For service container configuration", + "symfony/dependency-injection": "For using as a service from the container" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\DebugBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DebugBundle", + "homepage": "https://symfony.com", + "time": "2019-07-19T08:33:28+00:00" + }, + { + "name": "symfony/debug-pack", + "version": "v1.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug-pack.git", + "reference": "09a4a1e9bf2465987d4f79db0ad6c11cc632bc79" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug-pack/zipball/09a4a1e9bf2465987d4f79db0ad6c11cc632bc79", + "reference": "09a4a1e9bf2465987d4f79db0ad6c11cc632bc79", + "shasum": "" + }, + "require": { + "easycorp/easy-log-handler": "^1.0.7", + "php": "^7.0", + "symfony/debug-bundle": "*", + "symfony/monolog-bundle": "^3.0", + "symfony/profiler-pack": "*", + "symfony/var-dumper": "*" + }, + "type": "symfony-pack", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A debug pack for Symfony projects", + "time": "2018-12-10T12:11:11+00:00" + }, + { + "name": "symfony/dom-crawler", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "cc686552948d627528c0e2e759186dff67c2610e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/cc686552948d627528c0e2e759186dff67c2610e", + "reference": "cc686552948d627528c0e2e759186dff67c2610e", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "masterminds/html5": "<2.6" + }, + "require-dev": { + "masterminds/html5": "^2.6", + "symfony/css-selector": "~3.4|~4.0" + }, + "suggest": { + "symfony/css-selector": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/maker-bundle", + "version": "v1.13.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/maker-bundle.git", + "reference": "c4388410e2fb6321e77c5dd6e3cb2dba821f9fe6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/c4388410e2fb6321e77c5dd6e3cb2dba821f9fe6", + "reference": "c4388410e2fb6321e77c5dd6e3cb2dba821f9fe6", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^1.2", + "nikic/php-parser": "^4.0", + "php": "^7.0.8", + "symfony/config": "^3.4|^4.0", + "symfony/console": "^3.4|^4.0", + "symfony/dependency-injection": "^3.4|^4.0", + "symfony/filesystem": "^3.4|^4.0", + "symfony/finder": "^3.4|^4.0", + "symfony/framework-bundle": "^3.4|^4.0", + "symfony/http-kernel": "^3.4|^4.0" + }, + "require-dev": { + "doctrine/doctrine-bundle": "^1.8", + "doctrine/orm": "^2.3", + "friendsofphp/php-cs-fixer": "^2.8", + "friendsoftwig/twigcs": "^3.1.2", + "symfony/http-client": "^4.3", + "symfony/phpunit-bridge": "^3.4.19|^4.0", + "symfony/process": "^3.4|^4.0", + "symfony/security-core": "^3.4|^4.0", + "symfony/yaml": "^3.4|^4.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\MakerBundle\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.", + "homepage": "https://symfony.com/doc/current/bundles/SymfonyMakerBundle/index.html", + "keywords": [ + "code generator", + "generator", + "scaffold", + "scaffolding" + ], + "time": "2019-08-18T17:34:03+00:00" + }, + { + "name": "symfony/phpunit-bridge", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/phpunit-bridge.git", + "reference": "3b1ab2e027d7c5af0e693c4a5b4ba5d407f1814d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/3b1ab2e027d7c5af0e693c4a5b4ba5d407f1814d", + "reference": "3b1ab2e027d7c5af0e693c4a5b4ba5d407f1814d", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "conflict": { + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0" + }, + "suggest": { + "symfony/debug": "For tracking deprecated interfaces usages at runtime with DebugClassLoader" + }, + "bin": [ + "bin/simple-phpunit" + ], + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + }, + "thanks": { + "name": "phpunit/phpunit", + "url": "https://github.com/sebastianbergmann/phpunit" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Bridge\\PhpUnit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony PHPUnit Bridge", + "homepage": "https://symfony.com", + "time": "2019-08-20T14:27:59+00:00" + }, + { + "name": "symfony/profiler-pack", + "version": "v1.0.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/profiler-pack.git", + "reference": "99c4370632c2a59bb0444852f92140074ef02209" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/profiler-pack/zipball/99c4370632c2a59bb0444852f92140074ef02209", + "reference": "99c4370632c2a59bb0444852f92140074ef02209", + "shasum": "" + }, + "require": { + "php": "^7.0", + "symfony/stopwatch": "*", + "symfony/twig-bundle": "*", + "symfony/web-profiler-bundle": "*" + }, + "type": "symfony-pack", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A pack for the Symfony web profiler", + "time": "2018-12-10T12:11:44+00:00" + }, + { + "name": "symfony/test-pack", + "version": "v1.0.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/test-pack.git", + "reference": "ff87e800a67d06c423389f77b8209bc9dc469def" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/test-pack/zipball/ff87e800a67d06c423389f77b8209bc9dc469def", + "reference": "ff87e800a67d06c423389f77b8209bc9dc469def", + "shasum": "" + }, + "require": { + "php": "^7.0", + "symfony/browser-kit": "*", + "symfony/css-selector": "*", + "symfony/phpunit-bridge": "*" + }, + "type": "symfony-pack", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A pack for functional and end-to-end testing within a Symfony app", + "time": "2019-06-21T06:27:32+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/641043e0f3e615990a0f29479f9c117e8a6698c6", + "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php72": "~1.5" + }, + "conflict": { + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", + "symfony/console": "<3.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0", + "twig/twig": "~1.34|~2.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony mechanism for exploring and dumping PHP variables", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/web-profiler-bundle", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/web-profiler-bundle.git", + "reference": "387c36fd133c08bb0d78d8de17c1121681b37a09" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/387c36fd133c08bb0d78d8de17c1121681b37a09", + "reference": "387c36fd133c08bb0d78d8de17c1121681b37a09", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/config": "^4.2", + "symfony/http-kernel": "^4.3", + "symfony/routing": "~3.4|~4.0", + "symfony/twig-bundle": "~4.2", + "symfony/var-dumper": "~3.4|~4.0", + "twig/twig": "^1.41|^2.10" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/form": "<4.3", + "symfony/messenger": "<4.2", + "symfony/var-dumper": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/stopwatch": "~3.4|~4.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\WebProfilerBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony WebProfilerBundle", + "homepage": "https://symfony.com", + "time": "2019-08-26T08:26:39+00:00" + }, + { + "name": "symfony/web-server-bundle", + "version": "v4.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/web-server-bundle.git", + "reference": "dc26b980900ddf3e9feade14e5b21c029e8ca92f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/web-server-bundle/zipball/dc26b980900ddf3e9feade14e5b21c029e8ca92f", + "reference": "dc26b980900ddf3e9feade14e5b21c029e8ca92f", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/config": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/http-kernel": "~3.4|~4.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/process": "^3.4.2|^4.0.2" + }, + "suggest": { + "symfony/expression-language": "For using the filter option of the log server.", + "symfony/monolog-bridge": "For using the log server." + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\WebServerBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony WebServerBundle", + "homepage": "https://symfony.com", + "time": "2019-08-20T14:27:59+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "^7.1.2", + "ext-ctype": "*", + "ext-iconv": "*", + "ext-json": "*" + }, + "platform-dev": [] +} diff --git a/config/bootstrap.php b/config/bootstrap.php new file mode 100644 index 0000000..9c5a99c --- /dev/null +++ b/config/bootstrap.php @@ -0,0 +1,23 @@ +=1.2) +if (is_array($env = @include dirname(__DIR__).'/.env.local.php')) { + foreach ($env as $k => $v) { + $_ENV[$k] = $_ENV[$k] ?? (isset($_SERVER[$k]) && 0 !== strpos($k, 'HTTP_') ? $_SERVER[$k] : $v); + } +} elseif (!class_exists(Dotenv::class)) { + throw new RuntimeException('Please run "composer require symfony/dotenv" to load the ".env" files configuring the application.'); +} else { + // load all the .env files + (new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env'); +} + +$_SERVER += $_ENV; +$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev'; +$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV']; +$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0'; diff --git a/config/bundles.php b/config/bundles.php new file mode 100644 index 0000000..e1237f0 --- /dev/null +++ b/config/bundles.php @@ -0,0 +1,17 @@ + ['all' => true], + Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true], + Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle::class => ['all' => true], + Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], + Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], + Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true], + Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true], + Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], + Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true], + Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true], + Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true], + Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], + Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['dev' => true], +]; diff --git a/config/packages/cache.yaml b/config/packages/cache.yaml new file mode 100644 index 0000000..4028c9b --- /dev/null +++ b/config/packages/cache.yaml @@ -0,0 +1,19 @@ +framework: + cache: + # Put the unique name of your app here: the prefix seed + # is used to compute stable namespaces for cache keys. + #prefix_seed: your_vendor_name/app_name + + # The app cache caches to the filesystem by default. + # Other options include: + + # Redis + #app: cache.adapter.redis + #default_redis_provider: redis://localhost + + # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) + #app: cache.adapter.apcu + + # Namespaced pools use the above "app" backend by default + #pools: + #my.dedicated.cache: null diff --git a/config/packages/dev/debug.yaml b/config/packages/dev/debug.yaml new file mode 100644 index 0000000..26d4e53 --- /dev/null +++ b/config/packages/dev/debug.yaml @@ -0,0 +1,4 @@ +debug: + # Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser. + # See the "server:dump" command to start a new server. + dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%" diff --git a/config/packages/dev/easy_log_handler.yaml b/config/packages/dev/easy_log_handler.yaml new file mode 100644 index 0000000..27bfc60 --- /dev/null +++ b/config/packages/dev/easy_log_handler.yaml @@ -0,0 +1,16 @@ +services: + EasyCorp\EasyLog\EasyLogHandler: + public: false + arguments: ['%kernel.logs_dir%/%kernel.environment%.log'] + +#// FIXME: How to add this configuration automatically without messing up with the monolog configuration? +#monolog: +# handlers: +# buffered: +# type: buffer +# handler: easylog +# channels: ['!event'] +# level: debug +# easylog: +# type: service +# id: EasyCorp\EasyLog\EasyLogHandler diff --git a/config/packages/dev/monolog.yaml b/config/packages/dev/monolog.yaml new file mode 100644 index 0000000..b1998da --- /dev/null +++ b/config/packages/dev/monolog.yaml @@ -0,0 +1,19 @@ +monolog: + handlers: + main: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + channels: ["!event"] + # uncomment to get logging in your browser + # you may have to allow bigger header sizes in your Web server configuration + #firephp: + # type: firephp + # level: info + #chromephp: + # type: chromephp + # level: info + console: + type: console + process_psr_3_messages: false + channels: ["!event", "!doctrine", "!console"] diff --git a/config/packages/dev/routing.yaml b/config/packages/dev/routing.yaml new file mode 100644 index 0000000..4116679 --- /dev/null +++ b/config/packages/dev/routing.yaml @@ -0,0 +1,3 @@ +framework: + router: + strict_requirements: true diff --git a/config/packages/dev/swiftmailer.yaml b/config/packages/dev/swiftmailer.yaml new file mode 100644 index 0000000..b98158e --- /dev/null +++ b/config/packages/dev/swiftmailer.yaml @@ -0,0 +1,4 @@ +# See https://symfony.com/doc/current/email/dev_environment.html +swiftmailer: + # send all emails to a specific address + #delivery_addresses: ['me@example.com'] diff --git a/config/packages/dev/web_profiler.yaml b/config/packages/dev/web_profiler.yaml new file mode 100644 index 0000000..e92166a --- /dev/null +++ b/config/packages/dev/web_profiler.yaml @@ -0,0 +1,6 @@ +web_profiler: + toolbar: true + intercept_redirects: false + +framework: + profiler: { only_exceptions: false } diff --git a/config/packages/doctrine.yaml b/config/packages/doctrine.yaml new file mode 100644 index 0000000..849e3f4 --- /dev/null +++ b/config/packages/doctrine.yaml @@ -0,0 +1,22 @@ +doctrine: + dbal: + # configure these for your database server + driver: 'pdo_mysql' + server_version: '5.7' + charset: utf8mb4 + default_table_options: + charset: utf8mb4 + collate: utf8mb4_unicode_ci + + url: '%env(resolve:DATABASE_URL)%' + orm: + auto_generate_proxy_classes: true + naming_strategy: doctrine.orm.naming_strategy.underscore + auto_mapping: true + mappings: + App: + is_bundle: false + type: annotation + dir: '%kernel.project_dir%/src/Entity' + prefix: 'App\Entity' + alias: App diff --git a/config/packages/doctrine_migrations.yaml b/config/packages/doctrine_migrations.yaml new file mode 100644 index 0000000..3bf0fbc --- /dev/null +++ b/config/packages/doctrine_migrations.yaml @@ -0,0 +1,5 @@ +doctrine_migrations: + dir_name: '%kernel.project_dir%/src/Migrations' + # namespace is arbitrary but should be different from App\Migrations + # as migrations classes should NOT be autoloaded + namespace: DoctrineMigrations diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml new file mode 100644 index 0000000..6089f4b --- /dev/null +++ b/config/packages/framework.yaml @@ -0,0 +1,16 @@ +framework: + secret: '%env(APP_SECRET)%' + #csrf_protection: true + #http_method_override: true + + # Enables session support. Note that the session will ONLY be started if you read or write from it. + # Remove or comment this section to explicitly disable session support. + session: + handler_id: null + cookie_secure: auto + cookie_samesite: lax + + #esi: true + #fragments: true + php_errors: + log: true diff --git a/config/packages/prod/doctrine.yaml b/config/packages/prod/doctrine.yaml new file mode 100644 index 0000000..0a7c53b --- /dev/null +++ b/config/packages/prod/doctrine.yaml @@ -0,0 +1,32 @@ +doctrine: + orm: + auto_generate_proxy_classes: false + metadata_cache_driver: + type: service + id: doctrine.system_cache_provider + query_cache_driver: + type: service + id: doctrine.system_cache_provider + result_cache_driver: + type: service + id: doctrine.result_cache_provider + +services: + doctrine.result_cache_provider: + class: Symfony\Component\Cache\DoctrineProvider + public: false + arguments: + - '@doctrine.result_cache_pool' + doctrine.system_cache_provider: + class: Symfony\Component\Cache\DoctrineProvider + public: false + arguments: + - '@doctrine.system_cache_pool' + +framework: + cache: + pools: + doctrine.result_cache_pool: + adapter: cache.app + doctrine.system_cache_pool: + adapter: cache.system diff --git a/config/packages/prod/monolog.yaml b/config/packages/prod/monolog.yaml new file mode 100644 index 0000000..5bcdf06 --- /dev/null +++ b/config/packages/prod/monolog.yaml @@ -0,0 +1,23 @@ +monolog: + handlers: + main: + type: fingers_crossed + action_level: error + handler: nested + excluded_http_codes: [404, 405] + nested: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + console: + type: console + process_psr_3_messages: false + channels: ["!event", "!doctrine"] + deprecation: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log" + deprecation_filter: + type: filter + handler: deprecation + max_level: info + channels: ["php"] diff --git a/config/packages/routing.yaml b/config/packages/routing.yaml new file mode 100644 index 0000000..3d69e1e --- /dev/null +++ b/config/packages/routing.yaml @@ -0,0 +1,4 @@ +framework: + router: + strict_requirements: null + utf8: true diff --git a/config/packages/security.yaml b/config/packages/security.yaml new file mode 100644 index 0000000..855f921 --- /dev/null +++ b/config/packages/security.yaml @@ -0,0 +1,22 @@ +security: + # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers + providers: + in_memory: { memory: null } + firewalls: + dev: + pattern: ^/(_(profiler|wdt)|css|images|js)/ + security: false + main: + anonymous: true + + # activate different ways to authenticate + # https://symfony.com/doc/current/security.html#firewalls-authentication + + # https://symfony.com/doc/current/security/impersonating_user.html + # switch_user: true + + # Easy way to control access for large sections of your site + # Note: Only the *first* access control that matches will be used + access_control: + # - { path: ^/admin, roles: ROLE_ADMIN } + # - { path: ^/profile, roles: ROLE_USER } diff --git a/config/packages/sensio_framework_extra.yaml b/config/packages/sensio_framework_extra.yaml new file mode 100644 index 0000000..1821ccc --- /dev/null +++ b/config/packages/sensio_framework_extra.yaml @@ -0,0 +1,3 @@ +sensio_framework_extra: + router: + annotations: false diff --git a/config/packages/swiftmailer.yaml b/config/packages/swiftmailer.yaml new file mode 100644 index 0000000..cae6508 --- /dev/null +++ b/config/packages/swiftmailer.yaml @@ -0,0 +1,3 @@ +swiftmailer: + url: '%env(MAILER_URL)%' + spool: { type: 'memory' } diff --git a/config/packages/test/framework.yaml b/config/packages/test/framework.yaml new file mode 100644 index 0000000..d051c84 --- /dev/null +++ b/config/packages/test/framework.yaml @@ -0,0 +1,4 @@ +framework: + test: true + session: + storage_id: session.storage.mock_file diff --git a/config/packages/test/monolog.yaml b/config/packages/test/monolog.yaml new file mode 100644 index 0000000..2762653 --- /dev/null +++ b/config/packages/test/monolog.yaml @@ -0,0 +1,7 @@ +monolog: + handlers: + main: + type: stream + path: "%kernel.logs_dir%/%kernel.environment%.log" + level: debug + channels: ["!event"] diff --git a/config/packages/test/routing.yaml b/config/packages/test/routing.yaml new file mode 100644 index 0000000..4116679 --- /dev/null +++ b/config/packages/test/routing.yaml @@ -0,0 +1,3 @@ +framework: + router: + strict_requirements: true diff --git a/config/packages/test/swiftmailer.yaml b/config/packages/test/swiftmailer.yaml new file mode 100644 index 0000000..f438078 --- /dev/null +++ b/config/packages/test/swiftmailer.yaml @@ -0,0 +1,2 @@ +swiftmailer: + disable_delivery: true diff --git a/config/packages/test/validator.yaml b/config/packages/test/validator.yaml new file mode 100644 index 0000000..1e5ab78 --- /dev/null +++ b/config/packages/test/validator.yaml @@ -0,0 +1,3 @@ +framework: + validation: + not_compromised_password: false diff --git a/config/packages/test/web_profiler.yaml b/config/packages/test/web_profiler.yaml new file mode 100644 index 0000000..03752de --- /dev/null +++ b/config/packages/test/web_profiler.yaml @@ -0,0 +1,6 @@ +web_profiler: + toolbar: false + intercept_redirects: false + +framework: + profiler: { collect: false } diff --git a/config/packages/translation.yaml b/config/packages/translation.yaml new file mode 100644 index 0000000..05a2b3d --- /dev/null +++ b/config/packages/translation.yaml @@ -0,0 +1,6 @@ +framework: + default_locale: en + translator: + default_path: '%kernel.project_dir%/translations' + fallbacks: + - en diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml new file mode 100644 index 0000000..d1582a2 --- /dev/null +++ b/config/packages/twig.yaml @@ -0,0 +1,4 @@ +twig: + default_path: '%kernel.project_dir%/templates' + debug: '%kernel.debug%' + strict_variables: '%kernel.debug%' diff --git a/config/packages/validator.yaml b/config/packages/validator.yaml new file mode 100644 index 0000000..350786a --- /dev/null +++ b/config/packages/validator.yaml @@ -0,0 +1,8 @@ +framework: + validation: + email_validation_mode: html5 + + # Enables validator auto-mapping support. + # For instance, basic validation constraints will be inferred from Doctrine's metadata. + #auto_mapping: + # App\Entity\: [] diff --git a/config/routes.yaml b/config/routes.yaml new file mode 100644 index 0000000..07ec3c1 --- /dev/null +++ b/config/routes.yaml @@ -0,0 +1,12 @@ +home: + path: / + defaults: { _controller: 'App\Controller\HomeController:index' } + +game: + path: /jeu + controller: App\Controller\HomeController:play + +## request AJAX +update_game: + path: /jeu/update + controller: App\Controller\ChessController:updateGame \ No newline at end of file diff --git a/config/routes/annotations.yaml b/config/routes/annotations.yaml new file mode 100644 index 0000000..d49a502 --- /dev/null +++ b/config/routes/annotations.yaml @@ -0,0 +1,3 @@ +controllers: + resource: ../../src/Controller/ + type: annotation diff --git a/config/routes/dev/twig.yaml b/config/routes/dev/twig.yaml new file mode 100644 index 0000000..f4ee839 --- /dev/null +++ b/config/routes/dev/twig.yaml @@ -0,0 +1,3 @@ +_errors: + resource: '@TwigBundle/Resources/config/routing/errors.xml' + prefix: /_error diff --git a/config/routes/dev/web_profiler.yaml b/config/routes/dev/web_profiler.yaml new file mode 100644 index 0000000..c82beff --- /dev/null +++ b/config/routes/dev/web_profiler.yaml @@ -0,0 +1,7 @@ +web_profiler_wdt: + resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml' + prefix: /_wdt + +web_profiler_profiler: + resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml' + prefix: /_profiler diff --git a/config/services.yaml b/config/services.yaml new file mode 100644 index 0000000..5c4b417 --- /dev/null +++ b/config/services.yaml @@ -0,0 +1,27 @@ +# This file is the entry point to configure your own services. +# Files in the packages/ subdirectory configure your dependencies. + +# Put parameters here that don't need to change on each machine where the app is deployed +# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration +parameters: + +services: + # default configuration for services in *this* file + _defaults: + autowire: true # Automatically injects dependencies in your services. + autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. + + # makes classes in src/ available to be used as services + # this creates a service per class whose id is the fully-qualified class name + App\: + resource: '../src/*' + exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}' + + # controllers are imported separately to make sure services can be injected + # as action arguments even if you don't extend any base controller class + App\Controller\: + resource: '../src/Controller' + tags: ['controller.service_arguments'] + + # add more service definitions when explicit configuration is needed + # please note that last definitions always *replace* previous ones diff --git a/jeu.php b/jeu.php deleted file mode 100644 index 86e972d..0000000 --- a/jeu.php +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - The Game - - - -
- - looser tu supporte pas canvas - -
-
- - - diff --git a/phpunit.xml.dist b/phpunit.xml.dist new file mode 100644 index 0000000..cc44e06 --- /dev/null +++ b/phpunit.xml.dist @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + tests + + + + + + src + + + + + + + diff --git a/image/style.css b/public/assets/css/style.css similarity index 100% rename from image/style.css rename to public/assets/css/style.css diff --git a/image/bB.png b/public/assets/image/bB.png similarity index 100% rename from image/bB.png rename to public/assets/image/bB.png diff --git a/image/bN.png b/public/assets/image/bN.png similarity index 100% rename from image/bN.png rename to public/assets/image/bN.png diff --git a/image/bQ.png b/public/assets/image/bQ.png similarity index 100% rename from image/bQ.png rename to public/assets/image/bQ.png diff --git a/image/bT.png b/public/assets/image/bT.png similarity index 100% rename from image/bT.png rename to public/assets/image/bT.png diff --git a/image/nK.png b/public/assets/image/nK.png similarity index 100% rename from image/nK.png rename to public/assets/image/nK.png diff --git a/image/nP.png b/public/assets/image/nP.png similarity index 100% rename from image/nP.png rename to public/assets/image/nP.png diff --git a/image/wB.png b/public/assets/image/wB.png similarity index 100% rename from image/wB.png rename to public/assets/image/wB.png diff --git a/image/wK.png b/public/assets/image/wK.png similarity index 100% rename from image/wK.png rename to public/assets/image/wK.png diff --git a/image/wN.png b/public/assets/image/wN.png similarity index 100% rename from image/wN.png rename to public/assets/image/wN.png diff --git a/image/wP.png b/public/assets/image/wP.png similarity index 100% rename from image/wP.png rename to public/assets/image/wP.png diff --git a/image/wQ.png b/public/assets/image/wQ.png similarity index 100% rename from image/wQ.png rename to public/assets/image/wQ.png diff --git a/image/wT.png b/public/assets/image/wT.png similarity index 100% rename from image/wT.png rename to public/assets/image/wT.png diff --git a/js/draw_board.js b/public/assets/js/draw_board.js similarity index 94% rename from js/draw_board.js rename to public/assets/js/draw_board.js index fe2e91c..dced983 100644 --- a/js/draw_board.js +++ b/public/assets/js/draw_board.js @@ -119,7 +119,7 @@ window.onload = function () { context.drawImage(qw, 300, 0, 100, 100); } - qw.src = '../image/wQ.png'; + qw.src = 'assets/image/wQ.png'; var tw1 = new Image(); @@ -127,27 +127,27 @@ window.onload = function () { context.drawImage(tw1, 0, 0, 100, 100); context.drawImage(tw1, 700, 0, 100, 100); } - tw1.src = '../image/wT.png'; + tw1.src = 'assets/image/wT.png'; var nw = new Image(); nw.onload = function () { context.drawImage(nw, 100, 0, 100, 100); context.drawImage(nw, 600, 0, 100, 100); } - nw.src = '../image/wN.png'; + nw.src = 'assets/image/wN.png'; var bw = new Image(); bw.onload = function () { context.drawImage(bw, 200, 0, 100, 100); context.drawImage(bw, 500, 0, 100, 100); } - bw.src = '../image/wB.png'; + bw.src = 'assets/image/wB.png'; var roi = new Image(); roi.onload = function () { context.drawImage(roi, 400, 0, 100, 100); } - roi.src = '../image/wK.png'; + roi.src = 'assets/image/wK.png'; var pw = new Image(); pw.onload = function () { @@ -156,14 +156,14 @@ window.onload = function () { context.drawImage(pw, i * 100, 100, 100, 100); } } - pw.src = '../image/wP.png'; + pw.src = 'assets/image/wP.png'; var qb = new Image(); qb.onload = function () { context.drawImage(qb, 300, 700, 100, 100); } - qb.src = '../image/bQ.png'; + qb.src = 'assets/image/bQ.png'; var tb = new Image(); @@ -172,7 +172,7 @@ window.onload = function () { context.drawImage(tb, 0, 700, 100, 100); context.drawImage(tb, 700, 700, 100, 100); } - tb.src = '../image/bT.png'; + tb.src = 'assets/image/bT.png'; var nb = new Image(); @@ -180,20 +180,20 @@ window.onload = function () { context.drawImage(nb, 100, 700, 100, 100); context.drawImage(nb, 600, 700, 100, 100); } - nb.src = '../image/bN.png'; + nb.src = 'assets/image/bN.png'; var bb = new Image(); bb.onload = function () { context.drawImage(bb, 200, 700, 100, 100); context.drawImage(bb, 500, 700, 100, 100); } - bb.src = '../image/bB.png'; + bb.src = 'assets/image/bB.png'; var kb = new Image(); kb.onload = function () { context.drawImage(kb, 400, 700, 100, 100); } - kb.src = '../image/nK.png'; + kb.src = 'assets/image/nK.png'; var pb = new Image(); pb.onload = function () { @@ -202,7 +202,7 @@ window.onload = function () { context.drawImage(pb, i2 * 100, 600, 100, 100); } } - pb.src = '../image/nP.png'; + pb.src = 'assets/image/nP.png'; ///Code AJAX pour interagir avec PHP @@ -210,17 +210,19 @@ window.onload = function () { var xhr = new XMLHttpRequest(); var mx = (mouseX / 100); var my = (mouseY / 100); + + if (mx > 7 || my > 7) { + return; + } // alert ('avant state'); xhr.onreadystatechange = function () { // On gère ici une requête asynchrone if (xhr.readyState == 4 && xhr.status == 200) { - var json = eval('(' + xhr.responseText + ')'); //alert ('appel colorcase'); colorcase(json); } - }; - xhr.open("GET", "/ajax.php?mx=" + mx + "&my=" + my, true); + xhr.open("GET", "/jeu/update?mx=" + mx + "&my=" + my, true); xhr.send(null); } @@ -310,9 +312,6 @@ window.onload = function () { break; } break; - break; - - } } else { carre = tablo; diff --git a/public/index.php b/public/index.php new file mode 100644 index 0000000..e30f90c --- /dev/null +++ b/public/index.php @@ -0,0 +1,27 @@ +handle($request); +$response->send(); +$kernel->terminate($request, $response); diff --git a/src/Controller/.gitignore b/src/Controller/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/src/Controller/ChessController.php b/src/Controller/ChessController.php new file mode 100644 index 0000000..45392b1 --- /dev/null +++ b/src/Controller/ChessController.php @@ -0,0 +1,87 @@ +get('mx'); + $y = $request->get('my'); + $player = $this->get('session')->get('player'); + $test = $this->get('session')->get('chessboard'); + $tab = array(0); + + if (($player % 2 == 0)) + { + if ($test->board[$y][$x]->type != "-") + { + $tab = $test->board[$y][$x]->check($x, $y, $test, $player); + } + elseif ($test->board[$y][$x]->type == "-" || $test->board[$y][$x]->color == "Black") + { + for ($i = 0; $i < sizeof($this->get('session')->get('ancient')); $i++) + { + if ($i % 2 == 0) + { + if ($this->get('session')->get('ancient')[$i] == $x) + { + if ($this->get('session')->get('ancient')[$i + 1] == $y) + { + $moveResponse = $test->board[$y][$x]->move($this->get('session')->get('ax'), $this->get('session')->get('ay'), $x, $y, $test); + $this->get('session')->set('chessBoard', $moveResponse['chess']); + $tab = $moveResponse['tab']; + $player++; + break; + } + } + } + + } + } + } + elseif (($player % 2 == 1)) + { + if ($test->board[$y][$x]->type != "-") + { + $tab = $test->board[$y][$x]->check($x, $y, $test, $player); + } + elseif ($test->board[$y][$x]->type == "-" || $test->board[$y][$x]->color == "White") + { + for ($i = 0; $i < sizeof($this->get('session')->get('ancient')); $i++) + { + if ($i % 2 == 0) + { + if ($this->get('session')->get('ancient')[$i] == $x) + { + if ($this->get('session')->get('ancient')[$i + 1] == $y) + { + $moveResponse = $test->board[$y][$x]->move($this->get('session')->get('ax'), $this->get('session')->get('ay'), $x, $y, $test); + $this->get('session')->set('chessBoard', $moveResponse['chess']); + $tab = $moveResponse['tab']; + $player++; + break; + } + } + } + + } + } + } + + $this->get('session')->set('player', $player); + $this->get('session')->set('ancient', $tab); + $this->get('session')->set('ax', $x); + $this->get('session')->set('ay', $y); + + $my_encode_array = json_encode($tab); + + return new Response($my_encode_array, 200, array('Content-type', 'json')); + } +} \ No newline at end of file diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php new file mode 100644 index 0000000..bb67b22 --- /dev/null +++ b/src/Controller/HomeController.php @@ -0,0 +1,27 @@ +render('chess/home/index.php', [''])); + } + + public function play(): Response + { + $chessBoard = new ChessBoard(); + $player = 0; + + $this->get('session')->set('player', $player); + $this->get('session')->set('chessboard', $chessBoard); + + return ($this->render('chess/game/jeu.php', [])); + } +} \ No newline at end of file diff --git a/src/Entity/.gitignore b/src/Entity/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/ChessBoard.php b/src/Entity/Chess/ChessBoard.php similarity index 95% rename from ChessBoard.php rename to src/Entity/Chess/ChessBoard.php index 807962a..a731d75 100644 --- a/ChessBoard.php +++ b/src/Entity/Chess/ChessBoard.php @@ -4,6 +4,17 @@ * * @author durand_y */ + +namespace App\Entity\Chess; + +use App\Entity\Chess\Pieces\Bishop; +use App\Entity\Chess\Pieces\King; +use App\Entity\Chess\Pieces\Queen; +use App\Entity\Chess\Pieces\None; +use App\Entity\Chess\Pieces\Tower; +use App\Entity\Chess\Pieces\Knight; +use App\Entity\Chess\Pieces\Pawn; + error_reporting (E_ALL); ini_set ("display_errors", 1); diff --git a/Bishop.php b/src/Entity/Chess/Pieces/Bishop.php similarity index 88% rename from Bishop.php rename to src/Entity/Chess/Pieces/Bishop.php index 518754a..89d4288 100644 --- a/Bishop.php +++ b/src/Entity/Chess/Pieces/Bishop.php @@ -10,6 +10,12 @@ * * @author durand_y */ + +namespace App\Entity\Chess\Pieces; + +use App\Entity\Chess\ChessBoard; +use App\Entity\Chess\Pieces\Piece as Piece; + class Bishop extends Piece { public function __construct($x, $y, $color, $alive) @@ -48,10 +54,8 @@ public function display() echo "Bb"; } - public function check($from,$to) + public function check(int $from, int $to, ChessBoard $chess, $player = null) { - $chess= $_SESSION["chessboard"]; - $px = $from; $py = $to; $cpt = 0; @@ -133,8 +137,8 @@ public function check($from,$to) } - public function move($fromx, $fromy, $tox, $toy) { - $chess = $_SESSION["chessboard"]; + public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array + { $tab = array (0); $board = $chess->board; $board[$toy][$tox] = $chess->board[$fromy][$fromx]; @@ -144,8 +148,13 @@ public function move($fromx, $fromy, $tox, $toy) { $tab[1]=$toy; $tab[2]=$board[$toy][$tox]->type; $chess->board = $board; - $_SESSION["chessboard"] = $chess; - return $tab; + + $response = [ + 'tab' => $tab, + 'chess' => $board + ]; + + return $response; } } diff --git a/King.php b/src/Entity/Chess/Pieces/King.php similarity index 88% rename from King.php rename to src/Entity/Chess/Pieces/King.php index 0bf567a..67d4dee 100644 --- a/King.php +++ b/src/Entity/Chess/Pieces/King.php @@ -4,7 +4,10 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ +namespace App\Entity\Chess\Pieces; +use App\Entity\Chess\ChessBoard; +use App\Entity\Chess\Pieces\Piece as Piece; /** * Description of King * @@ -51,9 +54,8 @@ public function display() echo "Kb"; } - public function check($from, $to) + public function check(int $from, int $to, ChessBoard $chess, $player = null) { - $board = $_SESSION["chessboard"]; $cpt = 0; $px = $from; $py = $to; @@ -123,8 +125,9 @@ public function check($from, $to) return $tabres; } - public function move($fromx, $fromy, $tox, $toy) { - + public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array + { + return []; } } diff --git a/Knight.php b/src/Entity/Chess/Pieces/Knight.php similarity index 90% rename from Knight.php rename to src/Entity/Chess/Pieces/Knight.php index 80ef805..e34ebd2 100644 --- a/Knight.php +++ b/src/Entity/Chess/Pieces/Knight.php @@ -4,7 +4,10 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ +namespace App\Entity\Chess\Pieces; +use App\Entity\Chess\ChessBoard; +use App\Entity\Chess\Pieces\Piece as Piece; /** * Description of Knight * @@ -50,9 +53,9 @@ public function display() - public function check($from, $to) + public function check(int $from, int $to, ChessBoard $chess, $player = null) { - $board = $_SESSION["chessboard"]; + $board = $chess; $cpt = 0; $px = $from; $py = $to; @@ -165,9 +168,8 @@ public function check($from, $to) return $tabres; } - public function move($fromx, $fromy, $tox, $toy) + public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array { - $chess = $_SESSION["chessboard"]; $tab = array (0); $board = $chess->board; $board[$toy][$tox] = $chess->board[$fromy][$fromx]; @@ -177,9 +179,14 @@ public function move($fromx, $fromy, $tox, $toy) $tab[1]=$toy; $tab[2]=$board[$toy][$tox]->type; $chess->board = $board; - $_SESSION["chessboard"] = $chess; - return $tab; - } + + $response = [ + 'tab' => $tab, + 'chess' => $board + ]; + + return $response; + } } ?> diff --git a/None.php b/src/Entity/Chess/Pieces/None.php similarity index 73% rename from None.php rename to src/Entity/Chess/Pieces/None.php index 9c612ec..9c28b88 100644 --- a/None.php +++ b/src/Entity/Chess/Pieces/None.php @@ -4,7 +4,10 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ +namespace App\Entity\Chess\Pieces; +use App\Entity\Chess\ChessBoard; +use App\Entity\Chess\Pieces\Piece as Piece; /** * Description of None * @@ -45,14 +48,12 @@ public function display() echo "--"; } - public function check($from, $to) { + public function check(int $from, int $to, ChessBoard $chess, $player = null) { } - public function move($fromx, $fromy, $tox, $toy) + public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array { - //echo "dans move"; - $chess = $_SESSION["chessboard"]; $tab = array (0); $board = $chess->board; $board[$toy][$tox] = $chess->board[$fromy][$fromx]; @@ -65,8 +66,13 @@ public function move($fromx, $fromy, $tox, $toy) $chess->board = $board; - $_SESSION["chessboard"] = $chess; - return $tab; + + $response = [ + 'tab' => $tab, + 'chess' => $chess + ]; + + return $response; } } diff --git a/Pawn.php b/src/Entity/Chess/Pieces/Pawn.php similarity index 93% rename from Pawn.php rename to src/Entity/Chess/Pieces/Pawn.php index 1b091a8..f027da3 100644 --- a/Pawn.php +++ b/src/Entity/Chess/Pieces/Pawn.php @@ -4,7 +4,10 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ +namespace App\Entity\Chess\Pieces; +use App\Entity\Chess\ChessBoard; +use App\Entity\Chess\Pieces\Piece as Piece; /** * Description of Pawn * @@ -35,9 +38,7 @@ public function __set($name, $value) { $this->$name = $value; } - - - + public function eat () { @@ -51,14 +52,12 @@ public function display() echo "Pb"; } - public function check($from,$to) + public function check(int $from, int $to, ChessBoard $chess, $player = null) { - - $_SESSION["pawn"] = $this; - $chessboard = $_SESSION["chessboard"]; + $chessboard = $chess; $cpt = 0; $array = array (0); - if ($_SESSION["player"] % 2 == 0) + if ($player % 2 == 0) { if ($this->first == 0 ) { @@ -184,10 +183,8 @@ public function check($from,$to) } } - public function move($fromx, $fromy, $tox, $toy) + public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array { - echo "dans move"; - $chess = $_SESSION["chessboard"]; $tab = array (0); $board = $chess->board; $board[$toy][$tox] = $chess->board[$fromy][$fromx]; @@ -196,14 +193,15 @@ public function move($fromx, $fromy, $tox, $toy) $tab[0]=$tox; $tab[1]=$toy; $tab[2]=$board[$toy][$tox]->type; - - - echo"pre". $tab[0]; - echo "deux".$tab[1]; - echo "piece".$tab[2]; + $chess->board = $board; - $_SESSION["chessboard"] = $chess; - return $tab; + + $response = [ + 'tab' => $tab, + 'chess' => $chess + ]; + + return $response; } } diff --git a/Piece.php b/src/Entity/Chess/Pieces/Piece.php similarity index 56% rename from Piece.php rename to src/Entity/Chess/Pieces/Piece.php index 2d4566f..de6f492 100644 --- a/Piece.php +++ b/src/Entity/Chess/Pieces/Piece.php @@ -1,25 +1,27 @@ board; - $board[$toy][$tox] = $board->board[$fromy][$fromx]; + $board = $chess->board; + $board[$toy][$tox] = $chess->board[$fromy][$fromx]; $board[$fromy][$fromx] = new None($fromy, $fromx, "", FALSE); $tab[0]=$tox; $tab[1]=$toy; $tab[2]=$board[$toy][$tox]->type; - $board->board = $board; - $_SESSION["chessboard"] = $board; - return $tab; + $chess->board = $board; + + $response = [ + 'tab' => $tab, + 'chess' => $chess + ]; + + return $response; } } diff --git a/Tower.php b/src/Entity/Chess/Pieces/Tower.php similarity index 75% rename from Tower.php rename to src/Entity/Chess/Pieces/Tower.php index 7b8e206..5f0d592 100644 --- a/Tower.php +++ b/src/Entity/Chess/Pieces/Tower.php @@ -4,7 +4,10 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ +namespace App\Entity\Chess\Pieces; +use App\Entity\Chess\ChessBoard; +use App\Entity\Chess\Pieces\Piece; /** * Description of Tower * @@ -49,9 +52,9 @@ public function display() echo "Tb"; } - public function check($from,$to) + public function check(int $from,int $to, ChessBoard $chess, $player = null) { - $board = $_SESSION["chessboard"]; + $board = $chess; $cpt = 0; $px = $from; $py = $to; @@ -59,7 +62,7 @@ public function check($from,$to) if ($py + 1 < 8) { - while (($py < 8) && ($board->board[$py + 1][$from]->type == "-")) + while (($py < 8) && ($board[$py + 1][$from]->type == "-")) { $py++; @@ -73,7 +76,7 @@ public function check($from,$to) $py = $to; if ($py - 1 >= 0) { - while (($py - 1 >= 0) && ($board->board[$py - 1][$from]->type == "-")) + while (($py - 1 >= 0) && ($board[$py - 1][$from]->type == "-")) { $py--; $tabres[$cpt] = $from; @@ -86,7 +89,7 @@ public function check($from,$to) $px = $from; if ($px + 1 < 8) { - while (($px + 1 < 8) && ($board->board[$to][$px + 1]->type == "-")) + while (($px + 1 < 8) && ($board[$to][$px + 1]->type == "-")) { $px++; $tabres[$cpt] = $px; @@ -99,7 +102,7 @@ public function check($from,$to) $px = $from; if ($px - 1 > -1) { - while (($px - 1 >= 0) && ($board->board[$to][$px - 1]->type == "-")) + while (($px - 1 >= 0) && ($board[$to][$px - 1]->type == "-")) { $px--; $tabres[$cpt] = $px; @@ -111,8 +114,8 @@ public function check($from,$to) return $tabres; } - public function move($fromx, $fromy, $tox, $toy) { - $chess = $_SESSION["chessboard"]; + public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array + { $tab = array (0); $board = $chess->board; $board[$toy][$tox] = $chess->board[$fromy][$fromx]; @@ -122,8 +125,13 @@ public function move($fromx, $fromy, $tox, $toy) { $tab[1]=$toy; $tab[2]=$board[$toy][$tox]->type; $chess->board = $board; - $_SESSION["chessboard"] = $chess; - return $tab; + + $response = [ + 'tab' => $tab, + 'chess' => $chess + ]; + + return $response; } } diff --git a/src/Kernel.php b/src/Kernel.php new file mode 100644 index 0000000..785b0be --- /dev/null +++ b/src/Kernel.php @@ -0,0 +1,53 @@ +getProjectDir().'/config/bundles.php'; + foreach ($contents as $class => $envs) { + if ($envs[$this->environment] ?? $envs['all'] ?? false) { + yield new $class(); + } + } + } + + public function getProjectDir(): string + { + return \dirname(__DIR__); + } + + protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void + { + $container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php')); + $container->setParameter('container.dumper.inline_class_loader', true); + $confDir = $this->getProjectDir().'/config'; + + $loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{packages}/'.$this->environment.'/**/*'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob'); + $loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob'); + } + + protected function configureRoutes(RouteCollectionBuilder $routes): void + { + $confDir = $this->getProjectDir().'/config'; + + $routes->import($confDir.'/{routes}/'.$this->environment.'/**/*'.self::CONFIG_EXTS, '/', 'glob'); + $routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob'); + $routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob'); + } +} diff --git a/src/Migrations/.gitignore b/src/Migrations/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/src/Repository/.gitignore b/src/Repository/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/symfony.lock b/symfony.lock new file mode 100644 index 0000000..c1e4975 --- /dev/null +++ b/symfony.lock @@ -0,0 +1,517 @@ +{ + "doctrine/annotations": { + "version": "1.0", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "1.0", + "ref": "cb4152ebcadbe620ea2261da1a1c5a9b8cea7672" + }, + "files": [ + "config/routes/annotations.yaml" + ] + }, + "doctrine/cache": { + "version": "v1.8.0" + }, + "doctrine/collections": { + "version": "v1.6.2" + }, + "doctrine/common": { + "version": "v2.11.0" + }, + "doctrine/dbal": { + "version": "v2.9.2" + }, + "doctrine/doctrine-bundle": { + "version": "1.6", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "1.6", + "ref": "5e476e8edf3fa8e7f045ad034f89bb464424f5c1" + }, + "files": [ + "config/packages/doctrine.yaml", + "config/packages/prod/doctrine.yaml", + "src/Entity/.gitignore", + "src/Repository/.gitignore" + ] + }, + "doctrine/doctrine-cache-bundle": { + "version": "1.3.5" + }, + "doctrine/doctrine-migrations-bundle": { + "version": "1.2", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "1.2", + "ref": "c1431086fec31f17fbcfe6d6d7e92059458facc1" + }, + "files": [ + "config/packages/doctrine_migrations.yaml", + "src/Migrations/.gitignore" + ] + }, + "doctrine/event-manager": { + "version": "v1.0.0" + }, + "doctrine/inflector": { + "version": "v1.3.0" + }, + "doctrine/instantiator": { + "version": "1.2.0" + }, + "doctrine/lexer": { + "version": "1.0.2" + }, + "doctrine/migrations": { + "version": "2.1.1" + }, + "doctrine/orm": { + "version": "v2.6.4" + }, + "doctrine/persistence": { + "version": "1.1.1" + }, + "doctrine/reflection": { + "version": "v1.0.0" + }, + "easycorp/easy-log-handler": { + "version": "1.0", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "1.0", + "ref": "70062abc2cd58794d2a90274502f81b55cd9951b" + }, + "files": [ + "config/packages/dev/easy_log_handler.yaml" + ] + }, + "egulias/email-validator": { + "version": "2.1.11" + }, + "fig/link-util": { + "version": "1.0.0" + }, + "jdorn/sql-formatter": { + "version": "v1.2.17" + }, + "monolog/monolog": { + "version": "1.25.1" + }, + "nikic/php-parser": { + "version": "v4.2.4" + }, + "ocramius/package-versions": { + "version": "1.4.0" + }, + "ocramius/proxy-manager": { + "version": "2.1.1" + }, + "phpdocumentor/reflection-common": { + "version": "2.0.0" + }, + "phpdocumentor/reflection-docblock": { + "version": "4.3.2" + }, + "phpdocumentor/type-resolver": { + "version": "1.0.1" + }, + "psr/cache": { + "version": "1.0.1" + }, + "psr/container": { + "version": "1.0.0" + }, + "psr/link": { + "version": "1.0.0" + }, + "psr/log": { + "version": "1.1.0" + }, + "sensio/framework-extra-bundle": { + "version": "5.2", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "5.2", + "ref": "fb7e19da7f013d0d422fa9bce16f5c510e27609b" + }, + "files": [ + "config/packages/sensio_framework_extra.yaml" + ] + }, + "swiftmailer/swiftmailer": { + "version": "v6.2.1" + }, + "symfony/asset": { + "version": "v4.3.4" + }, + "symfony/browser-kit": { + "version": "v4.3.4" + }, + "symfony/cache": { + "version": "v4.3.4" + }, + "symfony/cache-contracts": { + "version": "v1.1.5" + }, + "symfony/config": { + "version": "v4.3.4" + }, + "symfony/console": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "482d233eb8de91ebd042992077bbd5838858890c" + }, + "files": [ + "bin/console", + "config/bootstrap.php" + ] + }, + "symfony/css-selector": { + "version": "v4.3.4" + }, + "symfony/debug": { + "version": "v4.3.4" + }, + "symfony/debug-bundle": { + "version": "4.1", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "4.1", + "ref": "f8863cbad2f2e58c4b65fa1eac892ab189971bea" + }, + "files": [ + "config/packages/dev/debug.yaml" + ] + }, + "symfony/debug-pack": { + "version": "v1.0.7" + }, + "symfony/dependency-injection": { + "version": "v4.3.4" + }, + "symfony/doctrine-bridge": { + "version": "v4.3.4" + }, + "symfony/dom-crawler": { + "version": "v4.3.4" + }, + "symfony/dotenv": { + "version": "v4.3.4" + }, + "symfony/event-dispatcher": { + "version": "v4.3.4" + }, + "symfony/event-dispatcher-contracts": { + "version": "v1.1.5" + }, + "symfony/expression-language": { + "version": "v4.3.4" + }, + "symfony/filesystem": { + "version": "v4.3.4" + }, + "symfony/finder": { + "version": "v4.3.4" + }, + "symfony/flex": { + "version": "1.0", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "1.0", + "ref": "dc3fc2e0334a4137c47cfd5a3ececc601fa61a0b" + }, + "files": [ + ".env" + ] + }, + "symfony/form": { + "version": "v4.3.4" + }, + "symfony/framework-bundle": { + "version": "4.2", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "4.2", + "ref": "61ad963f28c091b8bb9449507654b9c7d8bbb53c" + }, + "files": [ + "config/bootstrap.php", + "config/packages/cache.yaml", + "config/packages/framework.yaml", + "config/packages/test/framework.yaml", + "config/services.yaml", + "public/index.php", + "src/Controller/.gitignore", + "src/Kernel.php" + ] + }, + "symfony/http-client": { + "version": "v4.3.4" + }, + "symfony/http-client-contracts": { + "version": "v1.1.6" + }, + "symfony/http-foundation": { + "version": "v4.3.4" + }, + "symfony/http-kernel": { + "version": "v4.3.4" + }, + "symfony/inflector": { + "version": "v4.3.4" + }, + "symfony/intl": { + "version": "v4.3.4" + }, + "symfony/maker-bundle": { + "version": "1.0", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "1.0", + "ref": "fadbfe33303a76e25cb63401050439aa9b1a9c7f" + } + }, + "symfony/mime": { + "version": "v4.3.4" + }, + "symfony/monolog-bridge": { + "version": "v4.3.4" + }, + "symfony/monolog-bundle": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "6240c6d43e8237a32452f057f81816820fd56ab6" + }, + "files": [ + "config/packages/dev/monolog.yaml", + "config/packages/prod/monolog.yaml", + "config/packages/test/monolog.yaml" + ] + }, + "symfony/options-resolver": { + "version": "v4.3.4" + }, + "symfony/orm-pack": { + "version": "v1.0.6" + }, + "symfony/phpunit-bridge": { + "version": "4.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "4.3", + "ref": "b0582341f1df39aaf3a9a866cdbe49937da35984" + }, + "files": [ + ".env.test", + "bin/phpunit", + "config/bootstrap.php", + "phpunit.xml.dist", + "tests/.gitignore" + ] + }, + "symfony/polyfill-intl-icu": { + "version": "v1.12.0" + }, + "symfony/polyfill-intl-idn": { + "version": "v1.12.0" + }, + "symfony/polyfill-mbstring": { + "version": "v1.12.0" + }, + "symfony/polyfill-php72": { + "version": "v1.12.0" + }, + "symfony/polyfill-php73": { + "version": "v1.12.0" + }, + "symfony/process": { + "version": "v4.3.4" + }, + "symfony/profiler-pack": { + "version": "v1.0.4" + }, + "symfony/property-access": { + "version": "v4.3.4" + }, + "symfony/property-info": { + "version": "v4.3.4" + }, + "symfony/routing": { + "version": "4.2", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "4.2", + "ref": "4c107a8d23a16b997178fbd4103b8d2f54f688b7" + }, + "files": [ + "config/packages/dev/routing.yaml", + "config/packages/routing.yaml", + "config/packages/test/routing.yaml", + "config/routes.yaml" + ] + }, + "symfony/security-bundle": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "e5a0228251d1dd2bca4c8ef918e14423c06db625" + }, + "files": [ + "config/packages/security.yaml" + ] + }, + "symfony/security-core": { + "version": "v4.3.4" + }, + "symfony/security-csrf": { + "version": "v4.3.4" + }, + "symfony/security-guard": { + "version": "v4.3.4" + }, + "symfony/security-http": { + "version": "v4.3.4" + }, + "symfony/serializer": { + "version": "v4.3.4" + }, + "symfony/serializer-pack": { + "version": "v1.0.2" + }, + "symfony/service-contracts": { + "version": "v1.1.6" + }, + "symfony/stopwatch": { + "version": "v4.3.4" + }, + "symfony/swiftmailer-bundle": { + "version": "2.5", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "2.5", + "ref": "429afc6c6778a1fdddb52a4f708cd94ff2c9960f" + }, + "files": [ + "config/packages/dev/swiftmailer.yaml", + "config/packages/swiftmailer.yaml", + "config/packages/test/swiftmailer.yaml" + ] + }, + "symfony/test-pack": { + "version": "v1.0.6" + }, + "symfony/translation": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "2ad9d2545bce8ca1a863e50e92141f0b9d87ffcd" + }, + "files": [ + "config/packages/translation.yaml", + "translations/.gitignore" + ] + }, + "symfony/translation-contracts": { + "version": "v1.1.6" + }, + "symfony/twig-bridge": { + "version": "v4.3.4" + }, + "symfony/twig-bundle": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "369b5b29dc52b2c190002825ae7ec24ab6f962dd" + }, + "files": [ + "config/packages/twig.yaml", + "config/routes/dev/twig.yaml", + "templates/base.html.twig" + ] + }, + "symfony/validator": { + "version": "4.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "4.3", + "ref": "d902da3e4952f18d3bf05aab29512eb61cabd869" + }, + "files": [ + "config/packages/test/validator.yaml", + "config/packages/validator.yaml" + ] + }, + "symfony/var-dumper": { + "version": "v4.3.4" + }, + "symfony/var-exporter": { + "version": "v4.3.4" + }, + "symfony/web-link": { + "version": "v4.3.4" + }, + "symfony/web-profiler-bundle": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "6bdfa1a95f6b2e677ab985cd1af2eae35d62e0f6" + }, + "files": [ + "config/packages/dev/web_profiler.yaml", + "config/packages/test/web_profiler.yaml", + "config/routes/dev/web_profiler.yaml" + ] + }, + "symfony/web-server-bundle": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "dae9b39fd6717970be7601101ce5aa960bf53d9a" + } + }, + "symfony/yaml": { + "version": "v4.3.4" + }, + "twig/twig": { + "version": "v2.11.3" + }, + "webmozart/assert": { + "version": "1.5.0" + }, + "zendframework/zend-code": { + "version": "3.3.2" + }, + "zendframework/zend-eventmanager": { + "version": "3.2.1" + } +} diff --git a/templates/chess/game/jeu.php b/templates/chess/game/jeu.php new file mode 100644 index 0000000..7ab165a --- /dev/null +++ b/templates/chess/game/jeu.php @@ -0,0 +1,20 @@ + + + + + + + The Game + + + +
+ + looser tu supporte pas canvas + +
+
+ + diff --git a/index.php b/templates/chess/home/index.php similarity index 71% rename from index.php rename to templates/chess/home/index.php index 77a4cbe..2da1856 100644 --- a/index.php +++ b/templates/chess/home/index.php @@ -7,8 +7,6 @@

Chess

- Jouer aux echecs" - ?> + Jouer aux echecs \ No newline at end of file diff --git a/tests/.gitignore b/tests/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/translations/.gitignore b/translations/.gitignore new file mode 100644 index 0000000..e69de29 From 1cbb23f483c42f80a079e682045b01e52ffad14d Mon Sep 17 00:00:00 2001 From: charleschopin Date: Sat, 28 Sep 2019 16:14:17 +0200 Subject: [PATCH 02/17] new routes step1 enabled_moves move --- config/routes.yaml | 10 ++++--- public/assets/js/draw_board.js | 20 +++++++++----- src/Controller/ChessController.php | 43 +++++++++++++++++++++++++----- templates/chess/home/index.php | 2 +- 4 files changed, 59 insertions(+), 16 deletions(-) diff --git a/config/routes.yaml b/config/routes.yaml index 07ec3c1..6dc8387 100644 --- a/config/routes.yaml +++ b/config/routes.yaml @@ -7,6 +7,10 @@ game: controller: App\Controller\HomeController:play ## request AJAX -update_game: - path: /jeu/update - controller: App\Controller\ChessController:updateGame \ No newline at end of file +chess_enabled_moves: + path: /jeu/enabled_moves + controller: App\Controller\ChessController:enabledMoves + +chess_move: + path: /jeu/move + controller: App\Controller\ChessController:move \ No newline at end of file diff --git a/public/assets/js/draw_board.js b/public/assets/js/draw_board.js index dced983..570bd29 100644 --- a/public/assets/js/draw_board.js +++ b/public/assets/js/draw_board.js @@ -12,6 +12,12 @@ window.onload = function () { alert("impossible de recupere le context canvas"); return; } + var urlDictionary = [ + 'enabled_moves', + 'move' + ]; + var urlIndex = 0; + var i = 0; var j = 0; var mouseX = 0; @@ -214,15 +220,17 @@ window.onload = function () { if (mx > 7 || my > 7) { return; } - // alert ('avant state'); - xhr.onreadystatechange = function () { // On gère ici une requête asynchrone - if (xhr.readyState == 4 && xhr.status == 200) { + xhr.onreadystatechange = function () { + if (xhr.readyState === 4 && xhr.status === 200) { + console.log(xhr); var json = eval('(' + xhr.responseText + ')'); - //alert ('appel colorcase'); colorcase(json); + // bitwise operator used as lever + urlIndex ^= 1; } }; - xhr.open("GET", "/jeu/update?mx=" + mx + "&my=" + my, true); + + xhr.open("GET", "/jeu/" + urlDictionary[urlIndex] + "?mx=" + mx + "&my=" + my, true); xhr.send(null); } @@ -230,7 +238,7 @@ window.onload = function () { var carre = []; function colorcase(tablo) { - // alert ('colorcase'); + console.log(tablo); var i = 0; if (tablo[tablo.length - 1] >= "A" && tablo[tablo.length - 1] <= "Z") { diff --git a/src/Controller/ChessController.php b/src/Controller/ChessController.php index 45392b1..e3a6eba 100644 --- a/src/Controller/ChessController.php +++ b/src/Controller/ChessController.php @@ -10,13 +10,39 @@ class ChessController extends AbstractController { - function updateGame(Request $request): Response + function enabledMoves(Request $request): Response { $x = $request->get('mx'); $y = $request->get('my'); $player = $this->get('session')->get('player'); $test = $this->get('session')->get('chessboard'); - $tab = array(0); + + if ($test->board[$y][$x]->type == "-") { + // 400 status because selected square is not a player piece + return new Response('', '400'); + } + + $tab = $test->board[$y][$x]->check($x, $y, $test, $player); + + $this->get('session')->set('player', $player); + $this->get('session')->set('ancient', $tab); + $this->get('session')->set('ax', $x); + $this->get('session')->set('ay', $y); + + $my_encode_array = json_encode($tab); + + // return all blow positions (x,y) zero is returned if no possibility + return new Response($my_encode_array, 200, array('Content-type', 'json')); + } + + + function move(Request $request): Response + { + $x = $request->get('mx'); + $y = $request->get('my'); + $player = $this->get('session')->get('player'); + $test = $this->get('session')->get('chessboard'); + $tab = array(); if (($player % 2 == 0)) { @@ -37,7 +63,7 @@ function updateGame(Request $request): Response $moveResponse = $test->board[$y][$x]->move($this->get('session')->get('ax'), $this->get('session')->get('ay'), $x, $y, $test); $this->get('session')->set('chessBoard', $moveResponse['chess']); $tab = $moveResponse['tab']; - $player++; + $player ^= 1; break; } } @@ -65,7 +91,7 @@ function updateGame(Request $request): Response $moveResponse = $test->board[$y][$x]->move($this->get('session')->get('ax'), $this->get('session')->get('ay'), $x, $y, $test); $this->get('session')->set('chessBoard', $moveResponse['chess']); $tab = $moveResponse['tab']; - $player++; + $player ^= 1; break; } } @@ -80,8 +106,13 @@ function updateGame(Request $request): Response $this->get('session')->set('ax', $x); $this->get('session')->set('ay', $y); - $my_encode_array = json_encode($tab); + if (0 == count($tab)) { + $response = new Response('', 400); + } else { + $my_encode_array = json_encode($tab); + $response = new Response($my_encode_array, 200, array('Content-type', 'json')); + } - return new Response($my_encode_array, 200, array('Content-type', 'json')); + return ($response); } } \ No newline at end of file diff --git a/templates/chess/home/index.php b/templates/chess/home/index.php index 2da1856..6b4e789 100644 --- a/templates/chess/home/index.php +++ b/templates/chess/home/index.php @@ -2,7 +2,7 @@ - + Chess From d2f9d8f08f49ac6dbdb5bb320c749027e281a3d1 Mon Sep 17 00:00:00 2001 From: charleschopin Date: Wed, 16 Oct 2019 11:22:45 +0200 Subject: [PATCH 03/17] nginx configuration --- .env | 36 +++++++----------------------- .env.docker | 8 ------- .env.example | 15 +++++++++++++ .infra/docker/nginx/chess.template | 2 +- 4 files changed, 24 insertions(+), 37 deletions(-) delete mode 100644 .env.docker create mode 100644 .env.example diff --git a/.env b/.env index 562584f..112862f 100644 --- a/.env +++ b/.env @@ -1,35 +1,15 @@ -# In all environments, the following files are loaded if they exist, -# the later taking precedence over the former: -# -# * .env contains default values for the environment variables needed by the app -# * .env.local uncommitted file with local overrides -# * .env.$APP_ENV committed environment-specific defaults -# * .env.$APP_ENV.local uncommitted environment-specific overrides -# -# Real environment variables win over .env files. -# -# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES. -# -# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2). -# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration +COMPOSE_PROJECT_NAME=chess -###> symfony/framework-bundle ### +APP_DOMAIN=chess.docker.localhost APP_ENV=dev APP_SECRET=7999e56579868c9867c8418da37e2160 -#TRUSTED_PROXIES=127.0.0.1,127.0.0.2 -#TRUSTED_HOSTS='^localhost|example\.com$' -###< symfony/framework-bundle ### -###> doctrine/doctrine-bundle ### -# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url -# For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db" -# Configure your db driver and server_version in config/packages/doctrine.yaml +DATABASE_HOST=mysql +DATABASE_PORT=3306 +DATABASE_NAME=chess +DATABASE_USER=chessguy DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name -###< doctrine/doctrine-bundle ### +DATABASE_PASSWORD=Awes0meP4A55W0rd +DATABASE_ROOT_PASSWORD=admin -###> symfony/swiftmailer-bundle ### -# For Gmail as a transport, use: "gmail://username:password@localhost" -# For a generic SMTP server, use: "smtp://localhost:25?encryption=&auth_mode=" -# Delivery is disabled by default via "null://localhost" MAILER_URL=null://localhost -###< symfony/swiftmailer-bundle ### diff --git a/.env.docker b/.env.docker deleted file mode 100644 index f6dee7a..0000000 --- a/.env.docker +++ /dev/null @@ -1,8 +0,0 @@ -COMPOSE_PROJECT_NAME=chess -APP_DOMAIN=chess.docker.localhost -DATABASE_HOST=mysql -DATABASE_PORT=3306 -DATABASE_NAME=chess -DATABASE_USER=chessguy -DATABASE_PASSWORD=Awes0meP4A55W0rd -DATABASE_ROOT_PASSWORD=admin \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..112862f --- /dev/null +++ b/.env.example @@ -0,0 +1,15 @@ +COMPOSE_PROJECT_NAME=chess + +APP_DOMAIN=chess.docker.localhost +APP_ENV=dev +APP_SECRET=7999e56579868c9867c8418da37e2160 + +DATABASE_HOST=mysql +DATABASE_PORT=3306 +DATABASE_NAME=chess +DATABASE_USER=chessguy +DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name +DATABASE_PASSWORD=Awes0meP4A55W0rd +DATABASE_ROOT_PASSWORD=admin + +MAILER_URL=null://localhost diff --git a/.infra/docker/nginx/chess.template b/.infra/docker/nginx/chess.template index 2e47fc1..0858f99 100755 --- a/.infra/docker/nginx/chess.template +++ b/.infra/docker/nginx/chess.template @@ -1,6 +1,6 @@ server { server_name ${NGINX_SERVERNAME}; - root ${NGINX_ROOTDIR}; + root ${NGINX_ROOTDIR}/public; index index.php; location ~ \.php$ { From c12ef0539e91aff798b58a0f93d688cbab052baa Mon Sep 17 00:00:00 2001 From: charleschopin Date: Thu, 17 Oct 2019 09:18:25 +0200 Subject: [PATCH 04/17] nginx configuration update; PSR-norme php closing tag --- .env | 4 +- .gitignore | 4 +- .infra/docker/nginx/chess.template | 3 +- composer.json | 2 +- composer.lock | 500 ++++++++++++++--------------- docker-compose.yml | 2 +- src/Controller/ChessController.php | 24 +- src/Entity/Chess/ChessBoard.php | 38 +-- src/Entity/Chess/Pieces/Bishop.php | 46 +-- src/Entity/Chess/Pieces/King.php | 35 +- src/Entity/Chess/Pieces/Knight.php | 68 ++-- src/Entity/Chess/Pieces/None.php | 8 +- src/Entity/Chess/Pieces/Pawn.php | 4 +- src/Entity/Chess/Pieces/Piece.php | 1 - src/Entity/Chess/Pieces/Queen.php | 2 - src/Entity/Chess/Pieces/Tower.php | 2 - 16 files changed, 338 insertions(+), 405 deletions(-) diff --git a/.env b/.env index 112862f..4428b88 100644 --- a/.env +++ b/.env @@ -8,8 +8,8 @@ DATABASE_HOST=mysql DATABASE_PORT=3306 DATABASE_NAME=chess DATABASE_USER=chessguy -DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name +DATABASE_URL=mysql://chessguy:Awes0meP4A55W0rd@mysql:3306/chess DATABASE_PASSWORD=Awes0meP4A55W0rd DATABASE_ROOT_PASSWORD=admin -MAILER_URL=null://localhost +MAILER_URL=null://localhost \ No newline at end of file diff --git a/.gitignore b/.gitignore index 7fc2a80..7c4ee9d 100644 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,6 @@ gen .idea/ ###> symfony/web-server-bundle ### /.web-server-pid -###< symfony/web-server-bundle ### \ No newline at end of file +###< symfony/web-server-bundle ### +*.log +composer.lock \ No newline at end of file diff --git a/.infra/docker/nginx/chess.template b/.infra/docker/nginx/chess.template index 0858f99..6964273 100755 --- a/.infra/docker/nginx/chess.template +++ b/.infra/docker/nginx/chess.template @@ -1,3 +1,4 @@ + server { server_name ${NGINX_SERVERNAME}; root ${NGINX_ROOTDIR}/public; @@ -16,4 +17,4 @@ server { # return 404 for all other php files not matching the front controller # this prevents access to other php files you don't want to be accessible. -} +} \ No newline at end of file diff --git a/composer.json b/composer.json index c9c2d94..7169bad 100644 --- a/composer.json +++ b/composer.json @@ -31,7 +31,7 @@ "require-dev": { "symfony/debug-pack": "*", "symfony/maker-bundle": "^1.0", - "symfony/profiler-pack": "*", + "symfony/profiler-pack": "^1.0", "symfony/test-pack": "*", "symfony/web-server-bundle": "4.3.*" }, diff --git a/composer.lock b/composer.lock index 3193846..17426ec 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1344ba5ee99726215152513dfb96449c", + "content-hash": "3ca8ce553396b8640fe95ac79a419a8c", "packages": [ { "name": "doctrine/annotations", - "version": "v1.7.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "fa4c4e861e809d6a1103bd620cce63ed91aedfeb" + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/fa4c4e861e809d6a1103bd620cce63ed91aedfeb", - "reference": "fa4c4e861e809d6a1103bd620cce63ed91aedfeb", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/904dca4eb10715b92569fbcd79e201d5c349b6bc", + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc", "shasum": "" }, "require": { @@ -26,7 +26,7 @@ }, "require-dev": { "doctrine/cache": "1.*", - "phpunit/phpunit": "^7.5@dev" + "phpunit/phpunit": "^7.5" }, "type": "library", "extra": { @@ -72,7 +72,7 @@ "docblock", "parser" ], - "time": "2019-08-08T18:11:40+00:00" + "time": "2019-10-01T18:55:10+00:00" }, { "name": "doctrine/cache", @@ -2043,7 +2043,7 @@ }, { "name": "symfony/asset", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/asset.git", @@ -2099,16 +2099,16 @@ }, { "name": "symfony/cache", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "1d8f7fee990c586f275cde1a9fc883d6b1e2d43e" + "reference": "40c62600ebad1ed2defbf7d35523d918a73ab330" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/1d8f7fee990c586f275cde1a9fc883d6b1e2d43e", - "reference": "1d8f7fee990c586f275cde1a9fc883d6b1e2d43e", + "url": "https://api.github.com/repos/symfony/cache/zipball/40c62600ebad1ed2defbf7d35523d918a73ab330", + "reference": "40c62600ebad1ed2defbf7d35523d918a73ab330", "shasum": "" }, "require": { @@ -2173,20 +2173,20 @@ "caching", "psr6" ], - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-04T10:57:53+00:00" }, { "name": "symfony/cache-contracts", - "version": "v1.1.5", + "version": "v1.1.7", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "ec5524b669744b5f1dc9c66d3c2b091eb7e7f0db" + "reference": "af50d14ada9e4e82cfabfabdc502d144f89be0a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/ec5524b669744b5f1dc9c66d3c2b091eb7e7f0db", - "reference": "ec5524b669744b5f1dc9c66d3c2b091eb7e7f0db", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/af50d14ada9e4e82cfabfabdc502d144f89be0a1", + "reference": "af50d14ada9e4e82cfabfabdc502d144f89be0a1", "shasum": "" }, "require": { @@ -2231,20 +2231,20 @@ "interoperability", "standards" ], - "time": "2019-06-13T11:15:36+00:00" + "time": "2019-10-04T21:43:27+00:00" }, { "name": "symfony/config", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "07d49c0f823e0bc367c6d84e35b61419188a5ece" + "reference": "0acb26407a9e1a64a275142f0ae5e36436342720" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/07d49c0f823e0bc367c6d84e35b61419188a5ece", - "reference": "07d49c0f823e0bc367c6d84e35b61419188a5ece", + "url": "https://api.github.com/repos/symfony/config/zipball/0acb26407a9e1a64a275142f0ae5e36436342720", + "reference": "0acb26407a9e1a64a275142f0ae5e36436342720", "shasum": "" }, "require": { @@ -2295,20 +2295,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-09-19T15:51:53+00:00" }, { "name": "symfony/console", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "de63799239b3881b8a08f8481b22348f77ed7b36" + "reference": "929ddf360d401b958f611d44e726094ab46a7369" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/de63799239b3881b8a08f8481b22348f77ed7b36", - "reference": "de63799239b3881b8a08f8481b22348f77ed7b36", + "url": "https://api.github.com/repos/symfony/console/zipball/929ddf360d401b958f611d44e726094ab46a7369", + "reference": "929ddf360d401b958f611d44e726094ab46a7369", "shasum": "" }, "require": { @@ -2370,20 +2370,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-07T12:36:49+00:00" }, { "name": "symfony/debug", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "afcdea44a2e399c1e4b52246ec8d54c715393ced" + "reference": "cc5c1efd0edfcfd10b354750594a46b3dd2afbbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/afcdea44a2e399c1e4b52246ec8d54c715393ced", - "reference": "afcdea44a2e399c1e4b52246ec8d54c715393ced", + "url": "https://api.github.com/repos/symfony/debug/zipball/cc5c1efd0edfcfd10b354750594a46b3dd2afbbe", + "reference": "cc5c1efd0edfcfd10b354750594a46b3dd2afbbe", "shasum": "" }, "require": { @@ -2426,20 +2426,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2019-08-20T14:27:59+00:00" + "time": "2019-09-19T15:51:53+00:00" }, { "name": "symfony/dependency-injection", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "d3ad14b66ac773ba6123622eb9b5b010165fe3d9" + "reference": "e1e0762a814b957a1092bff75a550db49724d05b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/d3ad14b66ac773ba6123622eb9b5b010165fe3d9", - "reference": "d3ad14b66ac773ba6123622eb9b5b010165fe3d9", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e1e0762a814b957a1092bff75a550db49724d05b", + "reference": "e1e0762a814b957a1092bff75a550db49724d05b", "shasum": "" }, "require": { @@ -2499,20 +2499,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2019-08-26T16:27:33+00:00" + "time": "2019-10-02T12:58:58+00:00" }, { "name": "symfony/doctrine-bridge", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "d2967b2b43788bd3a7cddeb8bd4567e142b3821c" + "reference": "486fa65a74692d84f250087c79d0b89d30d655a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/d2967b2b43788bd3a7cddeb8bd4567e142b3821c", - "reference": "d2967b2b43788bd3a7cddeb8bd4567e142b3821c", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/486fa65a74692d84f250087c79d0b89d30d655a8", + "reference": "486fa65a74692d84f250087c79d0b89d30d655a8", "shasum": "" }, "require": { @@ -2589,11 +2589,11 @@ ], "description": "Symfony Doctrine Bridge", "homepage": "https://symfony.com", - "time": "2019-08-26T11:29:20+00:00" + "time": "2019-09-08T20:39:53+00:00" }, { "name": "symfony/dotenv", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", @@ -2650,16 +2650,16 @@ }, { "name": "symfony/event-dispatcher", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2" + "reference": "6229f58993e5a157f6096fc7145c0717d0be8807" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/429d0a1451d4c9c4abe1959b2986b88794b9b7d2", - "reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/6229f58993e5a157f6096fc7145c0717d0be8807", + "reference": "6229f58993e5a157f6096fc7145c0717d0be8807", "shasum": "" }, "require": { @@ -2716,20 +2716,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:55:16+00:00" + "time": "2019-10-01T16:40:32+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.5", + "version": "v1.1.7", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "c61766f4440ca687de1084a5c00b08e167a2575c" + "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c61766f4440ca687de1084a5c00b08e167a2575c", - "reference": "c61766f4440ca687de1084a5c00b08e167a2575c", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c43ab685673fb6c8d84220c77897b1d6cdbe1d18", + "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18", "shasum": "" }, "require": { @@ -2774,11 +2774,11 @@ "interoperability", "standards" ], - "time": "2019-06-20T06:46:26+00:00" + "time": "2019-09-17T09:54:03+00:00" }, { "name": "symfony/expression-language", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", @@ -2829,7 +2829,7 @@ }, { "name": "symfony/filesystem", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", @@ -2879,16 +2879,16 @@ }, { "name": "symfony/finder", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2" + "reference": "5e575faa95548d0586f6bedaeabec259714e44d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/86c1c929f0a4b24812e1eb109262fc3372c8e9f2", - "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2", + "url": "https://api.github.com/repos/symfony/finder/zipball/5e575faa95548d0586f6bedaeabec259714e44d1", + "reference": "5e575faa95548d0586f6bedaeabec259714e44d1", "shasum": "" }, "require": { @@ -2924,7 +2924,7 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-08-14T12:26:46+00:00" + "time": "2019-09-16T11:29:48+00:00" }, { "name": "symfony/flex", @@ -2977,16 +2977,16 @@ }, { "name": "symfony/form", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "eba11fd575e791d72030cb59215a9948791f1e74" + "reference": "4a799fb998c325ac77fc5513f35be033cc0edf3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/eba11fd575e791d72030cb59215a9948791f1e74", - "reference": "eba11fd575e791d72030cb59215a9948791f1e74", + "url": "https://api.github.com/repos/symfony/form/zipball/4a799fb998c325ac77fc5513f35be033cc0edf3c", + "reference": "4a799fb998c325ac77fc5513f35be033cc0edf3c", "shasum": "" }, "require": { @@ -3057,20 +3057,20 @@ ], "description": "Symfony Form Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:55:16+00:00" + "time": "2019-09-27T14:21:32+00:00" }, { "name": "symfony/framework-bundle", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "0fd8e354cef6b3da666e585d7ae75aeea2423833" + "reference": "fca765488ecea04bf6c1c502d7b0214fa29460d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/0fd8e354cef6b3da666e585d7ae75aeea2423833", - "reference": "0fd8e354cef6b3da666e585d7ae75aeea2423833", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/fca765488ecea04bf6c1c502d7b0214fa29460d8", + "reference": "fca765488ecea04bf6c1c502d7b0214fa29460d8", "shasum": "" }, "require": { @@ -3180,26 +3180,26 @@ ], "description": "Symfony FrameworkBundle", "homepage": "https://symfony.com", - "time": "2019-08-26T08:55:16+00:00" + "time": "2019-10-04T17:45:43+00:00" }, { "name": "symfony/http-client", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "9a4fa769269ed730196a5c52c742b30600cf1e87" + "reference": "69d438274718121e1166e7f65c290f891a4c8ddb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/9a4fa769269ed730196a5c52c742b30600cf1e87", - "reference": "9a4fa769269ed730196a5c52c742b30600cf1e87", + "url": "https://api.github.com/repos/symfony/http-client/zipball/69d438274718121e1166e7f65c290f891a4c8ddb", + "reference": "69d438274718121e1166e7f65c290f891a4c8ddb", "shasum": "" }, "require": { "php": "^7.1.3", "psr/log": "^1.0", - "symfony/http-client-contracts": "^1.1.6", + "symfony/http-client-contracts": "^1.1.7", "symfony/polyfill-php73": "^1.11" }, "provide": { @@ -3242,20 +3242,20 @@ ], "description": "Symfony HttpClient component", "homepage": "https://symfony.com", - "time": "2019-08-20T14:27:59+00:00" + "time": "2019-10-07T10:52:41+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v1.1.6", + "version": "v1.1.7", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "6005fe61a33724405d56eb5b055d5d370192a1bd" + "reference": "353b2a3e907e5c34cf8f74827a4b21eb745aab1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/6005fe61a33724405d56eb5b055d5d370192a1bd", - "reference": "6005fe61a33724405d56eb5b055d5d370192a1bd", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/353b2a3e907e5c34cf8f74827a4b21eb745aab1d", + "reference": "353b2a3e907e5c34cf8f74827a4b21eb745aab1d", "shasum": "" }, "require": { @@ -3299,20 +3299,20 @@ "interoperability", "standards" ], - "time": "2019-08-08T10:05:21+00:00" + "time": "2019-09-26T22:09:58+00:00" }, { "name": "symfony/http-foundation", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc" + "reference": "76590ced16d4674780863471bae10452b79210a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d804bea118ff340a12e22a79f9c7e7eb56b35adc", - "reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/76590ced16d4674780863471bae10452b79210a5", + "reference": "76590ced16d4674780863471bae10452b79210a5", "shasum": "" }, "require": { @@ -3354,20 +3354,20 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:55:16+00:00" + "time": "2019-10-04T19:48:13+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "5e0fc71be03d52cd00c423061cfd300bd6f92a52" + "reference": "5f08141850932e8019c01d8988bf3ed6367d2991" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/5e0fc71be03d52cd00c423061cfd300bd6f92a52", - "reference": "5e0fc71be03d52cd00c423061cfd300bd6f92a52", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/5f08141850932e8019c01d8988bf3ed6367d2991", + "reference": "5f08141850932e8019c01d8988bf3ed6367d2991", "shasum": "" }, "require": { @@ -3446,20 +3446,20 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2019-08-26T16:47:42+00:00" + "time": "2019-10-07T15:06:41+00:00" }, { "name": "symfony/inflector", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/inflector.git", - "reference": "b25a8dc15fada858432efa083c1ecd2cef5991a7" + "reference": "fc488a52c79b2bbe848fa9def35f2cccb47c4798" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/inflector/zipball/b25a8dc15fada858432efa083c1ecd2cef5991a7", - "reference": "b25a8dc15fada858432efa083c1ecd2cef5991a7", + "url": "https://api.github.com/repos/symfony/inflector/zipball/fc488a52c79b2bbe848fa9def35f2cccb47c4798", + "reference": "fc488a52c79b2bbe848fa9def35f2cccb47c4798", "shasum": "" }, "require": { @@ -3504,20 +3504,20 @@ "symfony", "words" ], - "time": "2019-08-06T18:44:23+00:00" + "time": "2019-09-17T11:12:06+00:00" }, { "name": "symfony/intl", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "8db5505703c5bdb23d524fd994dad2f781966538" + "reference": "818771ff6acef04cdce05023ddfc39b7078014bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/8db5505703c5bdb23d524fd994dad2f781966538", - "reference": "8db5505703c5bdb23d524fd994dad2f781966538", + "url": "https://api.github.com/repos/symfony/intl/zipball/818771ff6acef04cdce05023ddfc39b7078014bf", + "reference": "818771ff6acef04cdce05023ddfc39b7078014bf", "shasum": "" }, "require": { @@ -3579,20 +3579,20 @@ "l10n", "localization" ], - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-04T21:18:34+00:00" }, { "name": "symfony/mime", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "987a05df1c6ac259b34008b932551353f4f408df" + "reference": "32f71570547b91879fdbd9cf50317d556ae86916" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/987a05df1c6ac259b34008b932551353f4f408df", - "reference": "987a05df1c6ac259b34008b932551353f4f408df", + "url": "https://api.github.com/repos/symfony/mime/zipball/32f71570547b91879fdbd9cf50317d556ae86916", + "reference": "32f71570547b91879fdbd9cf50317d556ae86916", "shasum": "" }, "require": { @@ -3638,20 +3638,20 @@ "mime", "mime-type" ], - "time": "2019-08-22T08:16:11+00:00" + "time": "2019-09-19T17:00:15+00:00" }, { "name": "symfony/monolog-bridge", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bridge.git", - "reference": "8a491edacd54e0214f5e7fb254710d30682e7bc1" + "reference": "6b9d84b34e0c2c5d9d4f4dbd5f36b0c9e4e5ef93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/8a491edacd54e0214f5e7fb254710d30682e7bc1", - "reference": "8a491edacd54e0214f5e7fb254710d30682e7bc1", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/6b9d84b34e0c2c5d9d4f4dbd5f36b0c9e4e5ef93", + "reference": "6b9d84b34e0c2c5d9d4f4dbd5f36b0c9e4e5ef93", "shasum": "" }, "require": { @@ -3704,7 +3704,7 @@ ], "description": "Symfony Monolog Bridge", "homepage": "https://symfony.com", - "time": "2019-08-07T11:52:19+00:00" + "time": "2019-09-06T09:34:03+00:00" }, { "name": "symfony/monolog-bundle", @@ -3771,7 +3771,7 @@ }, { "name": "symfony/options-resolver", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", @@ -4145,16 +4145,16 @@ }, { "name": "symfony/process", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "e89969c00d762349f078db1128506f7f3dcc0d4a" + "reference": "50556892f3cc47d4200bfd1075314139c4c9ff4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/e89969c00d762349f078db1128506f7f3dcc0d4a", - "reference": "e89969c00d762349f078db1128506f7f3dcc0d4a", + "url": "https://api.github.com/repos/symfony/process/zipball/50556892f3cc47d4200bfd1075314139c4c9ff4b", + "reference": "50556892f3cc47d4200bfd1075314139c4c9ff4b", "shasum": "" }, "require": { @@ -4190,11 +4190,11 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-09-26T21:17:10+00:00" }, { "name": "symfony/property-access", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", @@ -4261,16 +4261,16 @@ }, { "name": "symfony/property-info", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "29546235b37f7bd279c763314cd4c962aedd1e6d" + "reference": "6e4bf437295ef11eb3665ec8f800fb14a74cb976" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/29546235b37f7bd279c763314cd4c962aedd1e6d", - "reference": "29546235b37f7bd279c763314cd4c962aedd1e6d", + "url": "https://api.github.com/repos/symfony/property-info/zipball/6e4bf437295ef11eb3665ec8f800fb14a74cb976", + "reference": "6e4bf437295ef11eb3665ec8f800fb14a74cb976", "shasum": "" }, "require": { @@ -4333,20 +4333,20 @@ "type", "validator" ], - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-09-17T11:12:06+00:00" }, { "name": "symfony/routing", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "ff1049f6232dc5b6023b1ff1c6de56f82bcd264f" + "reference": "3b174ef04fe66696524efad1e5f7a6c663d822ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/ff1049f6232dc5b6023b1ff1c6de56f82bcd264f", - "reference": "ff1049f6232dc5b6023b1ff1c6de56f82bcd264f", + "url": "https://api.github.com/repos/symfony/routing/zipball/3b174ef04fe66696524efad1e5f7a6c663d822ea", + "reference": "3b174ef04fe66696524efad1e5f7a6c663d822ea", "shasum": "" }, "require": { @@ -4409,20 +4409,20 @@ "uri", "url" ], - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-04T20:57:10+00:00" }, { "name": "symfony/security-bundle", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "97ba8648e718999793e79ab4d1f1582c8d19be9d" + "reference": "aa3cd52168c2e5c99effe560907f22fcffe8a788" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/97ba8648e718999793e79ab4d1f1582c8d19be9d", - "reference": "97ba8648e718999793e79ab4d1f1582c8d19be9d", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/aa3cd52168c2e5c99effe560907f22fcffe8a788", + "reference": "aa3cd52168c2e5c99effe560907f22fcffe8a788", "shasum": "" }, "require": { @@ -4493,20 +4493,20 @@ ], "description": "Symfony SecurityBundle", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-09-05T18:00:30+00:00" }, { "name": "symfony/security-core", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "a8c67a8bc6bd8012c5d6b70cb030ca3422476caa" + "reference": "a6f763c1f093b833d371f813519a1a8c07b75fb9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/a8c67a8bc6bd8012c5d6b70cb030ca3422476caa", - "reference": "a8c67a8bc6bd8012c5d6b70cb030ca3422476caa", + "url": "https://api.github.com/repos/symfony/security-core/zipball/a6f763c1f093b833d371f813519a1a8c07b75fb9", + "reference": "a6f763c1f093b833d371f813519a1a8c07b75fb9", "shasum": "" }, "require": { @@ -4565,20 +4565,20 @@ ], "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", - "time": "2019-08-26T08:55:16+00:00" + "time": "2019-09-10T11:22:25+00:00" }, { "name": "symfony/security-csrf", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/security-csrf.git", - "reference": "d218ba086ef4a68081f3dd5ec11611f5d64d58f3" + "reference": "0760ec651ea8ff81e22097780337e43f3a795769" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-csrf/zipball/d218ba086ef4a68081f3dd5ec11611f5d64d58f3", - "reference": "d218ba086ef4a68081f3dd5ec11611f5d64d58f3", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/0760ec651ea8ff81e22097780337e43f3a795769", + "reference": "0760ec651ea8ff81e22097780337e43f3a795769", "shasum": "" }, "require": { @@ -4624,20 +4624,20 @@ ], "description": "Symfony Security Component - CSRF Library", "homepage": "https://symfony.com", - "time": "2019-08-13T06:39:03+00:00" + "time": "2019-09-24T15:54:14+00:00" }, { "name": "symfony/security-guard", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/security-guard.git", - "reference": "cf06aa4f8ea38a769476c4f5989f1dc400a308a1" + "reference": "4beec980b6a0122afc1ca166ca50ce3b84398507" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-guard/zipball/cf06aa4f8ea38a769476c4f5989f1dc400a308a1", - "reference": "cf06aa4f8ea38a769476c4f5989f1dc400a308a1", + "url": "https://api.github.com/repos/symfony/security-guard/zipball/4beec980b6a0122afc1ca166ca50ce3b84398507", + "reference": "4beec980b6a0122afc1ca166ca50ce3b84398507", "shasum": "" }, "require": { @@ -4678,20 +4678,20 @@ ], "description": "Symfony Security Component - Guard", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-09-17T11:12:06+00:00" }, { "name": "symfony/security-http", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "65281f9b7c7a77cccaa5b89026ef2a02940dc2cc" + "reference": "b91b6d4d1bded8365f23f6bd4290d28bc6af0832" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/65281f9b7c7a77cccaa5b89026ef2a02940dc2cc", - "reference": "65281f9b7c7a77cccaa5b89026ef2a02940dc2cc", + "url": "https://api.github.com/repos/symfony/security-http/zipball/b91b6d4d1bded8365f23f6bd4290d28bc6af0832", + "reference": "b91b6d4d1bded8365f23f6bd4290d28bc6af0832", "shasum": "" }, "require": { @@ -4743,20 +4743,20 @@ ], "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-04T21:11:33+00:00" }, { "name": "symfony/serializer", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "702900654e0ceed9ca7a9eccffb1d6ec69d7c8b6" + "reference": "805eacc72d28e237ef31659344a4d72acef335ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/702900654e0ceed9ca7a9eccffb1d6ec69d7c8b6", - "reference": "702900654e0ceed9ca7a9eccffb1d6ec69d7c8b6", + "url": "https://api.github.com/repos/symfony/serializer/zipball/805eacc72d28e237ef31659344a4d72acef335ec", + "reference": "805eacc72d28e237ef31659344a4d72acef335ec", "shasum": "" }, "require": { @@ -4823,7 +4823,7 @@ ], "description": "Symfony Serializer Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:55:16+00:00" + "time": "2019-10-02T15:03:35+00:00" }, { "name": "symfony/serializer-pack", @@ -4857,16 +4857,16 @@ }, { "name": "symfony/service-contracts", - "version": "v1.1.6", + "version": "v1.1.7", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "ea7263d6b6d5f798b56a45a5b8d686725f2719a3" + "reference": "ffcde9615dc5bb4825b9f6aed07716f1f57faae0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ea7263d6b6d5f798b56a45a5b8d686725f2719a3", - "reference": "ea7263d6b6d5f798b56a45a5b8d686725f2719a3", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffcde9615dc5bb4825b9f6aed07716f1f57faae0", + "reference": "ffcde9615dc5bb4825b9f6aed07716f1f57faae0", "shasum": "" }, "require": { @@ -4911,11 +4911,11 @@ "interoperability", "standards" ], - "time": "2019-08-20T14:44:19+00:00" + "time": "2019-09-17T11:12:18+00:00" }, { "name": "symfony/stopwatch", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", @@ -5030,16 +5030,16 @@ }, { "name": "symfony/translation", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "28498169dd334095fa981827992f3a24d50fed0f" + "reference": "fe6193b066c457c144333c06aaa869a2d42a167f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/28498169dd334095fa981827992f3a24d50fed0f", - "reference": "28498169dd334095fa981827992f3a24d50fed0f", + "url": "https://api.github.com/repos/symfony/translation/zipball/fe6193b066c457c144333c06aaa869a2d42a167f", + "reference": "fe6193b066c457c144333c06aaa869a2d42a167f", "shasum": "" }, "require": { @@ -5102,20 +5102,20 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:55:16+00:00" + "time": "2019-09-27T14:37:39+00:00" }, { "name": "symfony/translation-contracts", - "version": "v1.1.6", + "version": "v1.1.7", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "325b17c24f3ee23cbecfa63ba809c6d89b5fa04a" + "reference": "364518c132c95642e530d9b2d217acbc2ccac3e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/325b17c24f3ee23cbecfa63ba809c6d89b5fa04a", - "reference": "325b17c24f3ee23cbecfa63ba809c6d89b5fa04a", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/364518c132c95642e530d9b2d217acbc2ccac3e6", + "reference": "364518c132c95642e530d9b2d217acbc2ccac3e6", "shasum": "" }, "require": { @@ -5159,20 +5159,20 @@ "interoperability", "standards" ], - "time": "2019-08-02T12:15:04+00:00" + "time": "2019-09-17T11:12:18+00:00" }, { "name": "symfony/twig-bridge", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "cd6c551dc5d62b520d1a973fb4cb2c46bfc00b62" + "reference": "499b3f3aedffa44e4e30b476bbd433854afc9bc3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/cd6c551dc5d62b520d1a973fb4cb2c46bfc00b62", - "reference": "cd6c551dc5d62b520d1a973fb4cb2c46bfc00b62", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/499b3f3aedffa44e4e30b476bbd433854afc9bc3", + "reference": "499b3f3aedffa44e4e30b476bbd433854afc9bc3", "shasum": "" }, "require": { @@ -5260,20 +5260,20 @@ ], "description": "Symfony Twig Bridge", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-02T08:36:26+00:00" }, { "name": "symfony/twig-bundle", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", - "reference": "9528fdd8b9ba3f66c5570c22fb1a547e35abb23d" + "reference": "c27738bb0d9b314b96a323aebc5f40a20e2a644b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/9528fdd8b9ba3f66c5570c22fb1a547e35abb23d", - "reference": "9528fdd8b9ba3f66c5570c22fb1a547e35abb23d", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/c27738bb0d9b314b96a323aebc5f40a20e2a644b", + "reference": "c27738bb0d9b314b96a323aebc5f40a20e2a644b", "shasum": "" }, "require": { @@ -5337,20 +5337,20 @@ ], "description": "Symfony TwigBundle", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-02T08:36:26+00:00" }, { "name": "symfony/validator", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "173b483999c2acad8e040633105733318dcc8a83" + "reference": "dd344bae7894ce8d6c399d854d894eb6e52ee178" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/173b483999c2acad8e040633105733318dcc8a83", - "reference": "173b483999c2acad8e040633105733318dcc8a83", + "url": "https://api.github.com/repos/symfony/validator/zipball/dd344bae7894ce8d6c399d854d894eb6e52ee178", + "reference": "dd344bae7894ce8d6c399d854d894eb6e52ee178", "shasum": "" }, "require": { @@ -5430,11 +5430,11 @@ ], "description": "Symfony Validator Component", "homepage": "https://symfony.com", - "time": "2019-08-26T09:28:48+00:00" + "time": "2019-10-07T12:36:49+00:00" }, { "name": "symfony/var-exporter", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", @@ -5494,7 +5494,7 @@ }, { "name": "symfony/web-link", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/web-link.git", @@ -5567,16 +5567,16 @@ }, { "name": "symfony/yaml", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686" + "reference": "41e16350a2a1c7383c4735aa2f9fce74cf3d1178" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686", - "reference": "5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686", + "url": "https://api.github.com/repos/symfony/yaml/zipball/41e16350a2a1c7383c4735aa2f9fce74cf3d1178", + "reference": "41e16350a2a1c7383c4735aa2f9fce74cf3d1178", "shasum": "" }, "require": { @@ -5622,20 +5622,20 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2019-08-20T14:27:59+00:00" + "time": "2019-09-11T15:41:19+00:00" }, { "name": "twig/twig", - "version": "v2.11.3", + "version": "v2.12.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "699ed2342557c88789a15402de5eb834dedd6792" + "reference": "c7a85fd08348ca04b4d8f234f49583d9910906aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/699ed2342557c88789a15402de5eb834dedd6792", - "reference": "699ed2342557c88789a15402de5eb834dedd6792", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/c7a85fd08348ca04b4d8f234f49583d9910906aa", + "reference": "c7a85fd08348ca04b4d8f234f49583d9910906aa", "shasum": "" }, "require": { @@ -5645,13 +5645,13 @@ }, "require-dev": { "psr/container": "^1.0", - "symfony/debug": "^2.7", - "symfony/phpunit-bridge": "^3.4.19|^4.1.8|^5.0" + "symfony/debug": "^3.4|^4.2", + "symfony/phpunit-bridge": "^4.4@dev|^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.11-dev" + "dev-master": "2.12-dev" } }, "autoload": { @@ -5673,15 +5673,15 @@ "homepage": "http://fabien.potencier.org", "role": "Lead Developer" }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, { "name": "Twig Team", "homepage": "https://twig.symfony.com/contributors", "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" } ], "description": "Twig, the flexible, fast, and secure template language for PHP", @@ -5689,7 +5689,7 @@ "keywords": [ "templating" ], - "time": "2019-06-18T15:37:11+00:00" + "time": "2019-10-05T16:42:38+00:00" }, { "name": "webmozart/assert", @@ -5743,16 +5743,16 @@ }, { "name": "zendframework/zend-code", - "version": "3.3.2", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/zendframework/zend-code.git", - "reference": "936fa7ad4d53897ea3e3eb41b5b760828246a20b" + "reference": "46feaeecea14161734b56c1ace74f28cb329f194" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-code/zipball/936fa7ad4d53897ea3e3eb41b5b760828246a20b", - "reference": "936fa7ad4d53897ea3e3eb41b5b760828246a20b", + "url": "https://api.github.com/repos/zendframework/zend-code/zipball/46feaeecea14161734b56c1ace74f28cb329f194", + "reference": "46feaeecea14161734b56c1ace74f28cb329f194", "shasum": "" }, "require": { @@ -5762,7 +5762,7 @@ "require-dev": { "doctrine/annotations": "^1.0", "ext-phar": "*", - "phpunit/phpunit": "^7.5.15", + "phpunit/phpunit": "^7.5.16 || ^8.4", "zendframework/zend-coding-standard": "^1.0", "zendframework/zend-stdlib": "^2.7 || ^3.0" }, @@ -5773,8 +5773,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3.x-dev", - "dev-develop": "3.4.x-dev" + "dev-master": "3.4.x-dev", + "dev-develop": "3.5.x-dev" } }, "autoload": { @@ -5792,7 +5792,7 @@ "code", "zf" ], - "time": "2019-08-31T14:14:34+00:00" + "time": "2019-10-05T23:18:22+00:00" }, { "name": "zendframework/zend-eventmanager", @@ -5953,16 +5953,16 @@ }, { "name": "symfony/browser-kit", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "9e5dddb637b13db82e35695a8603fe6e118cc119" + "reference": "78b7611c45039e8ce81698be319851529bf040b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9e5dddb637b13db82e35695a8603fe6e118cc119", - "reference": "9e5dddb637b13db82e35695a8603fe6e118cc119", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/78b7611c45039e8ce81698be319851529bf040b1", + "reference": "78b7611c45039e8ce81698be319851529bf040b1", "shasum": "" }, "require": { @@ -6008,20 +6008,20 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-09-10T11:25:17+00:00" }, { "name": "symfony/css-selector", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "c6e5e2a00db768c92c3ae131532af4e1acc7bd03" + "reference": "f4b3ff6a549d9ed28b2b0ecd1781bf67cf220ee9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/c6e5e2a00db768c92c3ae131532af4e1acc7bd03", - "reference": "c6e5e2a00db768c92c3ae131532af4e1acc7bd03", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f4b3ff6a549d9ed28b2b0ecd1781bf67cf220ee9", + "reference": "f4b3ff6a549d9ed28b2b0ecd1781bf67cf220ee9", "shasum": "" }, "require": { @@ -6061,11 +6061,11 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2019-08-20T14:07:54+00:00" + "time": "2019-10-02T08:36:26+00:00" }, { "name": "symfony/debug-bundle", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/debug-bundle.git", @@ -6161,16 +6161,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "cc686552948d627528c0e2e759186dff67c2610e" + "reference": "e9f7b4d19d69b133bd638eeddcdc757723b4211f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/cc686552948d627528c0e2e759186dff67c2610e", - "reference": "cc686552948d627528c0e2e759186dff67c2610e", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/e9f7b4d19d69b133bd638eeddcdc757723b4211f", + "reference": "e9f7b4d19d69b133bd638eeddcdc757723b4211f", "shasum": "" }, "require": { @@ -6218,7 +6218,7 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-09-28T21:25:05+00:00" }, { "name": "symfony/maker-bundle", @@ -6290,16 +6290,16 @@ }, { "name": "symfony/phpunit-bridge", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "3b1ab2e027d7c5af0e693c4a5b4ba5d407f1814d" + "reference": "a7fd9e742c31ac2b607b166c9016bab51a36c574" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/3b1ab2e027d7c5af0e693c4a5b4ba5d407f1814d", - "reference": "3b1ab2e027d7c5af0e693c4a5b4ba5d407f1814d", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/a7fd9e742c31ac2b607b166c9016bab51a36c574", + "reference": "a7fd9e742c31ac2b607b166c9016bab51a36c574", "shasum": "" }, "require": { @@ -6351,7 +6351,7 @@ ], "description": "Symfony PHPUnit Bridge", "homepage": "https://symfony.com", - "time": "2019-08-20T14:27:59+00:00" + "time": "2019-10-02T08:36:26+00:00" }, { "name": "symfony/profiler-pack", @@ -6411,16 +6411,16 @@ }, { "name": "symfony/var-dumper", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6" + "reference": "bde8957fc415fdc6964f33916a3755737744ff05" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/641043e0f3e615990a0f29479f9c117e8a6698c6", - "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/bde8957fc415fdc6964f33916a3755737744ff05", + "reference": "bde8957fc415fdc6964f33916a3755737744ff05", "shasum": "" }, "require": { @@ -6483,20 +6483,20 @@ "debug", "dump" ], - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-04T19:48:13+00:00" }, { "name": "symfony/web-profiler-bundle", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "387c36fd133c08bb0d78d8de17c1121681b37a09" + "reference": "b52bb32e6182d924303dbeb9c584396819fef118" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/387c36fd133c08bb0d78d8de17c1121681b37a09", - "reference": "387c36fd133c08bb0d78d8de17c1121681b37a09", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/b52bb32e6182d924303dbeb9c584396819fef118", + "reference": "b52bb32e6182d924303dbeb9c584396819fef118", "shasum": "" }, "require": { @@ -6549,11 +6549,11 @@ ], "description": "Symfony WebProfilerBundle", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-02T08:36:26+00:00" }, { "name": "symfony/web-server-bundle", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/web-server-bundle.git", diff --git a/docker-compose.yml b/docker-compose.yml index a4c434c..a3d1b74 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -55,5 +55,5 @@ services: DATABASE_NAME: ${DATABASE_NAME} DATABASE_USER: ${DATABASE_USER} DATABASE_PASSWORD: ${DATABASE_PASSWORD} - DATABASE_ROOT_PASSWORD: ${DATABASE_PASSWORD} + DATABASE_ROOT_PASSWORD: ${DATABASE_ROOT_PASSWORD} APP_DOMAIN: ${APP_DOMAIN} \ No newline at end of file diff --git a/src/Controller/ChessController.php b/src/Controller/ChessController.php index e3a6eba..be7fa08 100644 --- a/src/Controller/ChessController.php +++ b/src/Controller/ChessController.php @@ -7,7 +7,6 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; - class ChessController extends AbstractController { function enabledMoves(Request $request): Response @@ -71,23 +70,14 @@ function move(Request $request): Response } } - } - elseif (($player % 2 == 1)) - { - if ($test->board[$y][$x]->type != "-") - { + } elseif (($player % 2 == 1)) { + if ($test->board[$y][$x]->type != "-") { $tab = $test->board[$y][$x]->check($x, $y, $test, $player); - } - elseif ($test->board[$y][$x]->type == "-" || $test->board[$y][$x]->color == "White") - { - for ($i = 0; $i < sizeof($this->get('session')->get('ancient')); $i++) - { - if ($i % 2 == 0) - { - if ($this->get('session')->get('ancient')[$i] == $x) - { - if ($this->get('session')->get('ancient')[$i + 1] == $y) - { + } elseif ($test->board[$y][$x]->type == "-" || $test->board[$y][$x]->color == "White") { + for ($i = 0; $i < sizeof($this->get('session')->get('ancient')); $i++) { + if ($i % 2 == 0) { + if ($this->get('session')->get('ancient')[$i] == $x) { + if ($this->get('session')->get('ancient')[$i + 1] == $y) { $moveResponse = $test->board[$y][$x]->move($this->get('session')->get('ax'), $this->get('session')->get('ay'), $x, $y, $test); $this->get('session')->set('chessBoard', $moveResponse['chess']); $tab = $moveResponse['tab']; diff --git a/src/Entity/Chess/ChessBoard.php b/src/Entity/Chess/ChessBoard.php index a731d75..443ee46 100644 --- a/src/Entity/Chess/ChessBoard.php +++ b/src/Entity/Chess/ChessBoard.php @@ -58,16 +58,11 @@ public function __construct() $this->correspondance["g"] = 6; $this->correspondance["h"] = 7; - for ($i = 0; $i < $this->height; $i++) - { - - for ($j = 0; $j < $this->length; $j++) - { - switch ($i) - { + for ($i = 0; $i < $this->height; $i++) { + for ($j = 0; $j < $this->length; $j++) { + switch ($i) { case 0: - switch ($j) - { + switch ($j) { case 0: $this->board[$i][$j] = new Tower($i, $j, "White", TRUE); break; @@ -101,8 +96,7 @@ public function __construct() $this->board[$i][$j] = new Pawn($i, $j, "Black", TRUE); break; case 7: - switch ($j) - { + switch ($j) { case 0: $this->board[$i][$j] = new Tower($i, $j, "Black", TRUE); break; @@ -139,14 +133,12 @@ public function __construct() public function is_valid ($from, $to) { - if ($this->board[$this->correspondance[$from[0]]][$from[1]] != "-") - { - if ($this->board[$this->correspondance[$from[0]]][$from[1]]->check ($to) == true) - { + if ($this->board[$this->correspondance[$from[0]]][$from[1]] != "-") { + if ($this->board[$this->correspondance[$from[0]]][$from[1]]->check ($to) == true) { return true; - } - else + } else { return false; + } } return false; } @@ -154,11 +146,9 @@ public function is_valid ($from, $to) public function display () { - for ($i = 0; $i < $this->height; $i++) - { + for ($i = 0; $i < $this->height; $i++) { echo "|" ; - for ($j = 0; $j < $this->length; $j++) - { + for ($j = 0; $j < $this->length; $j++) { echo $this->board[$i][$j]->display()."|"; } echo "
"; @@ -167,11 +157,9 @@ public function display () public static function get_instance () { - if (isset (self::$instance)) - { + if (isset (self::$instance)) { return (self::$instance); } return new ChessBoard (); } -} -?> +} \ No newline at end of file diff --git a/src/Entity/Chess/Pieces/Bishop.php b/src/Entity/Chess/Pieces/Bishop.php index 89d4288..2c32bde 100644 --- a/src/Entity/Chess/Pieces/Bishop.php +++ b/src/Entity/Chess/Pieces/Bishop.php @@ -41,17 +41,18 @@ public function __set($name, $value) - public function eat () + public function eat() { } public function display() { - if ($this->color == "White") + if ($this->color == "White") { echo "Bw"; - else + } else { echo "Bb"; + } } public function check(int $from, int $to, ChessBoard $chess, $player = null) @@ -61,12 +62,9 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $cpt = 0; $tabres = array(0); - if (($py + 1 < 8) ) - { - if ($px + 1 < 8) - { - while (($px + 1 < 8)&&($py + 1 < 8) && ($chess->board[$py + 1][$px + 1]->type == "-")) - { + if (($py + 1 < 8) ) { + if ($px + 1 < 8) { + while (($px + 1 < 8)&&($py + 1 < 8) && ($chess->board[$py + 1][$px + 1]->type == "-")) { $px++; $py++; $tabres[$cpt] = $px; @@ -79,12 +77,9 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($py + 1 > 8)) - { - if ($px - 1 >= 0) - { - while (($px - 1 >= 0)&&($py + 1 < 8) && ($chess->board[$py + 1][$px - 1]->type == "-")) - { + if (($py + 1 > 8)) { + if ($px - 1 >= 0) { + while (($px - 1 >= 0)&&($py + 1 < 8) && ($chess->board[$py + 1][$px - 1]->type == "-")) { $px--; $py++; $tabres[$cpt] = $px; @@ -98,11 +93,8 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px - 1 >= 0)) - { - if ($py - 1 >= 0) - - { + if (($px - 1 >= 0)) { + if ($py - 1 >= 0) { while (($px - 1 >= 0)&&($py - 1 >= 0) && ($chess->board[$py - 1][$px - 1]->type == "-")) { $px--; @@ -117,12 +109,9 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if ($px + 1 < 8) - { - if ($py - 1 >= 0) - { - while (($px + 1 < 8)&&($py - 1 >= 0) && ($chess->board[$py - 1][$px + 1]->type == "-")) - { + if ($px + 1 < 8) { + if ($py - 1 >= 0) { + while (($px + 1 < 8)&&($py - 1 >= 0) && ($chess->board[$py - 1][$px + 1]->type == "-")) { $px++; $py--; $tabres[$cpt] = $px; @@ -134,7 +123,6 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) } return $tabres; - } public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array @@ -156,6 +144,4 @@ public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $che return $response; } -} - -?> +} \ No newline at end of file diff --git a/src/Entity/Chess/Pieces/King.php b/src/Entity/Chess/Pieces/King.php index 67d4dee..d05652c 100644 --- a/src/Entity/Chess/Pieces/King.php +++ b/src/Entity/Chess/Pieces/King.php @@ -8,6 +8,7 @@ use App\Entity\Chess\ChessBoard; use App\Entity\Chess\Pieces\Piece as Piece; + /** * Description of King * @@ -61,67 +62,55 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $py = $to; $tabres = array(0); - if ($px + 1 < 8) - { + if ($px + 1 < 8) { $tabres[$cpt] = $px + 1; $cpt++; $tabres[$cpt] = $py; $cpt++; } - if ($px - 1 >= 0) - { + if ($px - 1 >= 0) { $tabres[$cpt] = $px - 1; $cpt++; $tabres[$cpt] = $py; $cpt++; } - - if ($py + 1 < 8) - { + if ($py + 1 < 8) { $tabres[$cpt] = $px; $cpt++; $tabres[$cpt] = $py + 1; $cpt++; } - if ($px - 1 >= 0) - { + if ($px - 1 >= 0) { $tabres[$cpt] = $px; $cpt++; $tabres[$cpt] = $py - 1; $cpt++; } - - if ($px + 1 < 8 && $py + 1 < 8) - { + if ($px + 1 < 8 && $py + 1 < 8) { $tabres[$cpt] = $px + 1; $cpt++; $tabres[$cpt] = $py + 1; $cpt++; } - - if ($px - 1 < 8 && $py + 1 < 8) - { + if ($px - 1 < 8 && $py + 1 < 8) { $tabres[$cpt] = $px - 1; $cpt++; $tabres[$cpt] = $py + 1; $cpt++; } - - if ($px - 1 < 8 && $py - 1 < 8) - { + if ($px - 1 < 8 && $py - 1 < 8) { $tabres[$cpt] = $px - 1; $cpt++; $tabres[$cpt] = $py - 1; $cpt++; } - - if ($px + 1 < 8 && $py - 1 < 8) - { + if ($px + 1 < 8 && $py - 1 < 8) { $tabres[$cpt] = $px + 1; $cpt++; $tabres[$cpt] = $py - 1; $cpt++; } + return $tabres; } @@ -129,6 +118,4 @@ public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $che { return []; } -} - -?> +} \ No newline at end of file diff --git a/src/Entity/Chess/Pieces/Knight.php b/src/Entity/Chess/Pieces/Knight.php index e34ebd2..0feec32 100644 --- a/src/Entity/Chess/Pieces/Knight.php +++ b/src/Entity/Chess/Pieces/Knight.php @@ -8,6 +8,7 @@ use App\Entity\Chess\ChessBoard; use App\Entity\Chess\Pieces\Piece as Piece; + /** * Description of Knight * @@ -45,14 +46,13 @@ public function eat () public function display() { - if ($this->color == "White") + if ($this->color == "White") { echo "Nw"; - else + } else { echo "Nb"; + } } - - public function check(int $from, int $to, ChessBoard $chess, $player = null) { $board = $chess; @@ -61,8 +61,7 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $py = $to; $tabres = array(0); - if (($px + 1 < 8) && ($py + 2 < 8) && (($board->board[$py + 2][$px + 1]->type == "-") || ($board->board[$py + 2][$px + 1]->color != $board->board[$to][$from]->color))) - { + if (($px + 1 < 8) && ($py + 2 < 8) && (($board->board[$py + 2][$px + 1]->type == "-") || ($board->board[$py + 2][$px + 1]->color != $board->board[$to][$from]->color))) { $px++; $py += 2; $tabres[$cpt] = $px; @@ -74,8 +73,7 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px - 1 >= 0) && ($py + 2 < 8) && (($board->board[$py + 2][$px - 1]->type == "-") || ($board->board[$py + 2][$px - 1]->color != $board->board[$to][$from]->color))) - { + if (($px - 1 >= 0) && ($py + 2 < 8) && (($board->board[$py + 2][$px - 1]->type == "-") || ($board->board[$py + 2][$px - 1]->color != $board->board[$to][$from]->color))) { $px--; $py += 2; $tabres[$cpt] = $px; @@ -88,8 +86,7 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px - 2 >= 0) && ($py + 1 < 8 ) && (($board->board[$py + 1][$px - 2]->type == "-") || ($board->board[$py + 1][$px - 2]->color != $board->board[$to][$from]->color))) - { + if (($px - 2 >= 0) && ($py + 1 < 8 ) && (($board->board[$py + 1][$px - 2]->type == "-") || ($board->board[$py + 1][$px - 2]->color != $board->board[$to][$from]->color))) { $px -= 2; $py++; $tabres[$cpt] = $px; @@ -101,8 +98,7 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px - 2 >= 0) && ($py - 1 >= 0) && (($board->board[$py - 1][$px - 2]->type == "-") || ($board->board[$py - 1][$px - 2]->color != $board->board[$to][$from]->color))) - { + if (($px - 2 >= 0) && ($py - 1 >= 0) && (($board->board[$py - 1][$px - 2]->type == "-") || ($board->board[$py - 1][$px - 2]->color != $board->board[$to][$from]->color))) { $px -= 2; $py--; $tabres[$cpt] = $px; @@ -116,8 +112,7 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px + 1 < 8) && ($py - 2 >= 0) && (($board->board[$py - 2][$px + 1]->type == "-") || ($board->board[$py - 2][$px + 1]->color != $board->board[$to][$from]->color))) - { + if (($px + 1 < 8) && ($py - 2 >= 0) && (($board->board[$py - 2][$px + 1]->type == "-") || ($board->board[$py - 2][$px + 1]->color != $board->board[$to][$from]->color))) { $px++; $py -= 2; $tabres[$cpt] = $px; @@ -128,9 +123,8 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - - if (($px - 1 >= 0) && ($py - 2 >= 0) && (($board->board[$py - 2][$px - 1]->type == "-") || ($board->board[$py - 2][$px - 1]->color != $board->board[$to][$from]->color))) - { + + if (($px - 1 >= 0) && ($py - 2 >= 0) && (($board->board[$py - 2][$px - 1]->type == "-") || ($board->board[$py - 2][$px - 1]->color != $board->board[$to][$from]->color))) { $px--; $py -= 2; $tabres[$cpt] = $px; @@ -142,8 +136,7 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px + 2 < 8) && ($py - 1 >= 0) && (($board->board[$py - 1][$px + 2]->type == "-") || ($board->board[$py - 1][$px + 2]->color != $board->board[$to][$from]->color))) - { + if (($px + 2 < 8) && ($py - 1 >= 0) && (($board->board[$py - 1][$px + 2]->type == "-") || ($board->board[$py - 1][$px + 2]->color != $board->board[$to][$from]->color))) { $px += 2; $py--; $tabres[$cpt] = $px; @@ -155,8 +148,7 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px + 2 < 8) && ($py + 1 < 8) && (($board->board[$py + 1][$px + 2]->type == "-") ||($board->board[$py + 1][$px + 2]->color != $board->board[$to][$from]->color))) - { + if (($px + 2 < 8) && ($py + 1 < 8) && (($board->board[$py + 1][$px + 2]->type == "-") ||($board->board[$py + 1][$px + 2]->color != $board->board[$to][$from]->color))) { $px += 2; $py++; $tabres[$cpt] = $px; @@ -169,24 +161,22 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) } public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array - { - $tab = array (0); - $board = $chess->board; - $board[$toy][$tox] = $chess->board[$fromy][$fromx]; - $board[$fromy][$fromx] = new None($fromy, $fromx, "", FALSE); - - $tab[0]=$tox; - $tab[1]=$toy; - $tab[2]=$board[$toy][$tox]->type; - $chess->board = $board; + { + $tab = array (0); + $board = $chess->board; + $board[$toy][$tox] = $chess->board[$fromy][$fromx]; + $board[$fromy][$fromx] = new None($fromy, $fromx, "", FALSE); - $response = [ - 'tab' => $tab, - 'chess' => $board - ]; + $tab[0]=$tox; + $tab[1]=$toy; + $tab[2]=$board[$toy][$tox]->type; + $chess->board = $board; - return $response; - } -} + $response = [ + 'tab' => $tab, + 'chess' => $board + ]; -?> + return $response; + } +} \ No newline at end of file diff --git a/src/Entity/Chess/Pieces/None.php b/src/Entity/Chess/Pieces/None.php index 9c28b88..2b58886 100644 --- a/src/Entity/Chess/Pieces/None.php +++ b/src/Entity/Chess/Pieces/None.php @@ -35,9 +35,7 @@ public function __set($name, $value) { $this->$name = $value; } - - - + public function eat () { @@ -74,6 +72,4 @@ public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $che return $response; } -} - -?> +} \ No newline at end of file diff --git a/src/Entity/Chess/Pieces/Pawn.php b/src/Entity/Chess/Pieces/Pawn.php index f027da3..2b7e5d7 100644 --- a/src/Entity/Chess/Pieces/Pawn.php +++ b/src/Entity/Chess/Pieces/Pawn.php @@ -203,6 +203,4 @@ public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $che return $response; } -} - -?> +} \ No newline at end of file diff --git a/src/Entity/Chess/Pieces/Piece.php b/src/Entity/Chess/Pieces/Piece.php index de6f492..e61a844 100644 --- a/src/Entity/Chess/Pieces/Piece.php +++ b/src/Entity/Chess/Pieces/Piece.php @@ -28,4 +28,3 @@ abstract public function eat (); abstract public function display (); } -?> diff --git a/src/Entity/Chess/Pieces/Queen.php b/src/Entity/Chess/Pieces/Queen.php index 646f061..2049fbc 100644 --- a/src/Entity/Chess/Pieces/Queen.php +++ b/src/Entity/Chess/Pieces/Queen.php @@ -203,5 +203,3 @@ public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $che return $response; } } - -?> diff --git a/src/Entity/Chess/Pieces/Tower.php b/src/Entity/Chess/Pieces/Tower.php index 5f0d592..b4d05b2 100644 --- a/src/Entity/Chess/Pieces/Tower.php +++ b/src/Entity/Chess/Pieces/Tower.php @@ -134,5 +134,3 @@ public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $che return $response; } } - -?> From b026a9458eb95ef405c4877c54860937b2bf1a57 Mon Sep 17 00:00:00 2001 From: charleschopin Date: Thu, 17 Oct 2019 09:22:16 +0200 Subject: [PATCH 05/17] psr-norme boolean lowercase --- src/Entity/Chess/ChessBoard.php | 36 +++++++++++++++--------------- src/Entity/Chess/Pieces/Bishop.php | 2 +- src/Entity/Chess/Pieces/Knight.php | 2 +- src/Entity/Chess/Pieces/None.php | 2 +- src/Entity/Chess/Pieces/Pawn.php | 2 +- src/Entity/Chess/Pieces/Queen.php | 2 +- src/Entity/Chess/Pieces/Tower.php | 4 ++-- 7 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/Entity/Chess/ChessBoard.php b/src/Entity/Chess/ChessBoard.php index 443ee46..aa431ed 100644 --- a/src/Entity/Chess/ChessBoard.php +++ b/src/Entity/Chess/ChessBoard.php @@ -64,28 +64,28 @@ public function __construct() case 0: switch ($j) { case 0: - $this->board[$i][$j] = new Tower($i, $j, "White", TRUE); + $this->board[$i][$j] = new Tower($i, $j, "White", true); break; case 1: - $this->board[$i][$j] = new Knight($i, $j, "White", TRUE); + $this->board[$i][$j] = new Knight($i, $j, "White", true); break; case 2: - $this->board[$i][$j] = new Bishop($i, $j, "White", TRUE); + $this->board[$i][$j] = new Bishop($i, $j, "White", true); break; case 3: - $this->board[$i][$j] = new Queen($i, $j, "White", TRUE); + $this->board[$i][$j] = new Queen($i, $j, "White", true); break; case 4: - $this->board[$i][$j] = new King($i, $j, "White", TRUE); + $this->board[$i][$j] = new King($i, $j, "White", true); break; case 5: - $this->board[$i][$j] = new Bishop($i, $j, "White", TRUE); + $this->board[$i][$j] = new Bishop($i, $j, "White", true); break; case 6: - $this->board[$i][$j] = new Knight($i, $j, "White", TRUE); + $this->board[$i][$j] = new Knight($i, $j, "White", true); break; case 7: - $this->board[$i][$j] = new Tower($i, $j, "White", TRUE); + $this->board[$i][$j] = new Tower($i, $j, "White", true); break; } break; @@ -93,38 +93,38 @@ public function __construct() $this->board[$i][$j] = new Pawn ($i, $j, "White", true); break; case 6: - $this->board[$i][$j] = new Pawn($i, $j, "Black", TRUE); + $this->board[$i][$j] = new Pawn($i, $j, "Black", true); break; case 7: switch ($j) { case 0: - $this->board[$i][$j] = new Tower($i, $j, "Black", TRUE); + $this->board[$i][$j] = new Tower($i, $j, "Black", true); break; case 1: - $this->board[$i][$j] = new Knight($i, $j, "Black", TRUE); + $this->board[$i][$j] = new Knight($i, $j, "Black", true); break; case 2: - $this->board[$i][$j] = new Bishop($i, $j, "Black", TRUE); + $this->board[$i][$j] = new Bishop($i, $j, "Black", true); break; case 3: - $this->board[$i][$j] = new Queen($i, $j, "Black", TRUE); + $this->board[$i][$j] = new Queen($i, $j, "Black", true); break; case 4: - $this->board[$i][$j] = new King($i, $j, "Black", TRUE); + $this->board[$i][$j] = new King($i, $j, "Black", true); break; case 5: - $this->board[$i][$j] = new Bishop($i, $j, "Black", TRUE); + $this->board[$i][$j] = new Bishop($i, $j, "Black", true); break; case 6: - $this->board[$i][$j] = new Knight($i, $j, "Black", TRUE); + $this->board[$i][$j] = new Knight($i, $j, "Black", true); break; case 7: - $this->board[$i][$j] = new Tower($i, $j, "Black", TRUE); + $this->board[$i][$j] = new Tower($i, $j, "Black", true); break; } break; default : - $this->board[$i][$j] = new None($i, $j, "", FALSE); + $this->board[$i][$j] = new None($i, $j, "", false); break; } } diff --git a/src/Entity/Chess/Pieces/Bishop.php b/src/Entity/Chess/Pieces/Bishop.php index 2c32bde..b1d3781 100644 --- a/src/Entity/Chess/Pieces/Bishop.php +++ b/src/Entity/Chess/Pieces/Bishop.php @@ -130,7 +130,7 @@ public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $che $tab = array (0); $board = $chess->board; $board[$toy][$tox] = $chess->board[$fromy][$fromx]; - $board[$fromy][$fromx] = new None($fromy, $fromx, "", FALSE); + $board[$fromy][$fromx] = new None($fromy, $fromx, "", false); $tab[0]=$tox; $tab[1]=$toy; diff --git a/src/Entity/Chess/Pieces/Knight.php b/src/Entity/Chess/Pieces/Knight.php index 0feec32..ef36c03 100644 --- a/src/Entity/Chess/Pieces/Knight.php +++ b/src/Entity/Chess/Pieces/Knight.php @@ -165,7 +165,7 @@ public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $che $tab = array (0); $board = $chess->board; $board[$toy][$tox] = $chess->board[$fromy][$fromx]; - $board[$fromy][$fromx] = new None($fromy, $fromx, "", FALSE); + $board[$fromy][$fromx] = new None($fromy, $fromx, "", false); $tab[0]=$tox; $tab[1]=$toy; diff --git a/src/Entity/Chess/Pieces/None.php b/src/Entity/Chess/Pieces/None.php index 2b58886..da01b60 100644 --- a/src/Entity/Chess/Pieces/None.php +++ b/src/Entity/Chess/Pieces/None.php @@ -55,7 +55,7 @@ public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $che $tab = array (0); $board = $chess->board; $board[$toy][$tox] = $chess->board[$fromy][$fromx]; - $board[$fromy][$fromx] = new None($fromx, $fromy, "", FALSE); + $board[$fromy][$fromx] = new None($fromx, $fromy, "", false); $tab[0]=$tox; $tab[1]=$toy; diff --git a/src/Entity/Chess/Pieces/Pawn.php b/src/Entity/Chess/Pieces/Pawn.php index 2b7e5d7..ae7b951 100644 --- a/src/Entity/Chess/Pieces/Pawn.php +++ b/src/Entity/Chess/Pieces/Pawn.php @@ -188,7 +188,7 @@ public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $che $tab = array (0); $board = $chess->board; $board[$toy][$tox] = $chess->board[$fromy][$fromx]; - $board[$fromy][$fromx] = new None($fromx, $fromy, "", FALSE); + $board[$fromy][$fromx] = new None($fromx, $fromy, "", false); $tab[0]=$tox; $tab[1]=$toy; diff --git a/src/Entity/Chess/Pieces/Queen.php b/src/Entity/Chess/Pieces/Queen.php index 2049fbc..249a64e 100644 --- a/src/Entity/Chess/Pieces/Queen.php +++ b/src/Entity/Chess/Pieces/Queen.php @@ -188,7 +188,7 @@ public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $che $tab = array (0); $board = $chess->board; $board[$toy][$tox] = $chess->board[$fromy][$fromx]; - $board[$fromy][$fromx] = new None($fromy, $fromx, "", FALSE); + $board[$fromy][$fromx] = new None($fromy, $fromx, "", false); $tab[0]=$tox; $tab[1]=$toy; diff --git a/src/Entity/Chess/Pieces/Tower.php b/src/Entity/Chess/Pieces/Tower.php index b4d05b2..8bffeb2 100644 --- a/src/Entity/Chess/Pieces/Tower.php +++ b/src/Entity/Chess/Pieces/Tower.php @@ -23,7 +23,7 @@ public function __construct($x, $y, $color, $alive) $this->color = $color; $this->alive = $alive; $this->type = "T"; - $this->has_moved = FALSE; + $this->has_moved = false; } //getter setter @@ -119,7 +119,7 @@ public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $che $tab = array (0); $board = $chess->board; $board[$toy][$tox] = $chess->board[$fromy][$fromx]; - $board[$fromy][$fromx] = new None($fromy, $fromx, "", FALSE); + $board[$fromy][$fromx] = new None($fromy, $fromx, "", false); $tab[0]=$tox; $tab[1]=$toy; From b114ea5099a361ebba74e903078ed3be07e2f0a2 Mon Sep 17 00:00:00 2001 From: charleschopin Date: Thu, 17 Oct 2019 09:44:05 +0200 Subject: [PATCH 06/17] PSR1 linebreak --- src/Entity/Chess/ChessBoard.php | 2 +- src/Entity/Chess/Pieces/Bishop.php | 11 ----------- src/Entity/Chess/Pieces/King.php | 9 --------- src/Entity/Chess/Pieces/Knight.php | 9 --------- src/Entity/Chess/Pieces/None.php | 10 +--------- src/Entity/Chess/Pieces/Pawn.php | 12 ++---------- src/Entity/Chess/Pieces/Piece.php | 8 ++------ src/Entity/Chess/Pieces/Queen.php | 6 +----- src/Entity/Chess/Pieces/Tower.php | 10 +--------- 9 files changed, 8 insertions(+), 69 deletions(-) diff --git a/src/Entity/Chess/ChessBoard.php b/src/Entity/Chess/ChessBoard.php index aa431ed..f659bf7 100644 --- a/src/Entity/Chess/ChessBoard.php +++ b/src/Entity/Chess/ChessBoard.php @@ -16,8 +16,8 @@ use App\Entity\Chess\Pieces\Pawn; error_reporting (E_ALL); +//#TODO: side effect ini_set ("display_errors", 1); - class ChessBoard { //attributs diff --git a/src/Entity/Chess/Pieces/Bishop.php b/src/Entity/Chess/Pieces/Bishop.php index b1d3781..550bbfd 100644 --- a/src/Entity/Chess/Pieces/Bishop.php +++ b/src/Entity/Chess/Pieces/Bishop.php @@ -1,16 +1,5 @@ Date: Thu, 17 Oct 2019 09:47:59 +0200 Subject: [PATCH 07/17] PSR1 function nae --- src/Entity/Chess/ChessBoard.php | 17 ++++------------- src/Entity/Chess/Pieces/King.php | 2 +- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/Entity/Chess/ChessBoard.php b/src/Entity/Chess/ChessBoard.php index f659bf7..2b5f5aa 100644 --- a/src/Entity/Chess/ChessBoard.php +++ b/src/Entity/Chess/ChessBoard.php @@ -20,23 +20,14 @@ ini_set ("display_errors", 1); class ChessBoard { - //attributs private $instance; private $board; private $length = 8; private $height = 8; private $correspondance; - - //auto-load - - - function __autoload($class_name) - { - include $class_name . '.php'; - } //getter setter - public function __get($name) + public function __get($name) { return $this->$name; } @@ -131,7 +122,7 @@ public function __construct() } } - public function is_valid ($from, $to) + public function isValid ($from, $to) { if ($this->board[$this->correspondance[$from[0]]][$from[1]] != "-") { if ($this->board[$this->correspondance[$from[0]]][$from[1]]->check ($to) == true) { @@ -144,7 +135,7 @@ public function is_valid ($from, $to) } - public function display () + public function display() { for ($i = 0; $i < $this->height; $i++) { echo "|" ; @@ -155,7 +146,7 @@ public function display () } } - public static function get_instance () + public static function getInstance () { if (isset (self::$instance)) { return (self::$instance); diff --git a/src/Entity/Chess/Pieces/King.php b/src/Entity/Chess/Pieces/King.php index 07cbb1d..8b18c98 100644 --- a/src/Entity/Chess/Pieces/King.php +++ b/src/Entity/Chess/Pieces/King.php @@ -33,7 +33,7 @@ public function __set($name, $value) - public function eat () + public function eat() { } From 93125da0b0a08b8229fe1c24609387c41c284744 Mon Sep 17 00:00:00 2001 From: charleschopin Date: Thu, 17 Oct 2019 09:51:37 +0200 Subject: [PATCH 08/17] variable camelcase --- src/Entity/Chess/ChessBoard.php | 22 +++++++++++----------- src/Entity/Chess/Pieces/Bishop.php | 4 ++-- src/Entity/Chess/Pieces/King.php | 8 ++++---- src/Entity/Chess/Pieces/Knight.php | 4 ++-- src/Entity/Chess/Pieces/None.php | 4 ++-- src/Entity/Chess/Pieces/Pawn.php | 4 ++-- src/Entity/Chess/Pieces/Piece.php | 4 ++-- src/Entity/Chess/Pieces/Queen.php | 4 ++-- src/Entity/Chess/Pieces/Tower.php | 8 ++++---- 9 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/Entity/Chess/ChessBoard.php b/src/Entity/Chess/ChessBoard.php index 2b5f5aa..bf7a300 100644 --- a/src/Entity/Chess/ChessBoard.php +++ b/src/Entity/Chess/ChessBoard.php @@ -24,7 +24,7 @@ class ChessBoard private $board; private $length = 8; private $height = 8; - private $correspondance; + private $correspondence; //getter setter public function __get($name) @@ -40,14 +40,14 @@ public function __set($name, $value) //constructor public function __construct() { - $this->correspondance["a"] = 0; - $this->correspondance["b"] = 1; - $this->correspondance["c"] = 2; - $this->correspondance["d"] = 3; - $this->correspondance["e"] = 4; - $this->correspondance["f"] = 5; - $this->correspondance["g"] = 6; - $this->correspondance["h"] = 7; + $this->correspondence["a"] = 0; + $this->correspondence["b"] = 1; + $this->correspondence["c"] = 2; + $this->correspondence["d"] = 3; + $this->correspondence["e"] = 4; + $this->correspondence["f"] = 5; + $this->correspondence["g"] = 6; + $this->correspondence["h"] = 7; for ($i = 0; $i < $this->height; $i++) { for ($j = 0; $j < $this->length; $j++) { @@ -124,8 +124,8 @@ public function __construct() public function isValid ($from, $to) { - if ($this->board[$this->correspondance[$from[0]]][$from[1]] != "-") { - if ($this->board[$this->correspondance[$from[0]]][$from[1]]->check ($to) == true) { + if ($this->board[$this->correspondence[$from[0]]][$from[1]] != "-") { + if ($this->board[$this->correspondence[$from[0]]][$from[1]]->check ($to) == true) { return true; } else { return false; diff --git a/src/Entity/Chess/Pieces/Bishop.php b/src/Entity/Chess/Pieces/Bishop.php index 550bbfd..642c715 100644 --- a/src/Entity/Chess/Pieces/Bishop.php +++ b/src/Entity/Chess/Pieces/Bishop.php @@ -9,8 +9,8 @@ class Bishop extends Piece { public function __construct($x, $y, $color, $alive) { - $this->pos_x = $y; - $this->pos_y = $x; + $this->posX = $y; + $this->posY = $x; $this->color = $color; $this->alive = $alive; $this->type = "B"; diff --git a/src/Entity/Chess/Pieces/King.php b/src/Entity/Chess/Pieces/King.php index 8b18c98..70f86b5 100644 --- a/src/Entity/Chess/Pieces/King.php +++ b/src/Entity/Chess/Pieces/King.php @@ -7,16 +7,16 @@ class King extends Piece { - private $has_moved; + private $hasMoved; public function __construct($x, $y, $color, $alive) { - $this->pos_x = $y; - $this->pos_y = $x; + $this->posX = $y; + $this->posY = $x; $this->color = $color; $this->alive = $alive; $this->type = "K"; - $this->has_moved = false; + $this->hasMoved = false; } //getter setter diff --git a/src/Entity/Chess/Pieces/Knight.php b/src/Entity/Chess/Pieces/Knight.php index c3ff7fc..4815efd 100644 --- a/src/Entity/Chess/Pieces/Knight.php +++ b/src/Entity/Chess/Pieces/Knight.php @@ -9,8 +9,8 @@ class Knight extends Piece { public function __construct($x, $y, $color, $alive) { - $this->pos_x = $y; - $this->pos_y = $x; + $this->posX = $y; + $this->posY = $x; $this->color = $color; $this->alive = $alive; $this->type = "N"; diff --git a/src/Entity/Chess/Pieces/None.php b/src/Entity/Chess/Pieces/None.php index 804a272..92e310f 100644 --- a/src/Entity/Chess/Pieces/None.php +++ b/src/Entity/Chess/Pieces/None.php @@ -9,8 +9,8 @@ class None extends Piece { public function __construct($x, $y, $color, $alive) { - $this->pos_x = $y; - $this->pos_y = $x; + $this->posX = $y; + $this->posY = $x; $this->color = $color; $this->alive = $alive; $this->type = "-"; diff --git a/src/Entity/Chess/Pieces/Pawn.php b/src/Entity/Chess/Pieces/Pawn.php index 55472d2..6ea4f36 100644 --- a/src/Entity/Chess/Pieces/Pawn.php +++ b/src/Entity/Chess/Pieces/Pawn.php @@ -11,8 +11,8 @@ class Pawn extends Piece public function __construct($x, $y, $color, $alive) { - $this->pos_x = $y; - $this->pos_y = $x; + $this->posX = $y; + $this->posY = $x; $this->color = $color; $this->alive = $alive; $this->first = 0; diff --git a/src/Entity/Chess/Pieces/Piece.php b/src/Entity/Chess/Pieces/Piece.php index 1be740b..3f67f84 100644 --- a/src/Entity/Chess/Pieces/Piece.php +++ b/src/Entity/Chess/Pieces/Piece.php @@ -7,8 +7,8 @@ abstract class Piece { protected $color; - protected $pos_x; - protected $pos_y; + protected $posX; + protected $posY; protected $alive; protected $type; diff --git a/src/Entity/Chess/Pieces/Queen.php b/src/Entity/Chess/Pieces/Queen.php index 8cb2fa2..eadd153 100644 --- a/src/Entity/Chess/Pieces/Queen.php +++ b/src/Entity/Chess/Pieces/Queen.php @@ -9,8 +9,8 @@ class Queen extends Piece { public function __construct($x, $y, $color, $alive) { - $this->pos_x = $y; - $this->pos_y = $x; + $this->posX = $y; + $this->posY = $x; $this->color = $color; $this->alive = $alive; $this->type = "Q"; diff --git a/src/Entity/Chess/Pieces/Tower.php b/src/Entity/Chess/Pieces/Tower.php index e9b492c..a9dd899 100644 --- a/src/Entity/Chess/Pieces/Tower.php +++ b/src/Entity/Chess/Pieces/Tower.php @@ -7,15 +7,15 @@ class Tower extends Piece { - private $has_moved; + private $hasMoved; public function __construct($x, $y, $color, $alive) { - $this->pos_x = $y; - $this->pos_y = $x; + $this->posX = $y; + $this->posY = $x; $this->color = $color; $this->alive = $alive; $this->type = "T"; - $this->has_moved = false; + $this->hasMoved = false; } //getter setter From 17824fc9aa1b8085832f22cf055b451d3a08cdab Mon Sep 17 00:00:00 2001 From: charleschopin Date: Thu, 17 Oct 2019 11:21:38 +0200 Subject: [PATCH 09/17] PSR2 80 space length --- src/Controller/ChessController.php | 60 +++++---- src/Controller/HomeController.php | 4 +- src/Entity/Chess/ChessBoard.php | 192 +++++++++++++++++++++-------- src/Entity/Chess/Pieces/Bishop.php | 20 ++- src/Entity/Chess/Pieces/King.php | 8 +- src/Entity/Chess/Pieces/Knight.php | 58 +++++++-- src/Entity/Chess/Pieces/None.php | 8 +- src/Entity/Chess/Pieces/Pawn.php | 144 ++++++++++++---------- src/Entity/Chess/Pieces/Piece.php | 8 +- src/Entity/Chess/Pieces/Queen.php | 75 +++++------ src/Entity/Chess/Pieces/Tower.php | 8 +- 11 files changed, 387 insertions(+), 198 deletions(-) diff --git a/src/Controller/ChessController.php b/src/Controller/ChessController.php index be7fa08..146b7b2 100644 --- a/src/Controller/ChessController.php +++ b/src/Controller/ChessController.php @@ -43,24 +43,25 @@ function move(Request $request): Response $test = $this->get('session')->get('chessboard'); $tab = array(); - if (($player % 2 == 0)) - { - if ($test->board[$y][$x]->type != "-") - { + if (($player % 2 == 0)) { + if ($test->board[$y][$x]->type != "-") { $tab = $test->board[$y][$x]->check($x, $y, $test, $player); - } - elseif ($test->board[$y][$x]->type == "-" || $test->board[$y][$x]->color == "Black") - { - for ($i = 0; $i < sizeof($this->get('session')->get('ancient')); $i++) - { - if ($i % 2 == 0) - { - if ($this->get('session')->get('ancient')[$i] == $x) - { - if ($this->get('session')->get('ancient')[$i + 1] == $y) - { - $moveResponse = $test->board[$y][$x]->move($this->get('session')->get('ax'), $this->get('session')->get('ay'), $x, $y, $test); - $this->get('session')->set('chessBoard', $moveResponse['chess']); + } elseif ($test->board[$y][$x]->type == "-" || + $test->board[$y][$x]->color == "Black") { + for ($i = 0; $i < sizeof($this->get('session')->get('ancient')); $i++) { + if ($i % 2 == 0) { + if ($this->get('session')->get('ancient')[$i] == $x) { + if ($this->get('session')->get('ancient')[$i + 1] == $y) { + $moveResponse = $test->board[$y][$x] + ->move( + $this->get('session')->get('ax'), + $this->get('session')->get('ay'), + $x, + $y, + $test + ); + $this->get('session') + ->set('chessBoard', $moveResponse['chess']); $tab = $moveResponse['tab']; $player ^= 1; break; @@ -73,13 +74,24 @@ function move(Request $request): Response } elseif (($player % 2 == 1)) { if ($test->board[$y][$x]->type != "-") { $tab = $test->board[$y][$x]->check($x, $y, $test, $player); - } elseif ($test->board[$y][$x]->type == "-" || $test->board[$y][$x]->color == "White") { + } elseif ($test->board[$y][$x]->type == "-" || + $test->board[$y][$x]->color == "White") { for ($i = 0; $i < sizeof($this->get('session')->get('ancient')); $i++) { if ($i % 2 == 0) { if ($this->get('session')->get('ancient')[$i] == $x) { if ($this->get('session')->get('ancient')[$i + 1] == $y) { - $moveResponse = $test->board[$y][$x]->move($this->get('session')->get('ax'), $this->get('session')->get('ay'), $x, $y, $test); - $this->get('session')->set('chessBoard', $moveResponse['chess']); + $moveResponse = $test->board[$y][$x] + ->move( + $this->get('session')->get('ax'), + $this->get('session')->get('ay'), + $x, + $y, + $test + ); + $this->get('session')->set( + 'chessBoard', + $moveResponse['chess'] + ); $tab = $moveResponse['tab']; $player ^= 1; break; @@ -100,9 +112,13 @@ function move(Request $request): Response $response = new Response('', 400); } else { $my_encode_array = json_encode($tab); - $response = new Response($my_encode_array, 200, array('Content-type', 'json')); + $response = new Response( + $my_encode_array, + 200, + array('Content-type', 'json') + ); } - return ($response); + return $response; } } \ No newline at end of file diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php index bb67b22..2d19d50 100644 --- a/src/Controller/HomeController.php +++ b/src/Controller/HomeController.php @@ -11,7 +11,7 @@ class HomeController extends AbstractController { public function index(): Response { - return ($this->render('chess/home/index.php', [''])); + return $this->render('chess/home/index.php', ['']); } public function play(): Response @@ -22,6 +22,6 @@ public function play(): Response $this->get('session')->set('player', $player); $this->get('session')->set('chessboard', $chessBoard); - return ($this->render('chess/game/jeu.php', [])); + return $this->render('chess/game/jeu.php', []); } } \ No newline at end of file diff --git a/src/Entity/Chess/ChessBoard.php b/src/Entity/Chess/ChessBoard.php index bf7a300..884534d 100644 --- a/src/Entity/Chess/ChessBoard.php +++ b/src/Entity/Chess/ChessBoard.php @@ -1,9 +1,4 @@ $name; - } + } - public function __set($name, $value) - { - $this->$name = $value; - } + public function __set($name, $value) + { + $this->$name = $value; + } - //constructor + //constructor public function __construct() { - $this->correspondence["a"] = 0; - $this->correspondence["b"] = 1; - $this->correspondence["c"] = 2; - $this->correspondence["d"] = 3; - $this->correspondence["e"] = 4; - $this->correspondence["f"] = 5; - $this->correspondence["g"] = 6; - $this->correspondence["h"] = 7; - + $this->correspondence["a"] = 0; + $this->correspondence["b"] = 1; + $this->correspondence["c"] = 2; + $this->correspondence["d"] = 3; + $this->correspondence["e"] = 4; + $this->correspondence["f"] = 5; + $this->correspondence["g"] = 6; + $this->correspondence["h"] = 7; + for ($i = 0; $i < $this->height; $i++) { for ($j = 0; $j < $this->length; $j++) { switch ($i) { case 0: switch ($j) { case 0: - $this->board[$i][$j] = new Tower($i, $j, "White", true); + $this->board[$i][$j] = new Tower( + $i, + $j, + "White", + true + ); break; case 1: - $this->board[$i][$j] = new Knight($i, $j, "White", true); + $this->board[$i][$j] = new Knight( + $i, + $j, + "White", + true + ); break; case 2: - $this->board[$i][$j] = new Bishop($i, $j, "White", true); + $this->board[$i][$j] = new Bishop( + $i, + $j, + "White", + true + ); break; case 3: - $this->board[$i][$j] = new Queen($i, $j, "White", true); + $this->board[$i][$j] = new Queen( + $i, + $j, + "White", + true + ); break; case 4: - $this->board[$i][$j] = new King($i, $j, "White", true); + $this->board[$i][$j] = new King( + $i, + $j, + "White", + true + ); break; case 5: - $this->board[$i][$j] = new Bishop($i, $j, "White", true); + $this->board[$i][$j] = new Bishop( + $i, + $j, + "White", + true + ); break; case 6: - $this->board[$i][$j] = new Knight($i, $j, "White", true); + $this->board[$i][$j] = new Knight( + $i, + $j, + "White", + true + ); break; case 7: - $this->board[$i][$j] = new Tower($i, $j, "White", true); + $this->board[$i][$j] = new Tower( + $i, + $j, + "White", + true + ); + break; + default: break; } - break; + break; case 1: - $this->board[$i][$j] = new Pawn ($i, $j, "White", true); + $this->board[$i][$j] = new Pawn ( + $i, + $j, + "White", + true + ); break; case 6: - $this->board[$i][$j] = new Pawn($i, $j, "Black", true); + $this->board[$i][$j] = new Pawn( + $i, + $j, + "Black", + true + ); break; case 7: switch ($j) { case 0: - $this->board[$i][$j] = new Tower($i, $j, "Black", true); + $this->board[$i][$j] = new Tower( + $i, + $j, + "Black", + true + ); break; case 1: - $this->board[$i][$j] = new Knight($i, $j, "Black", true); + $this->board[$i][$j] = new Knight( + $i, + $j, + "Black", + true + ); break; case 2: - $this->board[$i][$j] = new Bishop($i, $j, "Black", true); + $this->board[$i][$j] = new Bishop( + $i, + $j, + "Black", + true + ); break; case 3: - $this->board[$i][$j] = new Queen($i, $j, "Black", true); + $this->board[$i][$j] = new Queen( + $i, + $j, + "Black", + true + ); break; case 4: - $this->board[$i][$j] = new King($i, $j, "Black", true); + $this->board[$i][$j] = new King( + $i, + $j, + "Black", + true + ); break; case 5: - $this->board[$i][$j] = new Bishop($i, $j, "Black", true); + $this->board[$i][$j] = new Bishop( + $i, + $j, + "Black", + true + ); break; case 6: - $this->board[$i][$j] = new Knight($i, $j, "Black", true); + $this->board[$i][$j] = new Knight( + $i, + $j, + "Black", + true + ); break; case 7: - $this->board[$i][$j] = new Tower($i, $j, "Black", true); + $this->board[$i][$j] = new Tower( + $i, + $j, + "Black", + true + ); break; } - break; - default : - $this->board[$i][$j] = new None($i, $j, "", false); + break; + default : + $this->board[$i][$j] = new None($i, $j, "", false); break; } } } } - + public function isValid ($from, $to) { if ($this->board[$this->correspondence[$from[0]]][$from[1]] != "-") { - if ($this->board[$this->correspondence[$from[0]]][$from[1]]->check ($to) == true) { + if ($this->board[$this->correspondence[$from[0]]][$from[1]] + ->check ($to) == true) { return true; } else { return false; @@ -133,8 +224,8 @@ public function isValid ($from, $to) } return false; } - - + + public function display() { for ($i = 0; $i < $this->height; $i++) { @@ -151,6 +242,7 @@ public static function getInstance () if (isset (self::$instance)) { return (self::$instance); } + return new ChessBoard (); } } \ No newline at end of file diff --git a/src/Entity/Chess/Pieces/Bishop.php b/src/Entity/Chess/Pieces/Bishop.php index 642c715..04d3cf8 100644 --- a/src/Entity/Chess/Pieces/Bishop.php +++ b/src/Entity/Chess/Pieces/Bishop.php @@ -53,7 +53,8 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $tabres = array(0); if (($py + 1 < 8) ) { if ($px + 1 < 8) { - while (($px + 1 < 8)&&($py + 1 < 8) && ($chess->board[$py + 1][$px + 1]->type == "-")) { + while (($px + 1 < 8)&&($py + 1 < 8) && + ($chess->board[$py + 1][$px + 1]->type == "-")) { $px++; $py++; $tabres[$cpt] = $px; @@ -68,7 +69,8 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $py = $to; if (($py + 1 > 8)) { if ($px - 1 >= 0) { - while (($px - 1 >= 0)&&($py + 1 < 8) && ($chess->board[$py + 1][$px - 1]->type == "-")) { + while (($px - 1 >= 0)&&($py + 1 < 8) && + ($chess->board[$py + 1][$px - 1]->type == "-")) { $px--; $py++; $tabres[$cpt] = $px; @@ -84,7 +86,8 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) if (($px - 1 >= 0)) { if ($py - 1 >= 0) { - while (($px - 1 >= 0)&&($py - 1 >= 0) && ($chess->board[$py - 1][$px - 1]->type == "-")) + while (($px - 1 >= 0)&&($py - 1 >= 0) && + ($chess->board[$py - 1][$px - 1]->type == "-")) { $px--; $py--; @@ -100,7 +103,8 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $py = $to; if ($px + 1 < 8) { if ($py - 1 >= 0) { - while (($px + 1 < 8)&&($py - 1 >= 0) && ($chess->board[$py - 1][$px + 1]->type == "-")) { + while (($px + 1 < 8)&&($py - 1 >= 0) && + ($chess->board[$py - 1][$px + 1]->type == "-")) { $px++; $py--; $tabres[$cpt] = $px; @@ -114,7 +118,13 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) return $tabres; } - public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array + public function move( + int $fromx, + int $fromy, + int $tox, + int $toy, + ChessBoard $chess + ): array { $tab = array (0); $board = $chess->board; diff --git a/src/Entity/Chess/Pieces/King.php b/src/Entity/Chess/Pieces/King.php index 70f86b5..fa3eec8 100644 --- a/src/Entity/Chess/Pieces/King.php +++ b/src/Entity/Chess/Pieces/King.php @@ -105,7 +105,13 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) return $tabres; } - public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array + public function move( + int $fromx, + int $fromy, + int $tox, + int $toy, + ChessBoard $chess + ): array { return []; } diff --git a/src/Entity/Chess/Pieces/Knight.php b/src/Entity/Chess/Pieces/Knight.php index 4815efd..b08de9c 100644 --- a/src/Entity/Chess/Pieces/Knight.php +++ b/src/Entity/Chess/Pieces/Knight.php @@ -52,7 +52,11 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $py = $to; $tabres = array(0); - if (($px + 1 < 8) && ($py + 2 < 8) && (($board->board[$py + 2][$px + 1]->type == "-") || ($board->board[$py + 2][$px + 1]->color != $board->board[$to][$from]->color))) { + if (($px + 1 < 8) && ($py + 2 < 8) && + (($board->board[$py + 2][$px + 1]->type == "-") || + ($board->board[$py + 2][$px + 1]->color + != + $board->board[$to][$from]->color))) { $px++; $py += 2; $tabres[$cpt] = $px; @@ -64,7 +68,11 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px - 1 >= 0) && ($py + 2 < 8) && (($board->board[$py + 2][$px - 1]->type == "-") || ($board->board[$py + 2][$px - 1]->color != $board->board[$to][$from]->color))) { + if (($px - 1 >= 0) && ($py + 2 < 8) && + (($board->board[$py + 2][$px - 1]->type == "-") || + ($board->board[$py + 2][$px - 1]->color + != + $board->board[$to][$from]->color))) { $px--; $py += 2; $tabres[$cpt] = $px; @@ -77,7 +85,11 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px - 2 >= 0) && ($py + 1 < 8 ) && (($board->board[$py + 1][$px - 2]->type == "-") || ($board->board[$py + 1][$px - 2]->color != $board->board[$to][$from]->color))) { + if (($px - 2 >= 0) && ($py + 1 < 8 ) && + (($board->board[$py + 1][$px - 2]->type == "-") || + ($board->board[$py + 1][$px - 2]->color + != + $board->board[$to][$from]->color))) { $px -= 2; $py++; $tabres[$cpt] = $px; @@ -89,7 +101,11 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px - 2 >= 0) && ($py - 1 >= 0) && (($board->board[$py - 1][$px - 2]->type == "-") || ($board->board[$py - 1][$px - 2]->color != $board->board[$to][$from]->color))) { + if (($px - 2 >= 0) && ($py - 1 >= 0) && + (($board->board[$py - 1][$px - 2]->type == "-") || + ($board->board[$py - 1][$px - 2]->color + != + $board->board[$to][$from]->color))) { $px -= 2; $py--; $tabres[$cpt] = $px; @@ -103,7 +119,11 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px + 1 < 8) && ($py - 2 >= 0) && (($board->board[$py - 2][$px + 1]->type == "-") || ($board->board[$py - 2][$px + 1]->color != $board->board[$to][$from]->color))) { + if (($px + 1 < 8) && ($py - 2 >= 0) && + (($board->board[$py - 2][$px + 1]->type == "-") || + ($board->board[$py - 2][$px + 1]->color + != + $board->board[$to][$from]->color))) { $px++; $py -= 2; $tabres[$cpt] = $px; @@ -115,7 +135,11 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px - 1 >= 0) && ($py - 2 >= 0) && (($board->board[$py - 2][$px - 1]->type == "-") || ($board->board[$py - 2][$px - 1]->color != $board->board[$to][$from]->color))) { + if (($px - 1 >= 0) && ($py - 2 >= 0) && + (($board->board[$py - 2][$px - 1]->type == "-") || + ($board->board[$py - 2][$px - 1]->color + != + $board->board[$to][$from]->color))) { $px--; $py -= 2; $tabres[$cpt] = $px; @@ -127,7 +151,11 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px + 2 < 8) && ($py - 1 >= 0) && (($board->board[$py - 1][$px + 2]->type == "-") || ($board->board[$py - 1][$px + 2]->color != $board->board[$to][$from]->color))) { + if (($px + 2 < 8) && ($py - 1 >= 0) && + (($board->board[$py - 1][$px + 2]->type == "-") + || ($board->board[$py - 1][$px + 2]->color + != + $board->board[$to][$from]->color))) { $px += 2; $py--; $tabres[$cpt] = $px; @@ -139,7 +167,11 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px + 2 < 8) && ($py + 1 < 8) && (($board->board[$py + 1][$px + 2]->type == "-") ||($board->board[$py + 1][$px + 2]->color != $board->board[$to][$from]->color))) { + if (($px + 2 < 8) && ($py + 1 < 8) && + (($board->board[$py + 1][$px + 2]->type == "-") || + ($board->board[$py + 1][$px + 2]->color + != + $board->board[$to][$from]->color))) { $px += 2; $py++; $tabres[$cpt] = $px; @@ -151,8 +183,14 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) return $tabres; } - public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array - { + public function move( + int $fromx, + int $fromy, + int $tox, + int $toy, + ChessBoard $chess + ): array +{ $tab = array (0); $board = $chess->board; $board[$toy][$tox] = $chess->board[$fromy][$fromx]; diff --git a/src/Entity/Chess/Pieces/None.php b/src/Entity/Chess/Pieces/None.php index 92e310f..4b32072 100644 --- a/src/Entity/Chess/Pieces/None.php +++ b/src/Entity/Chess/Pieces/None.php @@ -42,7 +42,13 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) { } - public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array + public function move( + int $fromx, + int $fromy, + int $tox, + int $toy, + ChessBoard $chess + ): array { $tab = array (0); $board = $chess->board; diff --git a/src/Entity/Chess/Pieces/Pawn.php b/src/Entity/Chess/Pieces/Pawn.php index 6ea4f36..7879ff3 100644 --- a/src/Entity/Chess/Pieces/Pawn.php +++ b/src/Entity/Chess/Pieces/Pawn.php @@ -49,121 +49,135 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $chessboard = $chess; $cpt = 0; $array = array (0); - if ($player % 2 == 0) - { - if ($this->first == 0 ) - { + if ($player % 2 == 0) { + if ($this->first == 0 ) { $this->first++; - if (((($to+1) < 8) && ($from - 1 >= 0)) && $chessboard->board[$to+1][$from-1]->type != "-" && ($chessboard->board[$to + 1][$from - 1]->color != $chessboard->board[$to][$from]->color)) - { + if (((($to+1) < 8) && ($from - 1 >= 0)) && + $chessboard->board[$to+1][$from-1]->type != "-" && + ($chessboard->board[$to + 1][$from - 1]->color + != + $chessboard->board[$to][$from]->color)) { $array[$cpt] = $from - 1; $cpt++; $array[$cpt] = $to + 1; $cpt++; } - if (((($to+1) < 8) && ($from < 8)) &&$chessboard->board[$to+1][$from]->type == "-") - { + if (((($to+1) < 8) && ($from < 8)) && + $chessboard->board[$to+1][$from]->type == "-") { $array[$cpt] = $from; $cpt++; $array[$cpt] = $to + 1; $cpt++; } - if (((($to+1) < 8) && ($to+2 < 8) && ($from < 8)) &&$chessboard->board[$to+2][$from]->type == "-") - { + if (((($to+1) < 8) && ($to+2 < 8) && ($from < 8)) && + $chessboard->board[$to+2][$from]->type == "-") { $array[$cpt] = $from; $cpt++; $array[$cpt] = $to + 2; $cpt++; } - if (((($to+1) < 8) && ($from + 1 < 8)) && $chessboard->board[$to+1][$from + 1]->type != "-" && ($chessboard->board[$to + 1][$from + 1]->color != $chessboard->board[$to][$from]->color)) - { + if (((($to+1) < 8) && ($from + 1 < 8)) && + $chessboard->board[$to+1][$from + 1]->type + != "-" && + ($chessboard->board[$to + 1][$from + 1]->color + != + $chessboard->board[$to][$from]->color)) { $array[$cpt] = $from + 1; $cpt++; $array[$cpt] = $to + 1; $cpt++; } - } - else - { - if (((($to+1) < 8) && ($from - 1 >= 0)) && $chessboard->board[$to+1][$from-1]->type != "-" && ($chessboard->board[$to + 1][$from - 1]->color != $chessboard->board[$to][$from]->color)) - { - $array[$cpt] = $from - 1; - $cpt++; - $array[$cpt] = $to + 1; - $cpt++; - } - if (((($to+1) < 8) && ($from< 8)) &&$chessboard->board[$to+1][$from]->type == "-") - { - $array[$cpt] = $from; - $cpt++; - $array[$cpt] = $to + 1; - $cpt++; - } - if (((($to+1) < 8) && ($from + 1 < 8)) && $chessboard->board[$to+1][$from + 1]->type != "-" && ($chessboard->board[$to + 1][$from + 1]->color != $chessboard->board[$to][$from]->color)) - { - $array[$cpt] = $from + 1; - $cpt++; - $array[$cpt] = $to + 1; - $cpt++; - } + } else { + if (((($to+1) < 8) && ($from - 1 >= 0)) && + $chessboard->board[$to+1][$from-1]->type != "-" && + ($chessboard->board[$to + 1][$from - 1]->color + != + $chessboard->board[$to][$from]->color)) { + $array[$cpt] = $from - 1; + $cpt++; + $array[$cpt] = $to + 1; + $cpt++; } - - return ($array); - } - else - { - if ($this->first == 0 ) - { + if (((($to+1) < 8) && ($from< 8)) && + $chessboard->board[$to+1][$from]->type == "-") { + $array[$cpt] = $from; + $cpt++; + $array[$cpt] = $to + 1; + $cpt++; + } + if (((($to+1) < 8) && ($from + 1 < 8)) && + $chessboard->board[$to+1][$from + 1]->type != "-" && + ($chessboard->board[$to + 1][$from + 1]->color + != + $chessboard->board[$to][$from]->color)) { + $array[$cpt] = $from + 1; + $cpt++; + $array[$cpt] = $to + 1; + $cpt++; + } + } + return $array; + } else { + if ($this->first == 0 ) { $this->first++; - if (((($to-1) >= 0) && ($from - 1 >= 0)) && $chessboard->board[$to-1][$from-1]->type != "-" && ($chessboard->board[$to - 1][$from - 1]->color != $chessboard->board[$to][$from]->color)) - { + if (((($to-1) >= 0) && ($from - 1 >= 0)) && + $chessboard->board[$to-1][$from-1]->type!= "-" && + ($chessboard->board[$to - 1][$from - 1]->color + != + $chessboard->board[$to][$from]->color)) { $array[$cpt] = $from - 1; $cpt++; $array[$cpt] = $to - 1; $cpt++; } - if (((($to-1) >= 0) && ($from < 8)) &&$chessboard->board[$to-1][$from]->type == "-") - { + if (((($to-1) >= 0) && ($from < 8)) && + $chessboard->board[$to-1][$from]->type == "-") { $array[$cpt] = $from; $cpt++; $array[$cpt] = $to - 1; $cpt++; } - if (((($to-1) >= 0) && ($to-2 >= 0) && ($from < 8)) &&$chessboard->board[$to-2][$from]->type == "-") - { + if (((($to-1) >= 0) && ($to-2 >= 0) && ($from < 8)) && + $chessboard->board[$to-2][$from]->type == "-") { $array[$cpt] = $from; $cpt++; $array[$cpt] = $to - 2; $cpt++; } - if (((($to-1) >= 0) && ($from + 1 < 8)) && $chessboard->board[$to - 1][$from + 1]->type != "-" && ($chessboard->board[$to - 1][$from + 1]->color != $chessboard->board[$to][$from]->color)) - { + if (((($to-1) >= 0) && ($from + 1 < 8)) && + $chessboard->board[$to - 1][$from + 1]->type != "-" && + ($chessboard->board[$to - 1][$from + 1]->color + != + $chessboard->board[$to][$from]->color)) { $array[$cpt] = $from + 1; $cpt++; $array[$cpt] = $to - 1; $cpt++; } - - } - else - { - if (((($to-1) >= 0) && ($from - 1 >= 0)) && $chessboard->board[$to-1][$from-1]->type != "-" && ($chessboard->board[$to - 1][$from - 1]->color != $chessboard->board[$to][$from]->color)) - { + } else { + if (((($to-1) >= 0) && ($from - 1 >= 0)) && + $chessboard->board[$to-1][$from-1]->type != "-" && + ($chessboard->board[$to - 1][$from - 1]->color + != + $chessboard->board[$to][$from]->color)) { $array[$cpt] = $from - 1; $cpt++; $array[$cpt] = $to - 1; $cpt++; } - if (((($to-1) >= 0) && ($from < 8)) &&$chessboard->board[$to-1][$from]->type == "-") - { + if (((($to-1) >= 0) && ($from < 8)) && + $chessboard->board[$to-1][$from]->type == "-") { $array[$cpt] = $from; $cpt++; $array[$cpt] = $to - 1; $cpt++; } - if (((($to-1) >= 0) && ($from + 1 < 8)) && $chessboard->board[$to - 1][$from + 1]->type != "-" && ($chessboard->board[$to - 1][$from + 1]->color != $chessboard->board[$to][$from]->color)) - { + if (((($to-1) >= 0) && ($from + 1 < 8)) && + $chessboard->board[$to - 1][$from + 1]->type != "-" && + ($chessboard->board[$to - 1][$from + 1]->color + != + $chessboard->board[$to][$from]->color)) { $array[$cpt] = $from + 1; $cpt++; $array[$cpt] = $to - 1; @@ -175,7 +189,13 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) } } - public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array + public function move( + int $fromx, + int $fromy, + int $tox, + int $toy, + ChessBoard $chess + ): array { $tab = array (0); $board = $chess->board; diff --git a/src/Entity/Chess/Pieces/Piece.php b/src/Entity/Chess/Pieces/Piece.php index 3f67f84..dd717e5 100644 --- a/src/Entity/Chess/Pieces/Piece.php +++ b/src/Entity/Chess/Pieces/Piece.php @@ -16,7 +16,13 @@ abstract class Piece * Color move change the color of the board when a piece is selected * eat take a piece from the opponent */ - abstract public function move (int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess); + abstract public function move ( + int $fromx, + int $fromy, + int $tox, + int $toy, + ChessBoard $chess + ); abstract public function check (int $from,int $to, ChessBoard $chess, $player = null); abstract public function eat (); diff --git a/src/Entity/Chess/Pieces/Queen.php b/src/Entity/Chess/Pieces/Queen.php index eadd153..3007ca4 100644 --- a/src/Entity/Chess/Pieces/Queen.php +++ b/src/Entity/Chess/Pieces/Queen.php @@ -51,10 +51,8 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $py = $to; $tabres = array(0); - if ($py + 1 < 8) - { - while (($py < 8) && ($board->board[$py + 1][$from]->type == "-")) - { + if ($py + 1 < 8) { + while (($py < 8) && ($board->board[$py + 1][$from]->type == "-")) { $py++; $tabres[$cpt] = $from; @@ -65,10 +63,8 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) } } $py = $to; - if ($py - 1 >= 0) - { - while (($py >= 0) && ($board->board[$py - 1][$from]->type == "-")) - { + if ($py - 1 >= 0) { + while (($py >= 0) && ($board->board[$py - 1][$from]->type == "-")) { $py--; $tabres[$cpt] = $from; $cpt++; @@ -77,10 +73,8 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) } } - if ($px + 1 < 8) - { - while (($px + 1 < 8) && ($board->board[$to][$px + 1]->type == "-")) - { + if ($px + 1 < 8) { + while (($px + 1 < 8) && ($board->board[$to][$px + 1]->type == "-")) { $px++; $tabres[$cpt] = $px; $cpt++; @@ -90,10 +84,8 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) } } $px = $from; - if ($px - 1 >= 0) - { - while (($px - 1 >= 0) && ($board->board[$to][$px - 1]->type == "-")) - { + if ($px - 1 >= 0) { + while (($px - 1 >= 0) && ($board->board[$to][$px - 1]->type == "-")) { $px--; $tabres[$cpt] = $px; $cpt++; @@ -104,12 +96,10 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($py + 1 < 8) ) - { - if ($px + 1 < 8) - { - while (($px + 1 < 8)&&($py + 1 < 8) && ($board->board[$py + 1][$px + 1]->type == "-")) - { + if (($py + 1 < 8) ) { + if ($px + 1 < 8) { + while (($px + 1 < 8)&&($py + 1 < 8) && + ($board->board[$py + 1][$px + 1]->type == "-")) { $px++; $py++; $tabres[$cpt] = $px; @@ -122,12 +112,10 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($py + 1 > 8)) - { - if ($px - 1 >= 0) - { - while (($px - 1 >= 0)&&($py + 1 < 8) && ($board->board[$py + 1][$px - 1]->type == "-")) - { + if (($py + 1 > 8)) { + if ($px - 1 >= 0) { + while (($px - 1 >= 0)&&($py + 1 < 8) && + ($board->board[$py + 1][$px - 1]->type == "-")) { $px--; $py++; $tabres[$cpt] = $px; @@ -141,13 +129,10 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if (($px - 1 >= 0)) - { - if ($py - 1 >= 0) - - { - while (($px - 1 >= 0)&&($py - 1 >= 0) && ($board->board[$py - 1][$px - 1]->type == "-")) - { + if (($px - 1 >= 0)) { + if ($py - 1 >= 0) { + while (($px - 1 >= 0)&&($py - 1 >= 0) && + ($board->board[$py - 1][$px - 1]->type == "-")) { $px--; $py--; $tabres[$cpt] = $px; @@ -160,12 +145,10 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) $px = $from; $py = $to; - if ($px + 1 < 8) - { - if ($py - 1 >= 0) - { - while (($px + 1 < 8)&&($py - 1 >= 0) && ($board->board[$py - 1][$px + 1]->type == "-")) - { + if ($px + 1 < 8) { + if ($py - 1 >= 0) { + while (($px + 1 < 8)&&($py - 1 >= 0) && + ($board->board[$py - 1][$px + 1]->type == "-")) { $px++; $py--; $tabres[$cpt] = $px; @@ -178,8 +161,14 @@ public function check(int $from, int $to, ChessBoard $chess, $player = null) return $tabres; } - public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array - { + public function move( + int $fromx, + int $fromy, + int $tox, + int $toy, + ChessBoard $chess + ): array +{ $tab = array (0); $board = $chess->board; diff --git a/src/Entity/Chess/Pieces/Tower.php b/src/Entity/Chess/Pieces/Tower.php index a9dd899..d850772 100644 --- a/src/Entity/Chess/Pieces/Tower.php +++ b/src/Entity/Chess/Pieces/Tower.php @@ -106,7 +106,13 @@ public function check(int $from,int $to, ChessBoard $chess, $player = null) return $tabres; } - public function move(int $fromx, int $fromy, int $tox, int $toy, ChessBoard $chess): array + public function move( + int $fromx, + int $fromy, + int $tox, + int $toy, + ChessBoard $chess + ): array { $tab = array (0); $board = $chess->board; From dccf2360cfb716259dc9533a1acbdca4d1f6073a Mon Sep 17 00:00:00 2001 From: charleschopin Date: Thu, 17 Oct 2019 13:04:54 +0200 Subject: [PATCH 10/17] PSR2 80 space length; function declaration abstract --- src/Entity/Chess/Pieces/Bishop.php | 7 ------- src/Entity/Chess/Pieces/King.php | 9 +-------- src/Entity/Chess/Pieces/Pawn.php | 5 ----- src/Entity/Chess/Pieces/Piece.php | 2 +- src/Entity/Chess/Pieces/Queen.php | 7 ------- src/Entity/Chess/Pieces/Tower.php | 6 ------ 6 files changed, 2 insertions(+), 34 deletions(-) diff --git a/src/Entity/Chess/Pieces/Bishop.php b/src/Entity/Chess/Pieces/Bishop.php index 04d3cf8..99b53bd 100644 --- a/src/Entity/Chess/Pieces/Bishop.php +++ b/src/Entity/Chess/Pieces/Bishop.php @@ -28,13 +28,6 @@ public function __set($name, $value) $this->$name = $value; } - - - public function eat() - { - - } - public function display() { if ($this->color == "White") { diff --git a/src/Entity/Chess/Pieces/King.php b/src/Entity/Chess/Pieces/King.php index fa3eec8..710a1cc 100644 --- a/src/Entity/Chess/Pieces/King.php +++ b/src/Entity/Chess/Pieces/King.php @@ -30,14 +30,7 @@ public function __set($name, $value) { $this->$name = $value; } - - - - public function eat() - { - - } - + public function display() { if ($this->color == "White") diff --git a/src/Entity/Chess/Pieces/Pawn.php b/src/Entity/Chess/Pieces/Pawn.php index 7879ff3..d8d6aa1 100644 --- a/src/Entity/Chess/Pieces/Pawn.php +++ b/src/Entity/Chess/Pieces/Pawn.php @@ -30,11 +30,6 @@ public function __set($name, $value) { $this->$name = $value; } - - public function eat () - { - - } public function display() { diff --git a/src/Entity/Chess/Pieces/Piece.php b/src/Entity/Chess/Pieces/Piece.php index dd717e5..fe9d15b 100644 --- a/src/Entity/Chess/Pieces/Piece.php +++ b/src/Entity/Chess/Pieces/Piece.php @@ -24,7 +24,7 @@ abstract public function move ( ChessBoard $chess ); abstract public function check (int $from,int $to, ChessBoard $chess, $player = null); - abstract public function eat (); + public function eat() {} //display the piece diff --git a/src/Entity/Chess/Pieces/Queen.php b/src/Entity/Chess/Pieces/Queen.php index 3007ca4..1b9da36 100644 --- a/src/Entity/Chess/Pieces/Queen.php +++ b/src/Entity/Chess/Pieces/Queen.php @@ -28,13 +28,6 @@ public function __set($name, $value) $this->$name = $value; } - - - public function eat () - { - - } - public function display() { if ($this->color == "White") diff --git a/src/Entity/Chess/Pieces/Tower.php b/src/Entity/Chess/Pieces/Tower.php index d850772..3f268e3 100644 --- a/src/Entity/Chess/Pieces/Tower.php +++ b/src/Entity/Chess/Pieces/Tower.php @@ -30,12 +30,6 @@ public function __set($name, $value) $this->$name = $value; } - - public function eat () - { - - } - public function display() { if ($this->color == "White") From 14f257670a4b60c6127cc51121dabbbc94ffd870 Mon Sep 17 00:00:00 2001 From: charleschopin Date: Thu, 17 Oct 2019 14:26:03 +0200 Subject: [PATCH 11/17] nginx configuration update; PSR-norme length line --- .infra/docker/nginx/chess.template | 4 ++++ src/Entity/Chess/Pieces/Tower.php | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.infra/docker/nginx/chess.template b/.infra/docker/nginx/chess.template index 6964273..f5e7ace 100755 --- a/.infra/docker/nginx/chess.template +++ b/.infra/docker/nginx/chess.template @@ -14,6 +14,10 @@ server { #internal; } + location / { + # try to serve file directly, fallback to index.php + try_files $uri /index.php$is_args$args; + } # return 404 for all other php files not matching the front controller # this prevents access to other php files you don't want to be accessible. diff --git a/src/Entity/Chess/Pieces/Tower.php b/src/Entity/Chess/Pieces/Tower.php index 3f268e3..cc62368 100644 --- a/src/Entity/Chess/Pieces/Tower.php +++ b/src/Entity/Chess/Pieces/Tower.php @@ -3,11 +3,11 @@ namespace App\Entity\Chess\Pieces; use App\Entity\Chess\ChessBoard; -use App\Entity\Chess\Pieces\Piece; -class Tower extends Piece +class Tower extends Piece { private $hasMoved; + public function __construct($x, $y, $color, $alive) { $this->posX = $y; From 91f8b158d76fe572bf4bbfcfe9a748877f184c39 Mon Sep 17 00:00:00 2001 From: charleschopin Date: Thu, 17 Oct 2019 15:57:19 +0200 Subject: [PATCH 12/17] update --- public/assets/js/draw_board.js | 6 +++--- src/Controller/ChessController.php | 8 ++++++-- src/Controller/HomeController.php | 4 ++-- src/Entity/Chess/ChessBoard.php | 20 ------------------- src/Entity/Chess/Pieces/Tower.php | 2 +- .../chess/game/{jeu.php => index.html.twig} | 0 .../{chess/home/index.php => index.html.twig} | 0 7 files changed, 12 insertions(+), 28 deletions(-) rename templates/chess/game/{jeu.php => index.html.twig} (100%) rename templates/{chess/home/index.php => index.html.twig} (100%) diff --git a/public/assets/js/draw_board.js b/public/assets/js/draw_board.js index 570bd29..785d8d6 100644 --- a/public/assets/js/draw_board.js +++ b/public/assets/js/draw_board.js @@ -222,9 +222,10 @@ window.onload = function () { } xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { - console.log(xhr); var json = eval('(' + xhr.responseText + ')'); - colorcase(json); + if (json != null) { + colorcase(json); + } // bitwise operator used as lever urlIndex ^= 1; } @@ -238,7 +239,6 @@ window.onload = function () { var carre = []; function colorcase(tablo) { - console.log(tablo); var i = 0; if (tablo[tablo.length - 1] >= "A" && tablo[tablo.length - 1] <= "Z") { diff --git a/src/Controller/ChessController.php b/src/Controller/ChessController.php index 146b7b2..7e708f7 100644 --- a/src/Controller/ChessController.php +++ b/src/Controller/ChessController.php @@ -18,7 +18,11 @@ function enabledMoves(Request $request): Response if ($test->board[$y][$x]->type == "-") { // 400 status because selected square is not a player piece - return new Response('', '400'); + return new Response( + json_encode('400'), + '200', + array('Content-type', 'json') + ); } $tab = $test->board[$y][$x]->check($x, $y, $test, $player); @@ -109,7 +113,7 @@ function move(Request $request): Response $this->get('session')->set('ay', $y); if (0 == count($tab)) { - $response = new Response('', 400); + $response = new Response(json_encode(null), 200); } else { $my_encode_array = json_encode($tab); $response = new Response( diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php index 2d19d50..ffe071e 100644 --- a/src/Controller/HomeController.php +++ b/src/Controller/HomeController.php @@ -11,7 +11,7 @@ class HomeController extends AbstractController { public function index(): Response { - return $this->render('chess/home/index.php', ['']); + return $this->render('chess/home/index.html.twig', ['']); } public function play(): Response @@ -22,6 +22,6 @@ public function play(): Response $this->get('session')->set('player', $player); $this->get('session')->set('chessboard', $chessBoard); - return $this->render('chess/game/jeu.php', []); + return $this->render('chess/game/index.html.twig', []); } } \ No newline at end of file diff --git a/src/Entity/Chess/ChessBoard.php b/src/Entity/Chess/ChessBoard.php index 884534d..2ecac68 100644 --- a/src/Entity/Chess/ChessBoard.php +++ b/src/Entity/Chess/ChessBoard.php @@ -225,24 +225,4 @@ public function isValid ($from, $to) return false; } - - public function display() - { - for ($i = 0; $i < $this->height; $i++) { - echo "|" ; - for ($j = 0; $j < $this->length; $j++) { - echo $this->board[$i][$j]->display()."|"; - } - echo "
"; - } - } - - public static function getInstance () - { - if (isset (self::$instance)) { - return (self::$instance); - } - - return new ChessBoard (); - } } \ No newline at end of file diff --git a/src/Entity/Chess/Pieces/Tower.php b/src/Entity/Chess/Pieces/Tower.php index cc62368..d1492c1 100644 --- a/src/Entity/Chess/Pieces/Tower.php +++ b/src/Entity/Chess/Pieces/Tower.php @@ -40,7 +40,7 @@ public function display() public function check(int $from,int $to, ChessBoard $chess, $player = null) { - $board = $chess; + $board = $chess->__get(('board')); $cpt = 0; $px = $from; $py = $to; diff --git a/templates/chess/game/jeu.php b/templates/chess/game/index.html.twig similarity index 100% rename from templates/chess/game/jeu.php rename to templates/chess/game/index.html.twig diff --git a/templates/chess/home/index.php b/templates/index.html.twig similarity index 100% rename from templates/chess/home/index.php rename to templates/index.html.twig From 2afeb85455040ec993695525d61ac6d74adcd1ba Mon Sep 17 00:00:00 2001 From: charleschopin Date: Thu, 17 Oct 2019 16:11:24 +0200 Subject: [PATCH 13/17] twig views --- src/Controller/HomeController.php | 4 ++-- templates/base.html.twig | 17 +++++++++++++++++ templates/chess/game/index.html.twig | 20 -------------------- templates/game/index.html.twig | 13 +++++++++++++ templates/index.html.twig | 18 +++++++----------- 5 files changed, 39 insertions(+), 33 deletions(-) create mode 100644 templates/base.html.twig delete mode 100644 templates/chess/game/index.html.twig create mode 100644 templates/game/index.html.twig diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php index ffe071e..f10ff9f 100644 --- a/src/Controller/HomeController.php +++ b/src/Controller/HomeController.php @@ -11,7 +11,7 @@ class HomeController extends AbstractController { public function index(): Response { - return $this->render('chess/home/index.html.twig', ['']); + return $this->render('/index.html.twig', ['']); } public function play(): Response @@ -22,6 +22,6 @@ public function play(): Response $this->get('session')->set('player', $player); $this->get('session')->set('chessboard', $chessBoard); - return $this->render('chess/game/index.html.twig', []); + return $this->render('/game/index.html.twig', []); } } \ No newline at end of file diff --git a/templates/base.html.twig b/templates/base.html.twig new file mode 100644 index 0000000..d493f08 --- /dev/null +++ b/templates/base.html.twig @@ -0,0 +1,17 @@ + + + + {% block stylesheets %} + + {% endblock %} + + {% block title %}Chess{% endblock %} + + +
+ {% block body %}{% endblock %} +
+{% block javascripts %} +{% endblock %} + + \ No newline at end of file diff --git a/templates/chess/game/index.html.twig b/templates/chess/game/index.html.twig deleted file mode 100644 index 7ab165a..0000000 --- a/templates/chess/game/index.html.twig +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - The Game - - - -
- - looser tu supporte pas canvas - -
-
- - diff --git a/templates/game/index.html.twig b/templates/game/index.html.twig new file mode 100644 index 0000000..1da6bf7 --- /dev/null +++ b/templates/game/index.html.twig @@ -0,0 +1,13 @@ +{% extends 'base.html.twig' %} +{% block title %} + Game +{% endblock %} +{% block body %} +
+ + +
+ {% block javascripts %} + + {% endblock %} +{% endblock %} \ No newline at end of file diff --git a/templates/index.html.twig b/templates/index.html.twig index 6b4e789..2f70e75 100644 --- a/templates/index.html.twig +++ b/templates/index.html.twig @@ -1,12 +1,8 @@ - - - - - - Chess - - +{% extends 'base.html.twig' %} +{% block title %} + Home +{% endblock %} +{% block body %}

Chess

- Jouer aux echecs - - \ No newline at end of file + Play +{% endblock %} \ No newline at end of file From 5f5ba458b535dd008e62ce94d251848eb8cdd6cc Mon Sep 17 00:00:00 2001 From: charleschopin Date: Thu, 17 Oct 2019 16:14:14 +0200 Subject: [PATCH 14/17] switch langage --- public/assets/js/draw_board.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/assets/js/draw_board.js b/public/assets/js/draw_board.js index 785d8d6..1372d51 100644 --- a/public/assets/js/draw_board.js +++ b/public/assets/js/draw_board.js @@ -2,14 +2,14 @@ window.onload = function () { var canvas = document.getElementById('mon_canvas'); if (!canvas) { - alert("impossible de recuperer le canvas"); + alert("impossible to load canvas"); return; } var context = canvas.getContext('2d'); if (!context) { - alert("impossible de recupere le context canvas"); + alert("impossible to get canvas context"); return; } var urlDictionary = [ From fb3b4e8fe3f7730e94479072a267f6954edee943 Mon Sep 17 00:00:00 2001 From: charleschopin Date: Thu, 17 Oct 2019 16:31:55 +0200 Subject: [PATCH 15/17] update --- config/routes.yaml | 8 ++++---- public/assets/js/draw_board.js | 2 +- src/Controller/ChessController.php | 1 - templates/index.html.twig | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/config/routes.yaml b/config/routes.yaml index 6dc8387..54641b0 100644 --- a/config/routes.yaml +++ b/config/routes.yaml @@ -3,14 +3,14 @@ home: defaults: { _controller: 'App\Controller\HomeController:index' } game: - path: /jeu + path: /game controller: App\Controller\HomeController:play -## request AJAX +## AJAX chess_enabled_moves: - path: /jeu/enabled_moves + path: /game/enabled_moves controller: App\Controller\ChessController:enabledMoves chess_move: - path: /jeu/move + path: /game/move controller: App\Controller\ChessController:move \ No newline at end of file diff --git a/public/assets/js/draw_board.js b/public/assets/js/draw_board.js index 1372d51..ac2ba8b 100644 --- a/public/assets/js/draw_board.js +++ b/public/assets/js/draw_board.js @@ -231,7 +231,7 @@ window.onload = function () { } }; - xhr.open("GET", "/jeu/" + urlDictionary[urlIndex] + "?mx=" + mx + "&my=" + my, true); + xhr.open("GET", "/game/" + urlDictionary[urlIndex] + "?mx=" + mx + "&my=" + my, true); xhr.send(null); } diff --git a/src/Controller/ChessController.php b/src/Controller/ChessController.php index 7e708f7..7d836af 100644 --- a/src/Controller/ChessController.php +++ b/src/Controller/ChessController.php @@ -38,7 +38,6 @@ function enabledMoves(Request $request): Response return new Response($my_encode_array, 200, array('Content-type', 'json')); } - function move(Request $request): Response { $x = $request->get('mx'); diff --git a/templates/index.html.twig b/templates/index.html.twig index 2f70e75..e1dba74 100644 --- a/templates/index.html.twig +++ b/templates/index.html.twig @@ -4,5 +4,5 @@ {% endblock %} {% block body %}

Chess

- Play + Play {% endblock %} \ No newline at end of file From f6bf8f52d6af0b332ef264c0dabe57eca6826675 Mon Sep 17 00:00:00 2001 From: charleschopin Date: Sat, 19 Oct 2019 17:22:22 +0200 Subject: [PATCH 16/17] services for chess game (need injection) --- config/services.yaml | 2 + src/Controller/ChessController.php | 113 +------------ src/Controller/HomeController.php | 1 + src/Entity/Chess/ChessBoard.php | 5 + .../Chess/Updater/ChessGameUpdater.php | 158 ++++++++++++++++++ src/Service/Chess/Updater/MovePossibility.php | 53 ++++++ src/Service/Chess/Updater/ResponseBuilder.php | 42 +++++ src/Service/Chess/Updater/ResponseStatus.php | 12 ++ src/Utils/AbstractEnum.php | 13 ++ src/Utils/Exception/AbstractException.php | 29 ++++ src/Utils/Exception/ExceptionLevel.php | 12 ++ .../Possibility/PossibilityException.php | 29 ++++ 12 files changed, 365 insertions(+), 104 deletions(-) create mode 100644 src/Service/Chess/Updater/ChessGameUpdater.php create mode 100644 src/Service/Chess/Updater/MovePossibility.php create mode 100644 src/Service/Chess/Updater/ResponseBuilder.php create mode 100644 src/Service/Chess/Updater/ResponseStatus.php create mode 100644 src/Utils/AbstractEnum.php create mode 100644 src/Utils/Exception/AbstractException.php create mode 100644 src/Utils/Exception/ExceptionLevel.php create mode 100644 src/Utils/Exception/Possibility/PossibilityException.php diff --git a/config/services.yaml b/config/services.yaml index 5c4b417..c666c75 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -23,5 +23,7 @@ services: resource: '../src/Controller' tags: ['controller.service_arguments'] + chess_game_updater: + class: 'Service\Chess\Updater\ChessGameUpdater' # add more service definitions when explicit configuration is needed # please note that last definitions always *replace* previous ones diff --git a/src/Controller/ChessController.php b/src/Controller/ChessController.php index 7d836af..ca6a79c 100644 --- a/src/Controller/ChessController.php +++ b/src/Controller/ChessController.php @@ -3,6 +3,9 @@ namespace App\Controller; +use App\Service\Chess\Updater\ChessGameUpdater; +use App\Service\Chess\Updater\MovePossibility; +use App\Service\Chess\Updater\ResponseBuilder; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -11,117 +14,19 @@ class ChessController extends AbstractController { function enabledMoves(Request $request): Response { - $x = $request->get('mx'); - $y = $request->get('my'); - $player = $this->get('session')->get('player'); - $test = $this->get('session')->get('chessboard'); + $chessGameUpdater = new ChessGameUpdater(new ResponseBuilder(), new MovePossibility()); - if ($test->board[$y][$x]->type == "-") { - // 400 status because selected square is not a player piece - return new Response( - json_encode('400'), - '200', - array('Content-type', 'json') - ); - } + $chessGameUpdater->buildMovePossibility($request, $this->get('session')); - $tab = $test->board[$y][$x]->check($x, $y, $test, $player); - - $this->get('session')->set('player', $player); - $this->get('session')->set('ancient', $tab); - $this->get('session')->set('ax', $x); - $this->get('session')->set('ay', $y); - - $my_encode_array = json_encode($tab); - - // return all blow positions (x,y) zero is returned if no possibility - return new Response($my_encode_array, 200, array('Content-type', 'json')); + return $chessGameUpdater->getEncodedResponse(); } function move(Request $request): Response { - $x = $request->get('mx'); - $y = $request->get('my'); - $player = $this->get('session')->get('player'); - $test = $this->get('session')->get('chessboard'); - $tab = array(); - - if (($player % 2 == 0)) { - if ($test->board[$y][$x]->type != "-") { - $tab = $test->board[$y][$x]->check($x, $y, $test, $player); - } elseif ($test->board[$y][$x]->type == "-" || - $test->board[$y][$x]->color == "Black") { - for ($i = 0; $i < sizeof($this->get('session')->get('ancient')); $i++) { - if ($i % 2 == 0) { - if ($this->get('session')->get('ancient')[$i] == $x) { - if ($this->get('session')->get('ancient')[$i + 1] == $y) { - $moveResponse = $test->board[$y][$x] - ->move( - $this->get('session')->get('ax'), - $this->get('session')->get('ay'), - $x, - $y, - $test - ); - $this->get('session') - ->set('chessBoard', $moveResponse['chess']); - $tab = $moveResponse['tab']; - $player ^= 1; - break; - } - } - } - - } - } - } elseif (($player % 2 == 1)) { - if ($test->board[$y][$x]->type != "-") { - $tab = $test->board[$y][$x]->check($x, $y, $test, $player); - } elseif ($test->board[$y][$x]->type == "-" || - $test->board[$y][$x]->color == "White") { - for ($i = 0; $i < sizeof($this->get('session')->get('ancient')); $i++) { - if ($i % 2 == 0) { - if ($this->get('session')->get('ancient')[$i] == $x) { - if ($this->get('session')->get('ancient')[$i + 1] == $y) { - $moveResponse = $test->board[$y][$x] - ->move( - $this->get('session')->get('ax'), - $this->get('session')->get('ay'), - $x, - $y, - $test - ); - $this->get('session')->set( - 'chessBoard', - $moveResponse['chess'] - ); - $tab = $moveResponse['tab']; - $player ^= 1; - break; - } - } - } - - } - } - } - - $this->get('session')->set('player', $player); - $this->get('session')->set('ancient', $tab); - $this->get('session')->set('ax', $x); - $this->get('session')->set('ay', $y); + $chessGameUpdater = new ChessGameUpdater(new ResponseBuilder(), new MovePossibility()); - if (0 == count($tab)) { - $response = new Response(json_encode(null), 200); - } else { - $my_encode_array = json_encode($tab); - $response = new Response( - $my_encode_array, - 200, - array('Content-type', 'json') - ); - } + $chessGameUpdater->requestForMove($request, $this->get('session')); - return $response; + return $chessGameUpdater->getEncodedResponse(); } } \ No newline at end of file diff --git a/src/Controller/HomeController.php b/src/Controller/HomeController.php index f10ff9f..1f44a96 100644 --- a/src/Controller/HomeController.php +++ b/src/Controller/HomeController.php @@ -21,6 +21,7 @@ public function play(): Response $this->get('session')->set('player', $player); $this->get('session')->set('chessboard', $chessBoard); + $this->get('session')->set('ancient', array()); return $this->render('/game/index.html.twig', []); } diff --git a/src/Entity/Chess/ChessBoard.php b/src/Entity/Chess/ChessBoard.php index 2ecac68..0c6f89e 100644 --- a/src/Entity/Chess/ChessBoard.php +++ b/src/Entity/Chess/ChessBoard.php @@ -225,4 +225,9 @@ public function isValid ($from, $to) return false; } + public function getBoard(): array + { + return $this->board; + } + } \ No newline at end of file diff --git a/src/Service/Chess/Updater/ChessGameUpdater.php b/src/Service/Chess/Updater/ChessGameUpdater.php new file mode 100644 index 0000000..e4f9ef2 --- /dev/null +++ b/src/Service/Chess/Updater/ChessGameUpdater.php @@ -0,0 +1,158 @@ +responseBuilder = $responseBuilder; + $this->movePossibility = $movePossibility; + } + + private function buildResponseByPossibility(): void + { + if (!$this->movePossibility->isMovePossible()) { + $this->responseBuilder->setContent(array()); + } else { + $this->responseBuilder->setContent( + $this->movePossibility->getPossibility() + ); + } + } + + public function buildMovePossibility(Request $request, Session $session): void + { + $player = $session->get('player'); + $chessBoard = $session->get('chessboard'); + + try { + $this->movePossibility->setPossibility($request, $chessBoard, $player); + self::buildResponseByPossibility(); + } catch (PossibilityException $e) { + if ($e->getExceptionLevel() == ExceptionLevel::MINOR) { + $this->responseBuilder->setContent($e->getResponseContent()); + } else { + $this->responseBuilder->setStatus($e->getCode()); + } + } + + $this->updateSession( + $session, + $this->movePossibility->getPossibility(), + $session->get('player'), + $request->get('mx'), + $request->get('my') + ); + } + + public function getEncodedResponse(): Response + { + return $this->responseBuilder->createResponse(); + } + + function requestForMove(Request $request, Session $session): void + { + $position = self::move($request, $session); + + $this->responseBuilder->setContent($position); + } + + private function move(Request $request, Session $session): array + { + $x = $request->get('mx'); + $y = $request->get('my'); + $player = $session->get('player'); + $test = $session->get('chessboard'); + $tab = array(); + + if (($player % 2 == 0)) { + if ($test->board[$y][$x]->type != "-") { + $tab = $test->board[$y][$x]->check($x, $y, $test, $player); + } elseif ($test->board[$y][$x]->type == "-" || + $test->board[$y][$x]->color == "Black") { + for ($i = 0; $i < sizeof($session->get('ancient')); $i++) { + if ($i % 2 == 0) { + if ($session->get('ancient')[$i] == $x) { + if ($session->get('ancient')[$i + 1] == $y) { + $moveResponse = $test->board[$y][$x] + ->move( + $session->get('ax'), + $session->get('ay'), + $x, + $y, + $test + ); + $session + ->set('chessBoard', $moveResponse['chess']); + $tab = $moveResponse['tab']; + $player ^= 1; + break; + } + } + } + + } + } + } elseif (($player % 2 == 1)) { + if ($test->board[$y][$x]->type != "-") { + $tab = $test->board[$y][$x]->check($x, $y, $test, $player); + } elseif ($test->board[$y][$x]->type == "-" || + $test->board[$y][$x]->color == "White") { + for ($i = 0; $i < sizeof($session->get('ancient')); $i++) { + if ($i % 2 == 0) { + if ($session->get('ancient')[$i] == $x) { + if ($session->get('ancient')[$i + 1] == $y) { + $moveResponse = $test->board[$y][$x] + ->move( + $session->get('ax'), + $session->get('ay'), + $x, + $y, + $test + ); + $session->set( + 'chessBoard', + $moveResponse['chess'] + ); + $tab = $moveResponse['tab']; + $player ^= 1; + break; + } + } + } + + } + } + } + + $this->updateSession($session, $tab, $player, $x, $y); + + return ($tab); + } + + public function updateSession( + Session $session, + array $board, + int $player, + int $x, + int $y + ): void + { + $session->set('player', $player); + $session->set('ancient', $board); + $session->set('ax', $x); + $session->set('ay', $y); + } +} \ No newline at end of file diff --git a/src/Service/Chess/Updater/MovePossibility.php b/src/Service/Chess/Updater/MovePossibility.php new file mode 100644 index 0000000..706b3be --- /dev/null +++ b/src/Service/Chess/Updater/MovePossibility.php @@ -0,0 +1,53 @@ +possibility; + } + + public function isMovePossible(): bool + { + if (empty($this->possibility)) { + return false; + } + + return true; + } + + /** + * @param Request $request + * @param ChessBoard $chessBoard + * @param int $player + * @throws PossibilityException + */ + public function setPossibility(Request $request, + ChessBoard $chessBoard, + int $player): void + { + $x = $request->get('mx'); + $y = $request->get('my'); + $board = $chessBoard->getBoard(); + + if ($board[$y][$x]->type == "-") { + throw new PossibilityException( + array(ResponseStatus::FAILURE), + ExceptionLevel::MINOR, + "selection is not a valid piece", + ResponseStatus::SUCCESS); + } + + $this->possibility = $board[$y][$x]->check($x, $y, $chessBoard, $player); + } +} \ No newline at end of file diff --git a/src/Service/Chess/Updater/ResponseBuilder.php b/src/Service/Chess/Updater/ResponseBuilder.php new file mode 100644 index 0000000..36b96cd --- /dev/null +++ b/src/Service/Chess/Updater/ResponseBuilder.php @@ -0,0 +1,42 @@ +status = ResponseStatus::SUCCESS; + $this->contentType = array('Content-type', 'json'); + $this->content = array(); + } + + public function setStatus(int $status) + { + $this->status = $status; + } + + public function setContent(array $content): void + { + $this->content = $content; + } + + public function createResponse() + { + $response = new Response(json_encode($this->content), + $this->status, + $this->contentType); + + return $response; + } +} \ No newline at end of file diff --git a/src/Service/Chess/Updater/ResponseStatus.php b/src/Service/Chess/Updater/ResponseStatus.php new file mode 100644 index 0000000..0b71a67 --- /dev/null +++ b/src/Service/Chess/Updater/ResponseStatus.php @@ -0,0 +1,12 @@ +getConstants()); + } +} \ No newline at end of file diff --git a/src/Utils/Exception/AbstractException.php b/src/Utils/Exception/AbstractException.php new file mode 100644 index 0000000..63f324b --- /dev/null +++ b/src/Utils/Exception/AbstractException.php @@ -0,0 +1,29 @@ +level = $level; + parent::__construct($message, $code, $previous); + } + + public function getExceptionLevel(): int + { + return $this->level; + } +} \ No newline at end of file diff --git a/src/Utils/Exception/ExceptionLevel.php b/src/Utils/Exception/ExceptionLevel.php new file mode 100644 index 0000000..2f650d7 --- /dev/null +++ b/src/Utils/Exception/ExceptionLevel.php @@ -0,0 +1,12 @@ +responseContent = $responseContent; + parent::__construct($level, $message, $code, $previous); + } + + public function getResponseContent(): array + { + return $this->responseContent; + } +} \ No newline at end of file From a4b83767b3eebfadcaaed4fdb21a0bc9e732a17a Mon Sep 17 00:00:00 2001 From: charleschopin Date: Sat, 19 Oct 2019 18:10:21 +0200 Subject: [PATCH 17/17] service syntax symfony4 --- config/services.yaml | 8 ++++++-- src/Controller/ChessController.php | 10 ++-------- src/Service/Chess/Updater/ChessGameUpdater.php | 4 ++-- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/config/services.yaml b/config/services.yaml index c666c75..98bfe8f 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -23,7 +23,11 @@ services: resource: '../src/Controller' tags: ['controller.service_arguments'] - chess_game_updater: - class: 'Service\Chess\Updater\ChessGameUpdater' # add more service definitions when explicit configuration is needed # please note that last definitions always *replace* previous ones + + App\Service\Chess\Updater\ChessGameUpdater: + public: true + arguments: + $movePossibility: '@App\Service\Chess\Updater\MovePossibility' + $responseBuilder: '@App\Service\Chess\Updater\ResponseBuilder' \ No newline at end of file diff --git a/src/Controller/ChessController.php b/src/Controller/ChessController.php index ca6a79c..b6b6a5e 100644 --- a/src/Controller/ChessController.php +++ b/src/Controller/ChessController.php @@ -4,27 +4,21 @@ namespace App\Controller; use App\Service\Chess\Updater\ChessGameUpdater; -use App\Service\Chess\Updater\MovePossibility; -use App\Service\Chess\Updater\ResponseBuilder; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; class ChessController extends AbstractController { - function enabledMoves(Request $request): Response + function enabledMoves(Request $request, ChessGameUpdater $chessGameUpdater): Response { - $chessGameUpdater = new ChessGameUpdater(new ResponseBuilder(), new MovePossibility()); - $chessGameUpdater->buildMovePossibility($request, $this->get('session')); return $chessGameUpdater->getEncodedResponse(); } - function move(Request $request): Response + function move(Request $request, ChessGameUpdater $chessGameUpdater): Response { - $chessGameUpdater = new ChessGameUpdater(new ResponseBuilder(), new MovePossibility()); - $chessGameUpdater->requestForMove($request, $this->get('session')); return $chessGameUpdater->getEncodedResponse(); diff --git a/src/Service/Chess/Updater/ChessGameUpdater.php b/src/Service/Chess/Updater/ChessGameUpdater.php index e4f9ef2..3d270e6 100644 --- a/src/Service/Chess/Updater/ChessGameUpdater.php +++ b/src/Service/Chess/Updater/ChessGameUpdater.php @@ -11,8 +11,8 @@ class ChessGameUpdater { - private $movePossibility; - private $responseBuilder; + protected $movePossibility; + protected $responseBuilder; public function __construct(ResponseBuilder $responseBuilder, MovePossibility $movePossibility)