├── src ├── Controller │ └── .gitignore └── Kernel.php ├── config ├── packages │ ├── routing.yaml │ ├── dev │ │ └── routing.yaml │ ├── test │ │ ├── routing.yaml │ │ └── framework.yaml │ └── framework.yaml ├── routes.yaml ├── bundles.php └── services.yaml ├── .gitignore ├── Makefile ├── opt └── nginx │ └── vhost.conf ├── .env.dist ├── Dockerfile ├── docker-compose.yml ├── bin └── console ├── public └── index.php ├── composer.json ├── symfony.lock └── composer.lock /src/Controller/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /config/packages/routing.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | router: 3 | strict_requirements: ~ 4 | -------------------------------------------------------------------------------- /config/packages/dev/routing.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | router: 3 | strict_requirements: true 4 | -------------------------------------------------------------------------------- /config/packages/test/routing.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | router: 3 | strict_requirements: true 4 | -------------------------------------------------------------------------------- /config/routes.yaml: -------------------------------------------------------------------------------- 1 | #index: 2 | # path: / 3 | # controller: App\Controller\DefaultController::index 4 | -------------------------------------------------------------------------------- /config/bundles.php: -------------------------------------------------------------------------------- 1 | ['all' => true], 5 | ]; 6 | -------------------------------------------------------------------------------- /config/packages/test/framework.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | test: true 3 | session: 4 | storage_id: session.storage.mock_file 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | ###> symfony/framework-bundle ### 3 | /.env 4 | /public/bundles/ 5 | /var/ 6 | /vendor/ 7 | ###< symfony/framework-bundle ### 8 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | deps: 2 | @composer install 3 | 4 | rebuild: 5 | @docker-compose build php 6 | 7 | dup: 8 | @docker-compose up -d 9 | 10 | dshell: rebuild dup 11 | @docker-compose exec php bash --norc 12 | 13 | dclean: 14 | @docker-compose down --rmi=local --volumes 15 | -------------------------------------------------------------------------------- /opt/nginx/vhost.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80 default_server; 3 | listen [::]:80 default_server; 4 | root /app; 5 | 6 | location / { 7 | try_files $uri $uri/ /public/index.php; 8 | } 9 | 10 | location ~ \.php$ { 11 | fastcgi_pass php:9000; 12 | include fastcgi_params; 13 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 14 | fastcgi_param SCRIPT_NAME $fastcgi_script_name; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /.env.dist: -------------------------------------------------------------------------------- 1 | # This file is a "template" of which env vars need to be defined for your application 2 | # Copy this file to .env file for development, create environment variables when deploying to production 3 | # https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration 4 | 5 | ###> symfony/framework-bundle ### 6 | APP_ENV=dev 7 | APP_SECRET=3f1650cb18d48648952b925015eff0c5 8 | #TRUSTED_PROXIES=127.0.0.1,127.0.0.2 9 | #TRUSTED_HOSTS=localhost,example.com 10 | ###< symfony/framework-bundle ### 11 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # Use this layer for common dependencies 2 | FROM php:7-fpm AS base 3 | 4 | ENV DEBIAN_FRONTEND=noninteractive 5 | RUN apt update && apt install --yes git unzip 6 | 7 | ENV COMPOSER_HOME /composer 8 | 9 | COPY --from=composer:1.7 /usr/bin/composer /usr/bin/composer 10 | 11 | WORKDIR /app 12 | 13 | FROM base AS build 14 | 15 | # Now install dev dependencies 16 | COPY composer.json /app/ 17 | RUN composer install 18 | 19 | FROM build AS unit-test 20 | 21 | RUN php bin/console test 22 | 23 | FROM build AS production 24 | 25 | FROM production AS acceptance-tests 26 | 27 | RUN composer install --dev 28 | RUN php bin/console acceptance-tests 29 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2.4' 2 | 3 | volumes: 4 | cache: &tmpfsConfig 5 | driver: local 6 | driver_opts: 7 | type: tmpfs 8 | device: tmpfs 9 | composer: *tmpfsConfig 10 | logs: *tmpfsConfig 11 | vendor: *tmpfsConfig 12 | 13 | services: 14 | php: 15 | build: 16 | context: . 17 | target: base 18 | user: "33" 19 | volumes: 20 | - .:/app:ro 21 | - cache:/app/var/cache 22 | - composer:/composer 23 | - logs:/app/var/log 24 | - vendor:/app/vendor 25 | 26 | nginx: 27 | image: nginx 28 | volumes: 29 | - ./opt/nginx/vhost.conf:/etc/nginx/conf.d/default.conf 30 | ports: 31 | - 8080:80 32 | depends_on: 33 | php: 34 | condition: service_started 35 | -------------------------------------------------------------------------------- /config/packages/framework.yaml: -------------------------------------------------------------------------------- 1 | framework: 2 | secret: '%env(APP_SECRET)%' 3 | #default_locale: en 4 | #csrf_protection: true 5 | #http_method_override: true 6 | 7 | # Enables session support. Note that the session will ONLY be started if you read or write from it. 8 | # Remove or comment this section to explicitly disable session support. 9 | session: 10 | handler_id: ~ 11 | 12 | #esi: true 13 | #fragments: true 14 | php_errors: 15 | log: true 16 | 17 | cache: 18 | # Put the unique name of your app here: the prefix seed 19 | # is used to compute stable namespaces for cache keys. 20 | #prefix_seed: your_vendor_name/app_name 21 | 22 | # The app cache caches to the filesystem by default. 23 | # Other options include: 24 | 25 | # Redis 26 | #app: cache.adapter.redis 27 | #default_redis_provider: redis://localhost 28 | 29 | # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) 30 | #app: cache.adapter.apcu 31 | -------------------------------------------------------------------------------- /bin/console: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | load(__DIR__.'/../.env'); 23 | } 24 | 25 | $input = new ArgvInput(); 26 | $env = $input->getParameterOption(['--env', '-e'], $_SERVER['APP_ENV'] ?? 'dev', true); 27 | $debug = (bool) ($_SERVER['APP_DEBUG'] ?? ('prod' !== $env)) && !$input->hasParameterOption('--no-debug', true); 28 | 29 | if ($debug) { 30 | umask(0000); 31 | 32 | if (class_exists(Debug::class)) { 33 | Debug::enable(); 34 | } 35 | } 36 | 37 | $kernel = new Kernel($env, $debug); 38 | $application = new Application($kernel); 39 | $application->run($input); 40 | -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 | load(__DIR__.'/../.env'); 16 | } 17 | 18 | $env = $_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? 'dev'; 19 | $debug = (bool) ($_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? ('prod' !== $env)); 20 | 21 | if ($debug) { 22 | umask(0000); 23 | 24 | Debug::enable(); 25 | } 26 | 27 | if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ?? false) { 28 | Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST); 29 | } 30 | 31 | if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? $_ENV['TRUSTED_HOSTS'] ?? false) { 32 | Request::setTrustedHosts(explode(',', $trustedHosts)); 33 | } 34 | 35 | $kernel = new Kernel($env, $debug); 36 | $request = Request::createFromGlobals(); 37 | $response = $kernel->handle($request); 38 | $response->send(); 39 | $kernel->terminate($request, $response); 40 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "project", 3 | "license": "proprietary", 4 | "require": { 5 | "php": "^7.1.3", 6 | "ext-ctype": "*", 7 | "ext-iconv": "*", 8 | "symfony/console": "*", 9 | "symfony/flex": "^1.1", 10 | "symfony/framework-bundle": "*", 11 | "symfony/yaml": "*" 12 | }, 13 | "require-dev": { 14 | "symfony/dotenv": "*" 15 | }, 16 | "config": { 17 | "preferred-install": { 18 | "*": "dist" 19 | }, 20 | "sort-packages": true 21 | }, 22 | "autoload": { 23 | "psr-4": { 24 | "App\\": "src/" 25 | } 26 | }, 27 | "autoload-dev": { 28 | "psr-4": { 29 | "App\\Tests\\": "tests/" 30 | } 31 | }, 32 | "replace": { 33 | "paragonie/random_compat": "2.*", 34 | "symfony/polyfill-ctype": "*", 35 | "symfony/polyfill-iconv": "*", 36 | "symfony/polyfill-php71": "*", 37 | "symfony/polyfill-php70": "*", 38 | "symfony/polyfill-php56": "*" 39 | }, 40 | "scripts": { 41 | "auto-scripts": { 42 | "cache:clear": "symfony-cmd", 43 | "assets:install %PUBLIC_DIR%": "symfony-cmd" 44 | }, 45 | "post-install-cmd": [ 46 | "@auto-scripts" 47 | ], 48 | "post-update-cmd": [ 49 | "@auto-scripts" 50 | ] 51 | }, 52 | "conflict": { 53 | "symfony/symfony": "*" 54 | }, 55 | "extra": { 56 | "symfony": { 57 | "allow-contrib": false, 58 | "require": "4.1.*" 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /config/services.yaml: -------------------------------------------------------------------------------- 1 | # This file is the entry point to configure your own services. 2 | # Files in the packages/ subdirectory configure your dependencies. 3 | 4 | # Put parameters here that don't need to change on each machine where the app is deployed 5 | # https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration 6 | parameters: 7 | 8 | services: 9 | # default configuration for services in *this* file 10 | _defaults: 11 | autowire: true # Automatically injects dependencies in your services. 12 | autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. 13 | public: false # Allows optimizing the container by removing unused services; this also means 14 | # fetching services directly from the container via $container->get() won't work. 15 | # The best practice is to be explicit about your dependencies anyway. 16 | 17 | # makes classes in src/ available to be used as services 18 | # this creates a service per class whose id is the fully-qualified class name 19 | App\: 20 | resource: '../src/*' 21 | exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}' 22 | 23 | # controllers are imported separately to make sure services can be injected 24 | # as action arguments even if you don't extend any base controller class 25 | App\Controller\: 26 | resource: '../src/Controller' 27 | tags: ['controller.service_arguments'] 28 | 29 | # add more service definitions when explicit configuration is needed 30 | # please note that last definitions always *replace* previous ones 31 | -------------------------------------------------------------------------------- /symfony.lock: -------------------------------------------------------------------------------- 1 | { 2 | "psr/cache": { 3 | "version": "1.0.1" 4 | }, 5 | "psr/container": { 6 | "version": "1.0.0" 7 | }, 8 | "psr/log": { 9 | "version": "1.0.2" 10 | }, 11 | "psr/simple-cache": { 12 | "version": "1.0.1" 13 | }, 14 | "symfony/cache": { 15 | "version": "v4.1.7" 16 | }, 17 | "symfony/config": { 18 | "version": "v4.1.7" 19 | }, 20 | "symfony/console": { 21 | "version": "3.3", 22 | "recipe": { 23 | "repo": "github.com/symfony/recipes", 24 | "branch": "master", 25 | "version": "3.3", 26 | "ref": "e3868d2f4a5104f19f844fe551099a00c6562527" 27 | } 28 | }, 29 | "symfony/debug": { 30 | "version": "v4.1.7" 31 | }, 32 | "symfony/dependency-injection": { 33 | "version": "v4.1.7" 34 | }, 35 | "symfony/dotenv": { 36 | "version": "v4.1.7" 37 | }, 38 | "symfony/event-dispatcher": { 39 | "version": "v4.1.7" 40 | }, 41 | "symfony/filesystem": { 42 | "version": "v4.1.7" 43 | }, 44 | "symfony/finder": { 45 | "version": "v4.1.7" 46 | }, 47 | "symfony/flex": { 48 | "version": "1.0", 49 | "recipe": { 50 | "repo": "github.com/symfony/recipes", 51 | "branch": "master", 52 | "version": "1.0", 53 | "ref": "e921bdbfe20cdefa3b82f379d1cd36df1bc8d115" 54 | } 55 | }, 56 | "symfony/framework-bundle": { 57 | "version": "3.3", 58 | "recipe": { 59 | "repo": "github.com/symfony/recipes", 60 | "branch": "master", 61 | "version": "3.3", 62 | "ref": "a9eecaa968723a91299a2eb1a893648dc11a7194" 63 | } 64 | }, 65 | "symfony/http-foundation": { 66 | "version": "v4.1.7" 67 | }, 68 | "symfony/http-kernel": { 69 | "version": "v4.1.7" 70 | }, 71 | "symfony/polyfill-mbstring": { 72 | "version": "v1.10.0" 73 | }, 74 | "symfony/routing": { 75 | "version": "4.0", 76 | "recipe": { 77 | "repo": "github.com/symfony/recipes", 78 | "branch": "master", 79 | "version": "4.0", 80 | "ref": "5f514d9d3b8a8aac3d62ae6a86b18b90ed0c7826" 81 | } 82 | }, 83 | "symfony/yaml": { 84 | "version": "v4.1.7" 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /src/Kernel.php: -------------------------------------------------------------------------------- 1 | getProjectDir().'/var/cache/'.$this->environment; 21 | } 22 | 23 | public function getLogDir() 24 | { 25 | return $this->getProjectDir().'/var/log'; 26 | } 27 | 28 | public function registerBundles() 29 | { 30 | $contents = require $this->getProjectDir().'/config/bundles.php'; 31 | foreach ($contents as $class => $envs) { 32 | if (isset($envs['all']) || isset($envs[$this->environment])) { 33 | yield new $class(); 34 | } 35 | } 36 | } 37 | 38 | protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader) 39 | { 40 | $container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php')); 41 | // Feel free to remove the "container.autowiring.strict_mode" parameter 42 | // if you are using symfony/dependency-injection 4.0+ as it's the default behavior 43 | $container->setParameter('container.autowiring.strict_mode', true); 44 | $container->setParameter('container.dumper.inline_class_loader', true); 45 | $confDir = $this->getProjectDir().'/config'; 46 | 47 | $loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob'); 48 | $loader->load($confDir.'/{packages}/'.$this->environment.'/**/*'.self::CONFIG_EXTS, 'glob'); 49 | $loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob'); 50 | $loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob'); 51 | } 52 | 53 | protected function configureRoutes(RouteCollectionBuilder $routes) 54 | { 55 | $confDir = $this->getProjectDir().'/config'; 56 | 57 | $routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob'); 58 | $routes->import($confDir.'/{routes}/'.$this->environment.'/**/*'.self::CONFIG_EXTS, '/', 'glob'); 59 | $routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob'); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "626c5bd436f867ed8c4a4bd50351ae2e", 8 | "packages": [ 9 | { 10 | "name": "psr/cache", 11 | "version": "1.0.1", 12 | "source": { 13 | "type": "git", 14 | "url": "https://github.com/php-fig/cache.git", 15 | "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" 16 | }, 17 | "dist": { 18 | "type": "zip", 19 | "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", 20 | "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", 21 | "shasum": "" 22 | }, 23 | "require": { 24 | "php": ">=5.3.0" 25 | }, 26 | "type": "library", 27 | "extra": { 28 | "branch-alias": { 29 | "dev-master": "1.0.x-dev" 30 | } 31 | }, 32 | "autoload": { 33 | "psr-4": { 34 | "Psr\\Cache\\": "src/" 35 | } 36 | }, 37 | "notification-url": "https://packagist.org/downloads/", 38 | "license": [ 39 | "MIT" 40 | ], 41 | "authors": [ 42 | { 43 | "name": "PHP-FIG", 44 | "homepage": "http://www.php-fig.org/" 45 | } 46 | ], 47 | "description": "Common interface for caching libraries", 48 | "keywords": [ 49 | "cache", 50 | "psr", 51 | "psr-6" 52 | ], 53 | "time": "2016-08-06T20:24:11+00:00" 54 | }, 55 | { 56 | "name": "psr/container", 57 | "version": "1.0.0", 58 | "source": { 59 | "type": "git", 60 | "url": "https://github.com/php-fig/container.git", 61 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" 62 | }, 63 | "dist": { 64 | "type": "zip", 65 | "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 66 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 67 | "shasum": "" 68 | }, 69 | "require": { 70 | "php": ">=5.3.0" 71 | }, 72 | "type": "library", 73 | "extra": { 74 | "branch-alias": { 75 | "dev-master": "1.0.x-dev" 76 | } 77 | }, 78 | "autoload": { 79 | "psr-4": { 80 | "Psr\\Container\\": "src/" 81 | } 82 | }, 83 | "notification-url": "https://packagist.org/downloads/", 84 | "license": [ 85 | "MIT" 86 | ], 87 | "authors": [ 88 | { 89 | "name": "PHP-FIG", 90 | "homepage": "http://www.php-fig.org/" 91 | } 92 | ], 93 | "description": "Common Container Interface (PHP FIG PSR-11)", 94 | "homepage": "https://github.com/php-fig/container", 95 | "keywords": [ 96 | "PSR-11", 97 | "container", 98 | "container-interface", 99 | "container-interop", 100 | "psr" 101 | ], 102 | "time": "2017-02-14T16:28:37+00:00" 103 | }, 104 | { 105 | "name": "psr/log", 106 | "version": "1.0.2", 107 | "source": { 108 | "type": "git", 109 | "url": "https://github.com/php-fig/log.git", 110 | "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" 111 | }, 112 | "dist": { 113 | "type": "zip", 114 | "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", 115 | "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", 116 | "shasum": "" 117 | }, 118 | "require": { 119 | "php": ">=5.3.0" 120 | }, 121 | "type": "library", 122 | "extra": { 123 | "branch-alias": { 124 | "dev-master": "1.0.x-dev" 125 | } 126 | }, 127 | "autoload": { 128 | "psr-4": { 129 | "Psr\\Log\\": "Psr/Log/" 130 | } 131 | }, 132 | "notification-url": "https://packagist.org/downloads/", 133 | "license": [ 134 | "MIT" 135 | ], 136 | "authors": [ 137 | { 138 | "name": "PHP-FIG", 139 | "homepage": "http://www.php-fig.org/" 140 | } 141 | ], 142 | "description": "Common interface for logging libraries", 143 | "homepage": "https://github.com/php-fig/log", 144 | "keywords": [ 145 | "log", 146 | "psr", 147 | "psr-3" 148 | ], 149 | "time": "2016-10-10T12:19:37+00:00" 150 | }, 151 | { 152 | "name": "psr/simple-cache", 153 | "version": "1.0.1", 154 | "source": { 155 | "type": "git", 156 | "url": "https://github.com/php-fig/simple-cache.git", 157 | "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" 158 | }, 159 | "dist": { 160 | "type": "zip", 161 | "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", 162 | "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", 163 | "shasum": "" 164 | }, 165 | "require": { 166 | "php": ">=5.3.0" 167 | }, 168 | "type": "library", 169 | "extra": { 170 | "branch-alias": { 171 | "dev-master": "1.0.x-dev" 172 | } 173 | }, 174 | "autoload": { 175 | "psr-4": { 176 | "Psr\\SimpleCache\\": "src/" 177 | } 178 | }, 179 | "notification-url": "https://packagist.org/downloads/", 180 | "license": [ 181 | "MIT" 182 | ], 183 | "authors": [ 184 | { 185 | "name": "PHP-FIG", 186 | "homepage": "http://www.php-fig.org/" 187 | } 188 | ], 189 | "description": "Common interfaces for simple caching", 190 | "keywords": [ 191 | "cache", 192 | "caching", 193 | "psr", 194 | "psr-16", 195 | "simple-cache" 196 | ], 197 | "time": "2017-10-23T01:57:42+00:00" 198 | }, 199 | { 200 | "name": "symfony/cache", 201 | "version": "v4.1.7", 202 | "source": { 203 | "type": "git", 204 | "url": "https://github.com/symfony/cache.git", 205 | "reference": "05ce0ddc8bc1ffe592105398fc2c725cb3080a38" 206 | }, 207 | "dist": { 208 | "type": "zip", 209 | "url": "https://api.github.com/repos/symfony/cache/zipball/05ce0ddc8bc1ffe592105398fc2c725cb3080a38", 210 | "reference": "05ce0ddc8bc1ffe592105398fc2c725cb3080a38", 211 | "shasum": "" 212 | }, 213 | "require": { 214 | "php": "^7.1.3", 215 | "psr/cache": "~1.0", 216 | "psr/log": "~1.0", 217 | "psr/simple-cache": "^1.0" 218 | }, 219 | "conflict": { 220 | "symfony/var-dumper": "<3.4" 221 | }, 222 | "provide": { 223 | "psr/cache-implementation": "1.0", 224 | "psr/simple-cache-implementation": "1.0" 225 | }, 226 | "require-dev": { 227 | "cache/integration-tests": "dev-master", 228 | "doctrine/cache": "~1.6", 229 | "doctrine/dbal": "~2.4", 230 | "predis/predis": "~1.0" 231 | }, 232 | "type": "library", 233 | "extra": { 234 | "branch-alias": { 235 | "dev-master": "4.1-dev" 236 | } 237 | }, 238 | "autoload": { 239 | "psr-4": { 240 | "Symfony\\Component\\Cache\\": "" 241 | }, 242 | "exclude-from-classmap": [ 243 | "/Tests/" 244 | ] 245 | }, 246 | "notification-url": "https://packagist.org/downloads/", 247 | "license": [ 248 | "MIT" 249 | ], 250 | "authors": [ 251 | { 252 | "name": "Nicolas Grekas", 253 | "email": "p@tchwork.com" 254 | }, 255 | { 256 | "name": "Symfony Community", 257 | "homepage": "https://symfony.com/contributors" 258 | } 259 | ], 260 | "description": "Symfony Cache component with PSR-6, PSR-16, and tags", 261 | "homepage": "https://symfony.com", 262 | "keywords": [ 263 | "caching", 264 | "psr6" 265 | ], 266 | "time": "2018-09-30T03:38:13+00:00" 267 | }, 268 | { 269 | "name": "symfony/config", 270 | "version": "v4.1.7", 271 | "source": { 272 | "type": "git", 273 | "url": "https://github.com/symfony/config.git", 274 | "reference": "991fec8bbe77367fc8b48ecbaa8a4bd6e905a238" 275 | }, 276 | "dist": { 277 | "type": "zip", 278 | "url": "https://api.github.com/repos/symfony/config/zipball/991fec8bbe77367fc8b48ecbaa8a4bd6e905a238", 279 | "reference": "991fec8bbe77367fc8b48ecbaa8a4bd6e905a238", 280 | "shasum": "" 281 | }, 282 | "require": { 283 | "php": "^7.1.3", 284 | "symfony/filesystem": "~3.4|~4.0", 285 | "symfony/polyfill-ctype": "~1.8" 286 | }, 287 | "conflict": { 288 | "symfony/finder": "<3.4" 289 | }, 290 | "require-dev": { 291 | "symfony/dependency-injection": "~3.4|~4.0", 292 | "symfony/event-dispatcher": "~3.4|~4.0", 293 | "symfony/finder": "~3.4|~4.0", 294 | "symfony/yaml": "~3.4|~4.0" 295 | }, 296 | "suggest": { 297 | "symfony/yaml": "To use the yaml reference dumper" 298 | }, 299 | "type": "library", 300 | "extra": { 301 | "branch-alias": { 302 | "dev-master": "4.1-dev" 303 | } 304 | }, 305 | "autoload": { 306 | "psr-4": { 307 | "Symfony\\Component\\Config\\": "" 308 | }, 309 | "exclude-from-classmap": [ 310 | "/Tests/" 311 | ] 312 | }, 313 | "notification-url": "https://packagist.org/downloads/", 314 | "license": [ 315 | "MIT" 316 | ], 317 | "authors": [ 318 | { 319 | "name": "Fabien Potencier", 320 | "email": "fabien@symfony.com" 321 | }, 322 | { 323 | "name": "Symfony Community", 324 | "homepage": "https://symfony.com/contributors" 325 | } 326 | ], 327 | "description": "Symfony Config Component", 328 | "homepage": "https://symfony.com", 329 | "time": "2018-10-31T09:09:42+00:00" 330 | }, 331 | { 332 | "name": "symfony/console", 333 | "version": "v4.1.7", 334 | "source": { 335 | "type": "git", 336 | "url": "https://github.com/symfony/console.git", 337 | "reference": "432122af37d8cd52fba1b294b11976e0d20df595" 338 | }, 339 | "dist": { 340 | "type": "zip", 341 | "url": "https://api.github.com/repos/symfony/console/zipball/432122af37d8cd52fba1b294b11976e0d20df595", 342 | "reference": "432122af37d8cd52fba1b294b11976e0d20df595", 343 | "shasum": "" 344 | }, 345 | "require": { 346 | "php": "^7.1.3", 347 | "symfony/polyfill-mbstring": "~1.0" 348 | }, 349 | "conflict": { 350 | "symfony/dependency-injection": "<3.4", 351 | "symfony/process": "<3.3" 352 | }, 353 | "require-dev": { 354 | "psr/log": "~1.0", 355 | "symfony/config": "~3.4|~4.0", 356 | "symfony/dependency-injection": "~3.4|~4.0", 357 | "symfony/event-dispatcher": "~3.4|~4.0", 358 | "symfony/lock": "~3.4|~4.0", 359 | "symfony/process": "~3.4|~4.0" 360 | }, 361 | "suggest": { 362 | "psr/log-implementation": "For using the console logger", 363 | "symfony/event-dispatcher": "", 364 | "symfony/lock": "", 365 | "symfony/process": "" 366 | }, 367 | "type": "library", 368 | "extra": { 369 | "branch-alias": { 370 | "dev-master": "4.1-dev" 371 | } 372 | }, 373 | "autoload": { 374 | "psr-4": { 375 | "Symfony\\Component\\Console\\": "" 376 | }, 377 | "exclude-from-classmap": [ 378 | "/Tests/" 379 | ] 380 | }, 381 | "notification-url": "https://packagist.org/downloads/", 382 | "license": [ 383 | "MIT" 384 | ], 385 | "authors": [ 386 | { 387 | "name": "Fabien Potencier", 388 | "email": "fabien@symfony.com" 389 | }, 390 | { 391 | "name": "Symfony Community", 392 | "homepage": "https://symfony.com/contributors" 393 | } 394 | ], 395 | "description": "Symfony Console Component", 396 | "homepage": "https://symfony.com", 397 | "time": "2018-10-31T09:30:44+00:00" 398 | }, 399 | { 400 | "name": "symfony/debug", 401 | "version": "v4.1.7", 402 | "source": { 403 | "type": "git", 404 | "url": "https://github.com/symfony/debug.git", 405 | "reference": "19090917b848a799cbae4800abf740fe4eb71c1d" 406 | }, 407 | "dist": { 408 | "type": "zip", 409 | "url": "https://api.github.com/repos/symfony/debug/zipball/19090917b848a799cbae4800abf740fe4eb71c1d", 410 | "reference": "19090917b848a799cbae4800abf740fe4eb71c1d", 411 | "shasum": "" 412 | }, 413 | "require": { 414 | "php": "^7.1.3", 415 | "psr/log": "~1.0" 416 | }, 417 | "conflict": { 418 | "symfony/http-kernel": "<3.4" 419 | }, 420 | "require-dev": { 421 | "symfony/http-kernel": "~3.4|~4.0" 422 | }, 423 | "type": "library", 424 | "extra": { 425 | "branch-alias": { 426 | "dev-master": "4.1-dev" 427 | } 428 | }, 429 | "autoload": { 430 | "psr-4": { 431 | "Symfony\\Component\\Debug\\": "" 432 | }, 433 | "exclude-from-classmap": [ 434 | "/Tests/" 435 | ] 436 | }, 437 | "notification-url": "https://packagist.org/downloads/", 438 | "license": [ 439 | "MIT" 440 | ], 441 | "authors": [ 442 | { 443 | "name": "Fabien Potencier", 444 | "email": "fabien@symfony.com" 445 | }, 446 | { 447 | "name": "Symfony Community", 448 | "homepage": "https://symfony.com/contributors" 449 | } 450 | ], 451 | "description": "Symfony Debug Component", 452 | "homepage": "https://symfony.com", 453 | "time": "2018-10-31T09:09:42+00:00" 454 | }, 455 | { 456 | "name": "symfony/dependency-injection", 457 | "version": "v4.1.7", 458 | "source": { 459 | "type": "git", 460 | "url": "https://github.com/symfony/dependency-injection.git", 461 | "reference": "e72ee2c23d952e4c368ee98610fa22b79b89b483" 462 | }, 463 | "dist": { 464 | "type": "zip", 465 | "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e72ee2c23d952e4c368ee98610fa22b79b89b483", 466 | "reference": "e72ee2c23d952e4c368ee98610fa22b79b89b483", 467 | "shasum": "" 468 | }, 469 | "require": { 470 | "php": "^7.1.3", 471 | "psr/container": "^1.0" 472 | }, 473 | "conflict": { 474 | "symfony/config": "<4.1.1", 475 | "symfony/finder": "<3.4", 476 | "symfony/proxy-manager-bridge": "<3.4", 477 | "symfony/yaml": "<3.4" 478 | }, 479 | "provide": { 480 | "psr/container-implementation": "1.0" 481 | }, 482 | "require-dev": { 483 | "symfony/config": "~4.1", 484 | "symfony/expression-language": "~3.4|~4.0", 485 | "symfony/yaml": "~3.4|~4.0" 486 | }, 487 | "suggest": { 488 | "symfony/config": "", 489 | "symfony/expression-language": "For using expressions in service container configuration", 490 | "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", 491 | "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", 492 | "symfony/yaml": "" 493 | }, 494 | "type": "library", 495 | "extra": { 496 | "branch-alias": { 497 | "dev-master": "4.1-dev" 498 | } 499 | }, 500 | "autoload": { 501 | "psr-4": { 502 | "Symfony\\Component\\DependencyInjection\\": "" 503 | }, 504 | "exclude-from-classmap": [ 505 | "/Tests/" 506 | ] 507 | }, 508 | "notification-url": "https://packagist.org/downloads/", 509 | "license": [ 510 | "MIT" 511 | ], 512 | "authors": [ 513 | { 514 | "name": "Fabien Potencier", 515 | "email": "fabien@symfony.com" 516 | }, 517 | { 518 | "name": "Symfony Community", 519 | "homepage": "https://symfony.com/contributors" 520 | } 521 | ], 522 | "description": "Symfony DependencyInjection Component", 523 | "homepage": "https://symfony.com", 524 | "time": "2018-10-31T10:54:16+00:00" 525 | }, 526 | { 527 | "name": "symfony/event-dispatcher", 528 | "version": "v4.1.7", 529 | "source": { 530 | "type": "git", 531 | "url": "https://github.com/symfony/event-dispatcher.git", 532 | "reference": "552541dad078c85d9414b09c041ede488b456cd5" 533 | }, 534 | "dist": { 535 | "type": "zip", 536 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/552541dad078c85d9414b09c041ede488b456cd5", 537 | "reference": "552541dad078c85d9414b09c041ede488b456cd5", 538 | "shasum": "" 539 | }, 540 | "require": { 541 | "php": "^7.1.3" 542 | }, 543 | "conflict": { 544 | "symfony/dependency-injection": "<3.4" 545 | }, 546 | "require-dev": { 547 | "psr/log": "~1.0", 548 | "symfony/config": "~3.4|~4.0", 549 | "symfony/dependency-injection": "~3.4|~4.0", 550 | "symfony/expression-language": "~3.4|~4.0", 551 | "symfony/stopwatch": "~3.4|~4.0" 552 | }, 553 | "suggest": { 554 | "symfony/dependency-injection": "", 555 | "symfony/http-kernel": "" 556 | }, 557 | "type": "library", 558 | "extra": { 559 | "branch-alias": { 560 | "dev-master": "4.1-dev" 561 | } 562 | }, 563 | "autoload": { 564 | "psr-4": { 565 | "Symfony\\Component\\EventDispatcher\\": "" 566 | }, 567 | "exclude-from-classmap": [ 568 | "/Tests/" 569 | ] 570 | }, 571 | "notification-url": "https://packagist.org/downloads/", 572 | "license": [ 573 | "MIT" 574 | ], 575 | "authors": [ 576 | { 577 | "name": "Fabien Potencier", 578 | "email": "fabien@symfony.com" 579 | }, 580 | { 581 | "name": "Symfony Community", 582 | "homepage": "https://symfony.com/contributors" 583 | } 584 | ], 585 | "description": "Symfony EventDispatcher Component", 586 | "homepage": "https://symfony.com", 587 | "time": "2018-10-10T13:52:42+00:00" 588 | }, 589 | { 590 | "name": "symfony/filesystem", 591 | "version": "v4.1.7", 592 | "source": { 593 | "type": "git", 594 | "url": "https://github.com/symfony/filesystem.git", 595 | "reference": "fd7bd6535beb1f0a0a9e3ee960666d0598546981" 596 | }, 597 | "dist": { 598 | "type": "zip", 599 | "url": "https://api.github.com/repos/symfony/filesystem/zipball/fd7bd6535beb1f0a0a9e3ee960666d0598546981", 600 | "reference": "fd7bd6535beb1f0a0a9e3ee960666d0598546981", 601 | "shasum": "" 602 | }, 603 | "require": { 604 | "php": "^7.1.3", 605 | "symfony/polyfill-ctype": "~1.8" 606 | }, 607 | "type": "library", 608 | "extra": { 609 | "branch-alias": { 610 | "dev-master": "4.1-dev" 611 | } 612 | }, 613 | "autoload": { 614 | "psr-4": { 615 | "Symfony\\Component\\Filesystem\\": "" 616 | }, 617 | "exclude-from-classmap": [ 618 | "/Tests/" 619 | ] 620 | }, 621 | "notification-url": "https://packagist.org/downloads/", 622 | "license": [ 623 | "MIT" 624 | ], 625 | "authors": [ 626 | { 627 | "name": "Fabien Potencier", 628 | "email": "fabien@symfony.com" 629 | }, 630 | { 631 | "name": "Symfony Community", 632 | "homepage": "https://symfony.com/contributors" 633 | } 634 | ], 635 | "description": "Symfony Filesystem Component", 636 | "homepage": "https://symfony.com", 637 | "time": "2018-10-30T13:18:25+00:00" 638 | }, 639 | { 640 | "name": "symfony/finder", 641 | "version": "v4.1.7", 642 | "source": { 643 | "type": "git", 644 | "url": "https://github.com/symfony/finder.git", 645 | "reference": "1f17195b44543017a9c9b2d437c670627e96ad06" 646 | }, 647 | "dist": { 648 | "type": "zip", 649 | "url": "https://api.github.com/repos/symfony/finder/zipball/1f17195b44543017a9c9b2d437c670627e96ad06", 650 | "reference": "1f17195b44543017a9c9b2d437c670627e96ad06", 651 | "shasum": "" 652 | }, 653 | "require": { 654 | "php": "^7.1.3" 655 | }, 656 | "type": "library", 657 | "extra": { 658 | "branch-alias": { 659 | "dev-master": "4.1-dev" 660 | } 661 | }, 662 | "autoload": { 663 | "psr-4": { 664 | "Symfony\\Component\\Finder\\": "" 665 | }, 666 | "exclude-from-classmap": [ 667 | "/Tests/" 668 | ] 669 | }, 670 | "notification-url": "https://packagist.org/downloads/", 671 | "license": [ 672 | "MIT" 673 | ], 674 | "authors": [ 675 | { 676 | "name": "Fabien Potencier", 677 | "email": "fabien@symfony.com" 678 | }, 679 | { 680 | "name": "Symfony Community", 681 | "homepage": "https://symfony.com/contributors" 682 | } 683 | ], 684 | "description": "Symfony Finder Component", 685 | "homepage": "https://symfony.com", 686 | "time": "2018-10-03T08:47:56+00:00" 687 | }, 688 | { 689 | "name": "symfony/flex", 690 | "version": "v1.1.1", 691 | "source": { 692 | "type": "git", 693 | "url": "https://github.com/symfony/flex.git", 694 | "reference": "9fb60f232af0764d58002e7872acb43a74506d25" 695 | }, 696 | "dist": { 697 | "type": "zip", 698 | "url": "https://api.github.com/repos/symfony/flex/zipball/9fb60f232af0764d58002e7872acb43a74506d25", 699 | "reference": "9fb60f232af0764d58002e7872acb43a74506d25", 700 | "shasum": "" 701 | }, 702 | "require": { 703 | "composer-plugin-api": "^1.0", 704 | "php": "^7.0" 705 | }, 706 | "require-dev": { 707 | "composer/composer": "^1.0.2", 708 | "symfony/phpunit-bridge": "^3.2.8" 709 | }, 710 | "type": "composer-plugin", 711 | "extra": { 712 | "branch-alias": { 713 | "dev-master": "1.1-dev" 714 | }, 715 | "class": "Symfony\\Flex\\Flex" 716 | }, 717 | "autoload": { 718 | "psr-4": { 719 | "Symfony\\Flex\\": "src" 720 | } 721 | }, 722 | "notification-url": "https://packagist.org/downloads/", 723 | "license": [ 724 | "MIT" 725 | ], 726 | "authors": [ 727 | { 728 | "name": "Fabien Potencier", 729 | "email": "fabien.potencier@gmail.com" 730 | } 731 | ], 732 | "description": "Composer plugin for Symfony", 733 | "time": "2018-09-03T08:17:12+00:00" 734 | }, 735 | { 736 | "name": "symfony/framework-bundle", 737 | "version": "v4.1.7", 738 | "source": { 739 | "type": "git", 740 | "url": "https://github.com/symfony/framework-bundle.git", 741 | "reference": "5f05a52128de2fdd1285bd58d19a912a97bd290f" 742 | }, 743 | "dist": { 744 | "type": "zip", 745 | "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/5f05a52128de2fdd1285bd58d19a912a97bd290f", 746 | "reference": "5f05a52128de2fdd1285bd58d19a912a97bd290f", 747 | "shasum": "" 748 | }, 749 | "require": { 750 | "ext-xml": "*", 751 | "php": "^7.1.3", 752 | "symfony/cache": "~3.4|~4.0", 753 | "symfony/config": "~3.4|~4.0", 754 | "symfony/dependency-injection": "^4.1.1", 755 | "symfony/event-dispatcher": "^4.1", 756 | "symfony/filesystem": "~3.4|~4.0", 757 | "symfony/finder": "~3.4|~4.0", 758 | "symfony/http-foundation": "^4.1", 759 | "symfony/http-kernel": "^4.1", 760 | "symfony/polyfill-mbstring": "~1.0", 761 | "symfony/routing": "^4.1" 762 | }, 763 | "conflict": { 764 | "phpdocumentor/reflection-docblock": "<3.0", 765 | "phpdocumentor/type-resolver": "<0.2.1", 766 | "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", 767 | "symfony/asset": "<3.4", 768 | "symfony/console": "<3.4", 769 | "symfony/form": "<4.1", 770 | "symfony/messenger": ">=4.2", 771 | "symfony/property-info": "<3.4", 772 | "symfony/serializer": "<4.1", 773 | "symfony/stopwatch": "<3.4", 774 | "symfony/translation": "<3.4", 775 | "symfony/twig-bridge": "<4.1.1", 776 | "symfony/validator": "<4.1", 777 | "symfony/workflow": "<4.1" 778 | }, 779 | "require-dev": { 780 | "doctrine/annotations": "~1.0", 781 | "doctrine/cache": "~1.0", 782 | "fig/link-util": "^1.0", 783 | "phpdocumentor/reflection-docblock": "^3.0|^4.0", 784 | "symfony/asset": "~3.4|~4.0", 785 | "symfony/browser-kit": "~3.4|~4.0", 786 | "symfony/console": "~3.4|~4.0", 787 | "symfony/css-selector": "~3.4|~4.0", 788 | "symfony/dom-crawler": "~3.4|~4.0", 789 | "symfony/expression-language": "~3.4|~4.0", 790 | "symfony/form": "^4.1", 791 | "symfony/lock": "~3.4|~4.0", 792 | "symfony/messenger": "^4.1", 793 | "symfony/polyfill-intl-icu": "~1.0", 794 | "symfony/process": "~3.4|~4.0", 795 | "symfony/property-info": "~3.4|~4.0", 796 | "symfony/security": "~3.4|~4.0", 797 | "symfony/security-core": "~3.4|~4.0", 798 | "symfony/security-csrf": "~3.4|~4.0", 799 | "symfony/serializer": "^4.1", 800 | "symfony/stopwatch": "~3.4|~4.0", 801 | "symfony/templating": "~3.4|~4.0", 802 | "symfony/translation": "~3.4|~4.0", 803 | "symfony/validator": "^4.1", 804 | "symfony/var-dumper": "~3.4|~4.0", 805 | "symfony/web-link": "~3.4|~4.0", 806 | "symfony/workflow": "^4.1", 807 | "symfony/yaml": "~3.4|~4.0", 808 | "twig/twig": "~1.34|~2.4" 809 | }, 810 | "suggest": { 811 | "ext-apcu": "For best performance of the system caches", 812 | "symfony/console": "For using the console commands", 813 | "symfony/form": "For using forms", 814 | "symfony/property-info": "For using the property_info service", 815 | "symfony/serializer": "For using the serializer service", 816 | "symfony/validator": "For using validation", 817 | "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering", 818 | "symfony/yaml": "For using the debug:config and lint:yaml commands" 819 | }, 820 | "type": "symfony-bundle", 821 | "extra": { 822 | "branch-alias": { 823 | "dev-master": "4.1-dev" 824 | } 825 | }, 826 | "autoload": { 827 | "psr-4": { 828 | "Symfony\\Bundle\\FrameworkBundle\\": "" 829 | }, 830 | "exclude-from-classmap": [ 831 | "/Tests/" 832 | ] 833 | }, 834 | "notification-url": "https://packagist.org/downloads/", 835 | "license": [ 836 | "MIT" 837 | ], 838 | "authors": [ 839 | { 840 | "name": "Fabien Potencier", 841 | "email": "fabien@symfony.com" 842 | }, 843 | { 844 | "name": "Symfony Community", 845 | "homepage": "https://symfony.com/contributors" 846 | } 847 | ], 848 | "description": "Symfony FrameworkBundle", 849 | "homepage": "https://symfony.com", 850 | "time": "2018-10-31T09:09:42+00:00" 851 | }, 852 | { 853 | "name": "symfony/http-foundation", 854 | "version": "v4.1.7", 855 | "source": { 856 | "type": "git", 857 | "url": "https://github.com/symfony/http-foundation.git", 858 | "reference": "82d494c1492b0dd24bbc5c2d963fb02eb44491af" 859 | }, 860 | "dist": { 861 | "type": "zip", 862 | "url": "https://api.github.com/repos/symfony/http-foundation/zipball/82d494c1492b0dd24bbc5c2d963fb02eb44491af", 863 | "reference": "82d494c1492b0dd24bbc5c2d963fb02eb44491af", 864 | "shasum": "" 865 | }, 866 | "require": { 867 | "php": "^7.1.3", 868 | "symfony/polyfill-mbstring": "~1.1" 869 | }, 870 | "require-dev": { 871 | "predis/predis": "~1.0", 872 | "symfony/expression-language": "~3.4|~4.0" 873 | }, 874 | "type": "library", 875 | "extra": { 876 | "branch-alias": { 877 | "dev-master": "4.1-dev" 878 | } 879 | }, 880 | "autoload": { 881 | "psr-4": { 882 | "Symfony\\Component\\HttpFoundation\\": "" 883 | }, 884 | "exclude-from-classmap": [ 885 | "/Tests/" 886 | ] 887 | }, 888 | "notification-url": "https://packagist.org/downloads/", 889 | "license": [ 890 | "MIT" 891 | ], 892 | "authors": [ 893 | { 894 | "name": "Fabien Potencier", 895 | "email": "fabien@symfony.com" 896 | }, 897 | { 898 | "name": "Symfony Community", 899 | "homepage": "https://symfony.com/contributors" 900 | } 901 | ], 902 | "description": "Symfony HttpFoundation Component", 903 | "homepage": "https://symfony.com", 904 | "time": "2018-10-31T09:09:42+00:00" 905 | }, 906 | { 907 | "name": "symfony/http-kernel", 908 | "version": "v4.1.7", 909 | "source": { 910 | "type": "git", 911 | "url": "https://github.com/symfony/http-kernel.git", 912 | "reference": "958be64ab13b65172ad646ef5ae20364c2305fae" 913 | }, 914 | "dist": { 915 | "type": "zip", 916 | "url": "https://api.github.com/repos/symfony/http-kernel/zipball/958be64ab13b65172ad646ef5ae20364c2305fae", 917 | "reference": "958be64ab13b65172ad646ef5ae20364c2305fae", 918 | "shasum": "" 919 | }, 920 | "require": { 921 | "php": "^7.1.3", 922 | "psr/log": "~1.0", 923 | "symfony/debug": "~3.4|~4.0", 924 | "symfony/event-dispatcher": "~4.1", 925 | "symfony/http-foundation": "^4.1.1", 926 | "symfony/polyfill-ctype": "~1.8" 927 | }, 928 | "conflict": { 929 | "symfony/config": "<3.4", 930 | "symfony/dependency-injection": "<4.1", 931 | "symfony/var-dumper": "<4.1.1", 932 | "twig/twig": "<1.34|<2.4,>=2" 933 | }, 934 | "provide": { 935 | "psr/log-implementation": "1.0" 936 | }, 937 | "require-dev": { 938 | "psr/cache": "~1.0", 939 | "symfony/browser-kit": "~3.4|~4.0", 940 | "symfony/config": "~3.4|~4.0", 941 | "symfony/console": "~3.4|~4.0", 942 | "symfony/css-selector": "~3.4|~4.0", 943 | "symfony/dependency-injection": "^4.1", 944 | "symfony/dom-crawler": "~3.4|~4.0", 945 | "symfony/expression-language": "~3.4|~4.0", 946 | "symfony/finder": "~3.4|~4.0", 947 | "symfony/process": "~3.4|~4.0", 948 | "symfony/routing": "~3.4|~4.0", 949 | "symfony/stopwatch": "~3.4|~4.0", 950 | "symfony/templating": "~3.4|~4.0", 951 | "symfony/translation": "~3.4|~4.0", 952 | "symfony/var-dumper": "^4.1.1" 953 | }, 954 | "suggest": { 955 | "symfony/browser-kit": "", 956 | "symfony/config": "", 957 | "symfony/console": "", 958 | "symfony/dependency-injection": "", 959 | "symfony/var-dumper": "" 960 | }, 961 | "type": "library", 962 | "extra": { 963 | "branch-alias": { 964 | "dev-master": "4.1-dev" 965 | } 966 | }, 967 | "autoload": { 968 | "psr-4": { 969 | "Symfony\\Component\\HttpKernel\\": "" 970 | }, 971 | "exclude-from-classmap": [ 972 | "/Tests/" 973 | ] 974 | }, 975 | "notification-url": "https://packagist.org/downloads/", 976 | "license": [ 977 | "MIT" 978 | ], 979 | "authors": [ 980 | { 981 | "name": "Fabien Potencier", 982 | "email": "fabien@symfony.com" 983 | }, 984 | { 985 | "name": "Symfony Community", 986 | "homepage": "https://symfony.com/contributors" 987 | } 988 | ], 989 | "description": "Symfony HttpKernel Component", 990 | "homepage": "https://symfony.com", 991 | "time": "2018-11-03T11:11:23+00:00" 992 | }, 993 | { 994 | "name": "symfony/polyfill-mbstring", 995 | "version": "v1.10.0", 996 | "source": { 997 | "type": "git", 998 | "url": "https://github.com/symfony/polyfill-mbstring.git", 999 | "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" 1000 | }, 1001 | "dist": { 1002 | "type": "zip", 1003 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", 1004 | "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", 1005 | "shasum": "" 1006 | }, 1007 | "require": { 1008 | "php": ">=5.3.3" 1009 | }, 1010 | "suggest": { 1011 | "ext-mbstring": "For best performance" 1012 | }, 1013 | "type": "library", 1014 | "extra": { 1015 | "branch-alias": { 1016 | "dev-master": "1.9-dev" 1017 | } 1018 | }, 1019 | "autoload": { 1020 | "psr-4": { 1021 | "Symfony\\Polyfill\\Mbstring\\": "" 1022 | }, 1023 | "files": [ 1024 | "bootstrap.php" 1025 | ] 1026 | }, 1027 | "notification-url": "https://packagist.org/downloads/", 1028 | "license": [ 1029 | "MIT" 1030 | ], 1031 | "authors": [ 1032 | { 1033 | "name": "Nicolas Grekas", 1034 | "email": "p@tchwork.com" 1035 | }, 1036 | { 1037 | "name": "Symfony Community", 1038 | "homepage": "https://symfony.com/contributors" 1039 | } 1040 | ], 1041 | "description": "Symfony polyfill for the Mbstring extension", 1042 | "homepage": "https://symfony.com", 1043 | "keywords": [ 1044 | "compatibility", 1045 | "mbstring", 1046 | "polyfill", 1047 | "portable", 1048 | "shim" 1049 | ], 1050 | "time": "2018-09-21T13:07:52+00:00" 1051 | }, 1052 | { 1053 | "name": "symfony/routing", 1054 | "version": "v4.1.7", 1055 | "source": { 1056 | "type": "git", 1057 | "url": "https://github.com/symfony/routing.git", 1058 | "reference": "d4a3c14cfbe6b9c05a1d6e948654022d4d1ad3fd" 1059 | }, 1060 | "dist": { 1061 | "type": "zip", 1062 | "url": "https://api.github.com/repos/symfony/routing/zipball/d4a3c14cfbe6b9c05a1d6e948654022d4d1ad3fd", 1063 | "reference": "d4a3c14cfbe6b9c05a1d6e948654022d4d1ad3fd", 1064 | "shasum": "" 1065 | }, 1066 | "require": { 1067 | "php": "^7.1.3" 1068 | }, 1069 | "conflict": { 1070 | "symfony/config": "<3.4", 1071 | "symfony/dependency-injection": "<3.4", 1072 | "symfony/yaml": "<3.4" 1073 | }, 1074 | "require-dev": { 1075 | "doctrine/annotations": "~1.0", 1076 | "psr/log": "~1.0", 1077 | "symfony/config": "~3.4|~4.0", 1078 | "symfony/dependency-injection": "~3.4|~4.0", 1079 | "symfony/expression-language": "~3.4|~4.0", 1080 | "symfony/http-foundation": "~3.4|~4.0", 1081 | "symfony/yaml": "~3.4|~4.0" 1082 | }, 1083 | "suggest": { 1084 | "doctrine/annotations": "For using the annotation loader", 1085 | "symfony/config": "For using the all-in-one router or any loader", 1086 | "symfony/dependency-injection": "For loading routes from a service", 1087 | "symfony/expression-language": "For using expression matching", 1088 | "symfony/http-foundation": "For using a Symfony Request object", 1089 | "symfony/yaml": "For using the YAML loader" 1090 | }, 1091 | "type": "library", 1092 | "extra": { 1093 | "branch-alias": { 1094 | "dev-master": "4.1-dev" 1095 | } 1096 | }, 1097 | "autoload": { 1098 | "psr-4": { 1099 | "Symfony\\Component\\Routing\\": "" 1100 | }, 1101 | "exclude-from-classmap": [ 1102 | "/Tests/" 1103 | ] 1104 | }, 1105 | "notification-url": "https://packagist.org/downloads/", 1106 | "license": [ 1107 | "MIT" 1108 | ], 1109 | "authors": [ 1110 | { 1111 | "name": "Fabien Potencier", 1112 | "email": "fabien@symfony.com" 1113 | }, 1114 | { 1115 | "name": "Symfony Community", 1116 | "homepage": "https://symfony.com/contributors" 1117 | } 1118 | ], 1119 | "description": "Symfony Routing Component", 1120 | "homepage": "https://symfony.com", 1121 | "keywords": [ 1122 | "router", 1123 | "routing", 1124 | "uri", 1125 | "url" 1126 | ], 1127 | "time": "2018-10-28T18:38:52+00:00" 1128 | }, 1129 | { 1130 | "name": "symfony/yaml", 1131 | "version": "v4.1.7", 1132 | "source": { 1133 | "type": "git", 1134 | "url": "https://github.com/symfony/yaml.git", 1135 | "reference": "367e689b2fdc19965be435337b50bc8adf2746c9" 1136 | }, 1137 | "dist": { 1138 | "type": "zip", 1139 | "url": "https://api.github.com/repos/symfony/yaml/zipball/367e689b2fdc19965be435337b50bc8adf2746c9", 1140 | "reference": "367e689b2fdc19965be435337b50bc8adf2746c9", 1141 | "shasum": "" 1142 | }, 1143 | "require": { 1144 | "php": "^7.1.3", 1145 | "symfony/polyfill-ctype": "~1.8" 1146 | }, 1147 | "conflict": { 1148 | "symfony/console": "<3.4" 1149 | }, 1150 | "require-dev": { 1151 | "symfony/console": "~3.4|~4.0" 1152 | }, 1153 | "suggest": { 1154 | "symfony/console": "For validating YAML files using the lint command" 1155 | }, 1156 | "type": "library", 1157 | "extra": { 1158 | "branch-alias": { 1159 | "dev-master": "4.1-dev" 1160 | } 1161 | }, 1162 | "autoload": { 1163 | "psr-4": { 1164 | "Symfony\\Component\\Yaml\\": "" 1165 | }, 1166 | "exclude-from-classmap": [ 1167 | "/Tests/" 1168 | ] 1169 | }, 1170 | "notification-url": "https://packagist.org/downloads/", 1171 | "license": [ 1172 | "MIT" 1173 | ], 1174 | "authors": [ 1175 | { 1176 | "name": "Fabien Potencier", 1177 | "email": "fabien@symfony.com" 1178 | }, 1179 | { 1180 | "name": "Symfony Community", 1181 | "homepage": "https://symfony.com/contributors" 1182 | } 1183 | ], 1184 | "description": "Symfony Yaml Component", 1185 | "homepage": "https://symfony.com", 1186 | "time": "2018-10-02T16:36:10+00:00" 1187 | } 1188 | ], 1189 | "packages-dev": [ 1190 | { 1191 | "name": "symfony/dotenv", 1192 | "version": "v4.1.7", 1193 | "source": { 1194 | "type": "git", 1195 | "url": "https://github.com/symfony/dotenv.git", 1196 | "reference": "9f3074b55bc56627f61fb2c17d573ee7df8e1319" 1197 | }, 1198 | "dist": { 1199 | "type": "zip", 1200 | "url": "https://api.github.com/repos/symfony/dotenv/zipball/9f3074b55bc56627f61fb2c17d573ee7df8e1319", 1201 | "reference": "9f3074b55bc56627f61fb2c17d573ee7df8e1319", 1202 | "shasum": "" 1203 | }, 1204 | "require": { 1205 | "php": "^7.1.3" 1206 | }, 1207 | "require-dev": { 1208 | "symfony/process": "~3.4|~4.0" 1209 | }, 1210 | "type": "library", 1211 | "extra": { 1212 | "branch-alias": { 1213 | "dev-master": "4.1-dev" 1214 | } 1215 | }, 1216 | "autoload": { 1217 | "psr-4": { 1218 | "Symfony\\Component\\Dotenv\\": "" 1219 | }, 1220 | "exclude-from-classmap": [ 1221 | "/Tests/" 1222 | ] 1223 | }, 1224 | "notification-url": "https://packagist.org/downloads/", 1225 | "license": [ 1226 | "MIT" 1227 | ], 1228 | "authors": [ 1229 | { 1230 | "name": "Fabien Potencier", 1231 | "email": "fabien@symfony.com" 1232 | }, 1233 | { 1234 | "name": "Symfony Community", 1235 | "homepage": "https://symfony.com/contributors" 1236 | } 1237 | ], 1238 | "description": "Registers environment variables from a .env file", 1239 | "homepage": "https://symfony.com", 1240 | "keywords": [ 1241 | "dotenv", 1242 | "env", 1243 | "environment" 1244 | ], 1245 | "time": "2018-10-12T12:56:03+00:00" 1246 | } 1247 | ], 1248 | "aliases": [], 1249 | "minimum-stability": "stable", 1250 | "stability-flags": [], 1251 | "prefer-stable": false, 1252 | "prefer-lowest": false, 1253 | "platform": { 1254 | "php": "^7.1.3", 1255 | "ext-ctype": "*", 1256 | "ext-iconv": "*" 1257 | }, 1258 | "platform-dev": [] 1259 | } 1260 | --------------------------------------------------------------------------------