├── .gitignore ├── test ├── Unit │ └── .gitignore ├── Integration │ └── .gitignore └── Specification │ ├── Blog │ ├── BlogPostContext.php │ └── BlogPostCommentsContext.php │ └── Authentication │ └── AuthenticationContext.php ├── data ├── proxies │ └── .gitignore └── .gitignore ├── run.sh ├── src └── Authentication │ ├── Entity │ └── User.php │ └── Repository │ └── Users.php ├── cli-config.php ├── public ├── login-form.php ├── register-form.php ├── register.php └── login.php ├── feature ├── blog-post.feature ├── authentication.feature ├── blog-post-comments.feature └── hotel-room-booking.feature ├── mapping └── Authentication.Entity.User.dcm.xml ├── behat.yml ├── composer.json ├── README.md ├── bootstrap.php └── composer.lock /.gitignore: -------------------------------------------------------------------------------- 1 | vendor -------------------------------------------------------------------------------- /test/Unit/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/Integration/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data/proxies/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /data/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | !proxies -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | php -S localhost:8080 -t public 4 | -------------------------------------------------------------------------------- /src/Authentication/Entity/User.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /public/register-form.php: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 | -------------------------------------------------------------------------------- /feature/blog-post.feature: -------------------------------------------------------------------------------- 1 | Feature: A user can create blog posts 2 | 3 | Scenario: an authenticated user can create blog posts 4 | Given an authenticated user 5 | When the user creates a new blog post 6 | Then the blog post can be viewed 7 | And the blog post author corresponds to the user that created it 8 | -------------------------------------------------------------------------------- /public/register.php: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /behat.yml: -------------------------------------------------------------------------------- 1 | default: 2 | suites: 3 | authentication: 4 | contexts: 5 | - 'Test\Specification\Authentication\AuthenticationContext' 6 | paths: 7 | - 'feature/authentication.feature' 8 | blog-post: 9 | contexts: 10 | - 'Test\Specification\Blog\BlogPostContext' 11 | - 'Test\Specification\Blog\BlogPostCommentsContext' 12 | paths: 13 | - 'feature/blog-post.feature' 14 | - 'feature/blog-post-comments.feature' 15 | -------------------------------------------------------------------------------- /feature/authentication.feature: -------------------------------------------------------------------------------- 1 | Feature: A user can log in and logout 2 | 3 | Scenario: a user can register with a valid email and password 4 | Given there are no registered users 5 | When a user registers with the website 6 | Then the user can log into the website 7 | 8 | Scenario: A user can log into the website 9 | Given there is a registered user 10 | Then the user can log into the website 11 | 12 | Scenario: A user cannot log into the website 13 | Given there is a registered user 14 | Then the user cannot log into the website with a non-matching password 15 | 16 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "php": "^7.1", 4 | "ext-pdo_sqlite": "*", 5 | "doctrine/dbal": "^2.7.1", 6 | "doctrine/orm": "^2.6.1", 7 | "doctrine/data-fixtures": "^1.3.0" 8 | }, 9 | "autoload": { 10 | "psr-4": { 11 | "Authentication\\": "src/Authentication" 12 | } 13 | }, 14 | "require-dev": { 15 | "phpunit/phpunit": "^7.1.5", 16 | "behat/behat": "^3.4.3" 17 | }, 18 | "autoload-dev": { 19 | "psr-4": { 20 | "Test\\Integration\\": "test/Integration", 21 | "Test\\Specification\\": "test/Specification", 22 | "Test\\Unit\\": "test/Unit" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /feature/blog-post-comments.feature: -------------------------------------------------------------------------------- 1 | Feature: Users can comment on blog posts of other users 2 | 3 | Scenario: an authenticated user can comment on a blog post 4 | Given an authenticated user and an existing blog post by another user 5 | When the user comments on the blog post 6 | Then the blog post comment can be viewed 7 | 8 | Scenario: the author of a blog post cannot comment on the blog post 9 | Given an authenticated user and an existing blog post by the same user 10 | Then the user cannot comment on the blog post 11 | 12 | Scenario: view most commented blog posts 13 | Given an existing set of blog posts with comments 14 | When I view the list of commented blog posts 15 | Then the list of popular commented blog posts should be sorted by comment count 16 | And the list of popular commented blog posts should be paginated 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Doctrine ORM and tactical DDD concepts 2 | 3 | This tutorial will introduce you to using Doctrine ORM together 4 | with tactical DDD concepts. 5 | 6 | Our approximate plan of operation: 7 | 8 | 1. Installation and hoping that it will go smoothly :-) 9 | 2. Getting started with a simplistic "already known" 10 | `Authentication` domain, *without* ORM 11 | 3. Discussion of the first implementations popping up 12 | 4. Introducing some DDD concepts: 13 | * Domain and Infrastructure 14 | * Value Object 15 | * Aggregate Root 16 | * Entity 17 | * Repository 18 | * Read Model 19 | 5. Looking at how to improve our `Authentication` code 20 | 6. Wiring the ORM into our `Authentication` code 21 | 7. Exploration and discussion of a new domain, one of either: 22 | * Blog Post 23 | * Hotel Booking 24 | 25 | ## Installation 26 | 27 | First, [install composer](https://getcomposer.org/download/). 28 | 29 | After that, you can run: 30 | 31 | ```sh 32 | composer install 33 | ``` 34 | -------------------------------------------------------------------------------- /bootstrap.php: -------------------------------------------------------------------------------- 1 | setMetadataDriverImpl(new XmlDriver(__DIR__ . '/mapping')); 15 | 16 | // This is needed for Doctrine to generate files required for lazy-loading 17 | $configuration->setProxyDir(sys_get_temp_dir()); 18 | $configuration->setProxyNamespace('ProxyExample'); 19 | 20 | // We are telling Doctrine to always generate files required for lazy-loading. This is a slow operation, 21 | // and shouldn't be done in a production environment. 22 | $configuration->setAutoGenerateProxyClasses(ProxyFactory::AUTOGENERATE_ALWAYS); 23 | 24 | // Finally creating the EntityManager: our entry point for the ORM 25 | return EntityManager::create( 26 | [ 27 | 'driverClass' => Driver::class, 28 | 'path' => __DIR__ . '/data/test-db.sqlite', 29 | ], 30 | $configuration 31 | ); 32 | -------------------------------------------------------------------------------- /feature/hotel-room-booking.feature: -------------------------------------------------------------------------------- 1 | Feature: Rooms can be booked 2 | 3 | Background: 4 | Given following room availability: 5 | | Room number | Date | Price (EUR) | Maximum PAX | 6 | | 101 | 2017-06-01 | 100 | 2 | 7 | | 101 | 2017-06-02 | 105 | 2 | 8 | | 101 | 2017-06-03 | 103 | 2 | 9 | | 101 | 2017-06-04 | 110 | 2 | 10 | | 102 | 2017-06-01 | 100 | 2 | 11 | | 102 | 2017-06-02 | 105 | 2 | 12 | | 102 | 2017-06-03 | 103 | 2 | 13 | | 102 | 2017-06-04 | 110 | 2 | 14 | | 103 | 2017-06-01 | 200 | 4 | 15 | | 103 | 2017-06-02 | 210 | 4 | 16 | | 103 | 2017-06-03 | 206 | 4 | 17 | | 103 | 2017-06-04 | 220 | 4 | 18 | | 104 | 2017-07-01 | 200 | 4 | 19 | | 104 | 2017-07-02 | 210 | 4 | 20 | | 104 | 2017-07-04 | 220 | 4 | 21 | And "Leia Organa" is a registered user 22 | And a tax rate of 7% 23 | 24 | Scenario: successful room reservation 25 | When "Leia Organa" reserves a room for 2 people for the period 2017-06-02~2017-06-04 26 | Then "Leia Organa" has been charged 340.26 EUR 27 | And "Leia Organa" has been sent a confirmation for a reservation for room 101 for the period 2017-06-02~2017-06-04 28 | And the rooms available for the period 2017-06-02~2017-06-04 became: 29 | | Room number | 30 | | 102 | 31 | | 103 | 32 | 33 | # scenario proposals here: 34 | 35 | -------------------------------------------------------------------------------- /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#installing-dependencies", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "7f3ff0487ee2d8a23144cedf60313fd8", 8 | "packages": [ 9 | { 10 | "name": "doctrine/annotations", 11 | "version": "v1.6.0", 12 | "source": { 13 | "type": "git", 14 | "url": "https://github.com/doctrine/annotations.git", 15 | "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5" 16 | }, 17 | "dist": { 18 | "type": "zip", 19 | "url": "https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", 20 | "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", 21 | "shasum": "" 22 | }, 23 | "require": { 24 | "doctrine/lexer": "1.*", 25 | "php": "^7.1" 26 | }, 27 | "require-dev": { 28 | "doctrine/cache": "1.*", 29 | "phpunit/phpunit": "^6.4" 30 | }, 31 | "type": "library", 32 | "extra": { 33 | "branch-alias": { 34 | "dev-master": "1.6.x-dev" 35 | } 36 | }, 37 | "autoload": { 38 | "psr-4": { 39 | "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" 40 | } 41 | }, 42 | "notification-url": "https://packagist.org/downloads/", 43 | "license": [ 44 | "MIT" 45 | ], 46 | "authors": [ 47 | { 48 | "name": "Roman Borschel", 49 | "email": "roman@code-factory.org" 50 | }, 51 | { 52 | "name": "Benjamin Eberlei", 53 | "email": "kontakt@beberlei.de" 54 | }, 55 | { 56 | "name": "Guilherme Blanco", 57 | "email": "guilhermeblanco@gmail.com" 58 | }, 59 | { 60 | "name": "Jonathan Wage", 61 | "email": "jonwage@gmail.com" 62 | }, 63 | { 64 | "name": "Johannes Schmitt", 65 | "email": "schmittjoh@gmail.com" 66 | } 67 | ], 68 | "description": "Docblock Annotations Parser", 69 | "homepage": "http://www.doctrine-project.org", 70 | "keywords": [ 71 | "annotations", 72 | "docblock", 73 | "parser" 74 | ], 75 | "time": "2017-12-06T07:11:42+00:00" 76 | }, 77 | { 78 | "name": "doctrine/cache", 79 | "version": "v1.7.1", 80 | "source": { 81 | "type": "git", 82 | "url": "https://github.com/doctrine/cache.git", 83 | "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a" 84 | }, 85 | "dist": { 86 | "type": "zip", 87 | "url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a", 88 | "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a", 89 | "shasum": "" 90 | }, 91 | "require": { 92 | "php": "~7.1" 93 | }, 94 | "conflict": { 95 | "doctrine/common": ">2.2,<2.4" 96 | }, 97 | "require-dev": { 98 | "alcaeus/mongo-php-adapter": "^1.1", 99 | "mongodb/mongodb": "^1.1", 100 | "phpunit/phpunit": "^5.7", 101 | "predis/predis": "~1.0" 102 | }, 103 | "suggest": { 104 | "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" 105 | }, 106 | "type": "library", 107 | "extra": { 108 | "branch-alias": { 109 | "dev-master": "1.7.x-dev" 110 | } 111 | }, 112 | "autoload": { 113 | "psr-4": { 114 | "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" 115 | } 116 | }, 117 | "notification-url": "https://packagist.org/downloads/", 118 | "license": [ 119 | "MIT" 120 | ], 121 | "authors": [ 122 | { 123 | "name": "Roman Borschel", 124 | "email": "roman@code-factory.org" 125 | }, 126 | { 127 | "name": "Benjamin Eberlei", 128 | "email": "kontakt@beberlei.de" 129 | }, 130 | { 131 | "name": "Guilherme Blanco", 132 | "email": "guilhermeblanco@gmail.com" 133 | }, 134 | { 135 | "name": "Jonathan Wage", 136 | "email": "jonwage@gmail.com" 137 | }, 138 | { 139 | "name": "Johannes Schmitt", 140 | "email": "schmittjoh@gmail.com" 141 | } 142 | ], 143 | "description": "Caching library offering an object-oriented API for many cache backends", 144 | "homepage": "http://www.doctrine-project.org", 145 | "keywords": [ 146 | "cache", 147 | "caching" 148 | ], 149 | "time": "2017-08-25T07:02:50+00:00" 150 | }, 151 | { 152 | "name": "doctrine/collections", 153 | "version": "v1.5.0", 154 | "source": { 155 | "type": "git", 156 | "url": "https://github.com/doctrine/collections.git", 157 | "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf" 158 | }, 159 | "dist": { 160 | "type": "zip", 161 | "url": "https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf", 162 | "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf", 163 | "shasum": "" 164 | }, 165 | "require": { 166 | "php": "^7.1" 167 | }, 168 | "require-dev": { 169 | "doctrine/coding-standard": "~0.1@dev", 170 | "phpunit/phpunit": "^5.7" 171 | }, 172 | "type": "library", 173 | "extra": { 174 | "branch-alias": { 175 | "dev-master": "1.3.x-dev" 176 | } 177 | }, 178 | "autoload": { 179 | "psr-0": { 180 | "Doctrine\\Common\\Collections\\": "lib/" 181 | } 182 | }, 183 | "notification-url": "https://packagist.org/downloads/", 184 | "license": [ 185 | "MIT" 186 | ], 187 | "authors": [ 188 | { 189 | "name": "Roman Borschel", 190 | "email": "roman@code-factory.org" 191 | }, 192 | { 193 | "name": "Benjamin Eberlei", 194 | "email": "kontakt@beberlei.de" 195 | }, 196 | { 197 | "name": "Guilherme Blanco", 198 | "email": "guilhermeblanco@gmail.com" 199 | }, 200 | { 201 | "name": "Jonathan Wage", 202 | "email": "jonwage@gmail.com" 203 | }, 204 | { 205 | "name": "Johannes Schmitt", 206 | "email": "schmittjoh@gmail.com" 207 | } 208 | ], 209 | "description": "Collections Abstraction library", 210 | "homepage": "http://www.doctrine-project.org", 211 | "keywords": [ 212 | "array", 213 | "collections", 214 | "iterator" 215 | ], 216 | "time": "2017-07-22T10:37:32+00:00" 217 | }, 218 | { 219 | "name": "doctrine/common", 220 | "version": "v2.8.1", 221 | "source": { 222 | "type": "git", 223 | "url": "https://github.com/doctrine/common.git", 224 | "reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66" 225 | }, 226 | "dist": { 227 | "type": "zip", 228 | "url": "https://api.github.com/repos/doctrine/common/zipball/f68c297ce6455e8fd794aa8ffaf9fa458f6ade66", 229 | "reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66", 230 | "shasum": "" 231 | }, 232 | "require": { 233 | "doctrine/annotations": "1.*", 234 | "doctrine/cache": "1.*", 235 | "doctrine/collections": "1.*", 236 | "doctrine/inflector": "1.*", 237 | "doctrine/lexer": "1.*", 238 | "php": "~7.1" 239 | }, 240 | "require-dev": { 241 | "phpunit/phpunit": "^5.7" 242 | }, 243 | "type": "library", 244 | "extra": { 245 | "branch-alias": { 246 | "dev-master": "2.8.x-dev" 247 | } 248 | }, 249 | "autoload": { 250 | "psr-4": { 251 | "Doctrine\\Common\\": "lib/Doctrine/Common" 252 | } 253 | }, 254 | "notification-url": "https://packagist.org/downloads/", 255 | "license": [ 256 | "MIT" 257 | ], 258 | "authors": [ 259 | { 260 | "name": "Roman Borschel", 261 | "email": "roman@code-factory.org" 262 | }, 263 | { 264 | "name": "Benjamin Eberlei", 265 | "email": "kontakt@beberlei.de" 266 | }, 267 | { 268 | "name": "Guilherme Blanco", 269 | "email": "guilhermeblanco@gmail.com" 270 | }, 271 | { 272 | "name": "Jonathan Wage", 273 | "email": "jonwage@gmail.com" 274 | }, 275 | { 276 | "name": "Johannes Schmitt", 277 | "email": "schmittjoh@gmail.com" 278 | } 279 | ], 280 | "description": "Common Library for Doctrine projects", 281 | "homepage": "http://www.doctrine-project.org", 282 | "keywords": [ 283 | "annotations", 284 | "collections", 285 | "eventmanager", 286 | "persistence", 287 | "spl" 288 | ], 289 | "time": "2017-08-31T08:43:38+00:00" 290 | }, 291 | { 292 | "name": "doctrine/data-fixtures", 293 | "version": "v1.3.0", 294 | "source": { 295 | "type": "git", 296 | "url": "https://github.com/doctrine/data-fixtures.git", 297 | "reference": "7b76ccc8e648c4502aad7f61347326c8a072bd3b" 298 | }, 299 | "dist": { 300 | "type": "zip", 301 | "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/7b76ccc8e648c4502aad7f61347326c8a072bd3b", 302 | "reference": "7b76ccc8e648c4502aad7f61347326c8a072bd3b", 303 | "shasum": "" 304 | }, 305 | "require": { 306 | "doctrine/common": "~2.2", 307 | "php": "^7.1" 308 | }, 309 | "require-dev": { 310 | "doctrine/dbal": "^2.5.4", 311 | "doctrine/orm": "^2.5.4", 312 | "phpunit/phpunit": "^6.3" 313 | }, 314 | "suggest": { 315 | "alcaeus/mongo-php-adapter": "For using MongoDB ODM with PHP 7", 316 | "doctrine/mongodb-odm": "For loading MongoDB ODM fixtures", 317 | "doctrine/orm": "For loading ORM fixtures", 318 | "doctrine/phpcr-odm": "For loading PHPCR ODM fixtures" 319 | }, 320 | "type": "library", 321 | "extra": { 322 | "branch-alias": { 323 | "dev-master": "1.3.x-dev" 324 | } 325 | }, 326 | "autoload": { 327 | "psr-4": { 328 | "Doctrine\\Common\\DataFixtures\\": "lib/Doctrine/Common/DataFixtures" 329 | } 330 | }, 331 | "notification-url": "https://packagist.org/downloads/", 332 | "license": [ 333 | "MIT" 334 | ], 335 | "authors": [ 336 | { 337 | "name": "Jonathan Wage", 338 | "email": "jonwage@gmail.com" 339 | } 340 | ], 341 | "description": "Data Fixtures for all Doctrine Object Managers", 342 | "homepage": "http://www.doctrine-project.org", 343 | "keywords": [ 344 | "database" 345 | ], 346 | "time": "2017-11-27T18:48:06+00:00" 347 | }, 348 | { 349 | "name": "doctrine/dbal", 350 | "version": "v2.7.1", 351 | "source": { 352 | "type": "git", 353 | "url": "https://github.com/doctrine/dbal.git", 354 | "reference": "11037b4352c008373561dc6fc836834eed80c3b5" 355 | }, 356 | "dist": { 357 | "type": "zip", 358 | "url": "https://api.github.com/repos/doctrine/dbal/zipball/11037b4352c008373561dc6fc836834eed80c3b5", 359 | "reference": "11037b4352c008373561dc6fc836834eed80c3b5", 360 | "shasum": "" 361 | }, 362 | "require": { 363 | "doctrine/common": "^2.7.1", 364 | "ext-pdo": "*", 365 | "php": "^7.1" 366 | }, 367 | "require-dev": { 368 | "doctrine/coding-standard": "^4.0", 369 | "phpunit/phpunit": "^7.0", 370 | "phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5", 371 | "symfony/console": "^2.0.5||^3.0", 372 | "symfony/phpunit-bridge": "^3.4.5|^4.0.5" 373 | }, 374 | "suggest": { 375 | "symfony/console": "For helpful console commands such as SQL execution and import of files." 376 | }, 377 | "bin": [ 378 | "bin/doctrine-dbal" 379 | ], 380 | "type": "library", 381 | "extra": { 382 | "branch-alias": { 383 | "dev-master": "2.7.x-dev" 384 | } 385 | }, 386 | "autoload": { 387 | "psr-0": { 388 | "Doctrine\\DBAL\\": "lib/" 389 | } 390 | }, 391 | "notification-url": "https://packagist.org/downloads/", 392 | "license": [ 393 | "MIT" 394 | ], 395 | "authors": [ 396 | { 397 | "name": "Roman Borschel", 398 | "email": "roman@code-factory.org" 399 | }, 400 | { 401 | "name": "Benjamin Eberlei", 402 | "email": "kontakt@beberlei.de" 403 | }, 404 | { 405 | "name": "Guilherme Blanco", 406 | "email": "guilhermeblanco@gmail.com" 407 | }, 408 | { 409 | "name": "Jonathan Wage", 410 | "email": "jonwage@gmail.com" 411 | } 412 | ], 413 | "description": "Database Abstraction Layer", 414 | "homepage": "http://www.doctrine-project.org", 415 | "keywords": [ 416 | "database", 417 | "dbal", 418 | "persistence", 419 | "queryobject" 420 | ], 421 | "time": "2018-04-07T18:44:18+00:00" 422 | }, 423 | { 424 | "name": "doctrine/inflector", 425 | "version": "v1.3.0", 426 | "source": { 427 | "type": "git", 428 | "url": "https://github.com/doctrine/inflector.git", 429 | "reference": "5527a48b7313d15261292c149e55e26eae771b0a" 430 | }, 431 | "dist": { 432 | "type": "zip", 433 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", 434 | "reference": "5527a48b7313d15261292c149e55e26eae771b0a", 435 | "shasum": "" 436 | }, 437 | "require": { 438 | "php": "^7.1" 439 | }, 440 | "require-dev": { 441 | "phpunit/phpunit": "^6.2" 442 | }, 443 | "type": "library", 444 | "extra": { 445 | "branch-alias": { 446 | "dev-master": "1.3.x-dev" 447 | } 448 | }, 449 | "autoload": { 450 | "psr-4": { 451 | "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" 452 | } 453 | }, 454 | "notification-url": "https://packagist.org/downloads/", 455 | "license": [ 456 | "MIT" 457 | ], 458 | "authors": [ 459 | { 460 | "name": "Roman Borschel", 461 | "email": "roman@code-factory.org" 462 | }, 463 | { 464 | "name": "Benjamin Eberlei", 465 | "email": "kontakt@beberlei.de" 466 | }, 467 | { 468 | "name": "Guilherme Blanco", 469 | "email": "guilhermeblanco@gmail.com" 470 | }, 471 | { 472 | "name": "Jonathan Wage", 473 | "email": "jonwage@gmail.com" 474 | }, 475 | { 476 | "name": "Johannes Schmitt", 477 | "email": "schmittjoh@gmail.com" 478 | } 479 | ], 480 | "description": "Common String Manipulations with regard to casing and singular/plural rules.", 481 | "homepage": "http://www.doctrine-project.org", 482 | "keywords": [ 483 | "inflection", 484 | "pluralize", 485 | "singularize", 486 | "string" 487 | ], 488 | "time": "2018-01-09T20:05:19+00:00" 489 | }, 490 | { 491 | "name": "doctrine/instantiator", 492 | "version": "1.1.0", 493 | "source": { 494 | "type": "git", 495 | "url": "https://github.com/doctrine/instantiator.git", 496 | "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" 497 | }, 498 | "dist": { 499 | "type": "zip", 500 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", 501 | "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", 502 | "shasum": "" 503 | }, 504 | "require": { 505 | "php": "^7.1" 506 | }, 507 | "require-dev": { 508 | "athletic/athletic": "~0.1.8", 509 | "ext-pdo": "*", 510 | "ext-phar": "*", 511 | "phpunit/phpunit": "^6.2.3", 512 | "squizlabs/php_codesniffer": "^3.0.2" 513 | }, 514 | "type": "library", 515 | "extra": { 516 | "branch-alias": { 517 | "dev-master": "1.2.x-dev" 518 | } 519 | }, 520 | "autoload": { 521 | "psr-4": { 522 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 523 | } 524 | }, 525 | "notification-url": "https://packagist.org/downloads/", 526 | "license": [ 527 | "MIT" 528 | ], 529 | "authors": [ 530 | { 531 | "name": "Marco Pivetta", 532 | "email": "ocramius@gmail.com", 533 | "homepage": "http://ocramius.github.com/" 534 | } 535 | ], 536 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 537 | "homepage": "https://github.com/doctrine/instantiator", 538 | "keywords": [ 539 | "constructor", 540 | "instantiate" 541 | ], 542 | "time": "2017-07-22T11:58:36+00:00" 543 | }, 544 | { 545 | "name": "doctrine/lexer", 546 | "version": "v1.0.1", 547 | "source": { 548 | "type": "git", 549 | "url": "https://github.com/doctrine/lexer.git", 550 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" 551 | }, 552 | "dist": { 553 | "type": "zip", 554 | "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", 555 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", 556 | "shasum": "" 557 | }, 558 | "require": { 559 | "php": ">=5.3.2" 560 | }, 561 | "type": "library", 562 | "extra": { 563 | "branch-alias": { 564 | "dev-master": "1.0.x-dev" 565 | } 566 | }, 567 | "autoload": { 568 | "psr-0": { 569 | "Doctrine\\Common\\Lexer\\": "lib/" 570 | } 571 | }, 572 | "notification-url": "https://packagist.org/downloads/", 573 | "license": [ 574 | "MIT" 575 | ], 576 | "authors": [ 577 | { 578 | "name": "Roman Borschel", 579 | "email": "roman@code-factory.org" 580 | }, 581 | { 582 | "name": "Guilherme Blanco", 583 | "email": "guilhermeblanco@gmail.com" 584 | }, 585 | { 586 | "name": "Johannes Schmitt", 587 | "email": "schmittjoh@gmail.com" 588 | } 589 | ], 590 | "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", 591 | "homepage": "http://www.doctrine-project.org", 592 | "keywords": [ 593 | "lexer", 594 | "parser" 595 | ], 596 | "time": "2014-09-09T13:34:57+00:00" 597 | }, 598 | { 599 | "name": "doctrine/orm", 600 | "version": "v2.6.1", 601 | "source": { 602 | "type": "git", 603 | "url": "https://github.com/doctrine/doctrine2.git", 604 | "reference": "87ee409783a4a322b5597ebaae558661404055a7" 605 | }, 606 | "dist": { 607 | "type": "zip", 608 | "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/87ee409783a4a322b5597ebaae558661404055a7", 609 | "reference": "87ee409783a4a322b5597ebaae558661404055a7", 610 | "shasum": "" 611 | }, 612 | "require": { 613 | "doctrine/annotations": "~1.5", 614 | "doctrine/cache": "~1.6", 615 | "doctrine/collections": "^1.4", 616 | "doctrine/common": "^2.7.1", 617 | "doctrine/dbal": "^2.6", 618 | "doctrine/instantiator": "~1.1", 619 | "ext-pdo": "*", 620 | "php": "^7.1", 621 | "symfony/console": "~3.0|~4.0" 622 | }, 623 | "require-dev": { 624 | "doctrine/coding-standard": "^1.0", 625 | "phpunit/phpunit": "^6.5", 626 | "squizlabs/php_codesniffer": "^3.2", 627 | "symfony/yaml": "~3.4|~4.0" 628 | }, 629 | "suggest": { 630 | "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" 631 | }, 632 | "bin": [ 633 | "bin/doctrine" 634 | ], 635 | "type": "library", 636 | "extra": { 637 | "branch-alias": { 638 | "dev-master": "2.6.x-dev" 639 | } 640 | }, 641 | "autoload": { 642 | "psr-4": { 643 | "Doctrine\\ORM\\": "lib/Doctrine/ORM" 644 | } 645 | }, 646 | "notification-url": "https://packagist.org/downloads/", 647 | "license": [ 648 | "MIT" 649 | ], 650 | "authors": [ 651 | { 652 | "name": "Roman Borschel", 653 | "email": "roman@code-factory.org" 654 | }, 655 | { 656 | "name": "Benjamin Eberlei", 657 | "email": "kontakt@beberlei.de" 658 | }, 659 | { 660 | "name": "Guilherme Blanco", 661 | "email": "guilhermeblanco@gmail.com" 662 | }, 663 | { 664 | "name": "Jonathan Wage", 665 | "email": "jonwage@gmail.com" 666 | }, 667 | { 668 | "name": "Marco Pivetta", 669 | "email": "ocramius@gmail.com" 670 | } 671 | ], 672 | "description": "Object-Relational-Mapper for PHP", 673 | "homepage": "http://www.doctrine-project.org", 674 | "keywords": [ 675 | "database", 676 | "orm" 677 | ], 678 | "time": "2018-02-27T07:30:56+00:00" 679 | }, 680 | { 681 | "name": "symfony/console", 682 | "version": "v4.0.9", 683 | "source": { 684 | "type": "git", 685 | "url": "https://github.com/symfony/console.git", 686 | "reference": "3e820bc2c520a87ca209ad8fa961c97f42e0b4ae" 687 | }, 688 | "dist": { 689 | "type": "zip", 690 | "url": "https://api.github.com/repos/symfony/console/zipball/3e820bc2c520a87ca209ad8fa961c97f42e0b4ae", 691 | "reference": "3e820bc2c520a87ca209ad8fa961c97f42e0b4ae", 692 | "shasum": "" 693 | }, 694 | "require": { 695 | "php": "^7.1.3", 696 | "symfony/polyfill-mbstring": "~1.0" 697 | }, 698 | "conflict": { 699 | "symfony/dependency-injection": "<3.4", 700 | "symfony/process": "<3.3" 701 | }, 702 | "require-dev": { 703 | "psr/log": "~1.0", 704 | "symfony/config": "~3.4|~4.0", 705 | "symfony/dependency-injection": "~3.4|~4.0", 706 | "symfony/event-dispatcher": "~3.4|~4.0", 707 | "symfony/lock": "~3.4|~4.0", 708 | "symfony/process": "~3.4|~4.0" 709 | }, 710 | "suggest": { 711 | "psr/log-implementation": "For using the console logger", 712 | "symfony/event-dispatcher": "", 713 | "symfony/lock": "", 714 | "symfony/process": "" 715 | }, 716 | "type": "library", 717 | "extra": { 718 | "branch-alias": { 719 | "dev-master": "4.0-dev" 720 | } 721 | }, 722 | "autoload": { 723 | "psr-4": { 724 | "Symfony\\Component\\Console\\": "" 725 | }, 726 | "exclude-from-classmap": [ 727 | "/Tests/" 728 | ] 729 | }, 730 | "notification-url": "https://packagist.org/downloads/", 731 | "license": [ 732 | "MIT" 733 | ], 734 | "authors": [ 735 | { 736 | "name": "Fabien Potencier", 737 | "email": "fabien@symfony.com" 738 | }, 739 | { 740 | "name": "Symfony Community", 741 | "homepage": "https://symfony.com/contributors" 742 | } 743 | ], 744 | "description": "Symfony Console Component", 745 | "homepage": "https://symfony.com", 746 | "time": "2018-04-30T01:23:47+00:00" 747 | }, 748 | { 749 | "name": "symfony/polyfill-mbstring", 750 | "version": "v1.8.0", 751 | "source": { 752 | "type": "git", 753 | "url": "https://github.com/symfony/polyfill-mbstring.git", 754 | "reference": "3296adf6a6454a050679cde90f95350ad604b171" 755 | }, 756 | "dist": { 757 | "type": "zip", 758 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", 759 | "reference": "3296adf6a6454a050679cde90f95350ad604b171", 760 | "shasum": "" 761 | }, 762 | "require": { 763 | "php": ">=5.3.3" 764 | }, 765 | "suggest": { 766 | "ext-mbstring": "For best performance" 767 | }, 768 | "type": "library", 769 | "extra": { 770 | "branch-alias": { 771 | "dev-master": "1.8-dev" 772 | } 773 | }, 774 | "autoload": { 775 | "psr-4": { 776 | "Symfony\\Polyfill\\Mbstring\\": "" 777 | }, 778 | "files": [ 779 | "bootstrap.php" 780 | ] 781 | }, 782 | "notification-url": "https://packagist.org/downloads/", 783 | "license": [ 784 | "MIT" 785 | ], 786 | "authors": [ 787 | { 788 | "name": "Nicolas Grekas", 789 | "email": "p@tchwork.com" 790 | }, 791 | { 792 | "name": "Symfony Community", 793 | "homepage": "https://symfony.com/contributors" 794 | } 795 | ], 796 | "description": "Symfony polyfill for the Mbstring extension", 797 | "homepage": "https://symfony.com", 798 | "keywords": [ 799 | "compatibility", 800 | "mbstring", 801 | "polyfill", 802 | "portable", 803 | "shim" 804 | ], 805 | "time": "2018-04-26T10:06:28+00:00" 806 | } 807 | ], 808 | "packages-dev": [ 809 | { 810 | "name": "behat/behat", 811 | "version": "v3.4.3", 812 | "source": { 813 | "type": "git", 814 | "url": "https://github.com/Behat/Behat.git", 815 | "reference": "d60b161bff1b95ec4bb80bb8cb210ccf890314c2" 816 | }, 817 | "dist": { 818 | "type": "zip", 819 | "url": "https://api.github.com/repos/Behat/Behat/zipball/d60b161bff1b95ec4bb80bb8cb210ccf890314c2", 820 | "reference": "d60b161bff1b95ec4bb80bb8cb210ccf890314c2", 821 | "shasum": "" 822 | }, 823 | "require": { 824 | "behat/gherkin": "^4.5.1", 825 | "behat/transliterator": "^1.2", 826 | "container-interop/container-interop": "^1.2", 827 | "ext-mbstring": "*", 828 | "php": ">=5.3.3", 829 | "psr/container": "^1.0", 830 | "symfony/class-loader": "~2.1||~3.0||~4.0", 831 | "symfony/config": "~2.3||~3.0||~4.0", 832 | "symfony/console": "~2.5||~3.0||~4.0", 833 | "symfony/dependency-injection": "~2.1||~3.0||~4.0", 834 | "symfony/event-dispatcher": "~2.1||~3.0||~4.0", 835 | "symfony/translation": "~2.3||~3.0||~4.0", 836 | "symfony/yaml": "~2.1||~3.0||~4.0" 837 | }, 838 | "require-dev": { 839 | "herrera-io/box": "~1.6.1", 840 | "phpunit/phpunit": "^4.8.36|^6.3", 841 | "symfony/process": "~2.5|~3.0|~4.0" 842 | }, 843 | "suggest": { 844 | "behat/mink-extension": "for integration with Mink testing framework", 845 | "behat/symfony2-extension": "for integration with Symfony2 web framework", 846 | "behat/yii-extension": "for integration with Yii web framework" 847 | }, 848 | "bin": [ 849 | "bin/behat" 850 | ], 851 | "type": "library", 852 | "extra": { 853 | "branch-alias": { 854 | "dev-master": "3.2.x-dev" 855 | } 856 | }, 857 | "autoload": { 858 | "psr-0": { 859 | "Behat\\Behat": "src/", 860 | "Behat\\Testwork": "src/" 861 | } 862 | }, 863 | "notification-url": "https://packagist.org/downloads/", 864 | "license": [ 865 | "MIT" 866 | ], 867 | "authors": [ 868 | { 869 | "name": "Konstantin Kudryashov", 870 | "email": "ever.zet@gmail.com", 871 | "homepage": "http://everzet.com" 872 | } 873 | ], 874 | "description": "Scenario-oriented BDD framework for PHP 5.3", 875 | "homepage": "http://behat.org/", 876 | "keywords": [ 877 | "Agile", 878 | "BDD", 879 | "ScenarioBDD", 880 | "Scrum", 881 | "StoryBDD", 882 | "User story", 883 | "business", 884 | "development", 885 | "documentation", 886 | "examples", 887 | "symfony", 888 | "testing" 889 | ], 890 | "time": "2017-11-27T10:37:56+00:00" 891 | }, 892 | { 893 | "name": "behat/gherkin", 894 | "version": "v4.5.1", 895 | "source": { 896 | "type": "git", 897 | "url": "https://github.com/Behat/Gherkin.git", 898 | "reference": "74ac03d52c5e23ad8abd5c5cce4ab0e8dc1b530a" 899 | }, 900 | "dist": { 901 | "type": "zip", 902 | "url": "https://api.github.com/repos/Behat/Gherkin/zipball/74ac03d52c5e23ad8abd5c5cce4ab0e8dc1b530a", 903 | "reference": "74ac03d52c5e23ad8abd5c5cce4ab0e8dc1b530a", 904 | "shasum": "" 905 | }, 906 | "require": { 907 | "php": ">=5.3.1" 908 | }, 909 | "require-dev": { 910 | "phpunit/phpunit": "~4.5|~5", 911 | "symfony/phpunit-bridge": "~2.7|~3", 912 | "symfony/yaml": "~2.3|~3" 913 | }, 914 | "suggest": { 915 | "symfony/yaml": "If you want to parse features, represented in YAML files" 916 | }, 917 | "type": "library", 918 | "extra": { 919 | "branch-alias": { 920 | "dev-master": "4.4-dev" 921 | } 922 | }, 923 | "autoload": { 924 | "psr-0": { 925 | "Behat\\Gherkin": "src/" 926 | } 927 | }, 928 | "notification-url": "https://packagist.org/downloads/", 929 | "license": [ 930 | "MIT" 931 | ], 932 | "authors": [ 933 | { 934 | "name": "Konstantin Kudryashov", 935 | "email": "ever.zet@gmail.com", 936 | "homepage": "http://everzet.com" 937 | } 938 | ], 939 | "description": "Gherkin DSL parser for PHP 5.3", 940 | "homepage": "http://behat.org/", 941 | "keywords": [ 942 | "BDD", 943 | "Behat", 944 | "Cucumber", 945 | "DSL", 946 | "gherkin", 947 | "parser" 948 | ], 949 | "time": "2017-08-30T11:04:43+00:00" 950 | }, 951 | { 952 | "name": "behat/transliterator", 953 | "version": "v1.2.0", 954 | "source": { 955 | "type": "git", 956 | "url": "https://github.com/Behat/Transliterator.git", 957 | "reference": "826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c" 958 | }, 959 | "dist": { 960 | "type": "zip", 961 | "url": "https://api.github.com/repos/Behat/Transliterator/zipball/826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c", 962 | "reference": "826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c", 963 | "shasum": "" 964 | }, 965 | "require": { 966 | "php": ">=5.3.3" 967 | }, 968 | "require-dev": { 969 | "chuyskywalker/rolling-curl": "^3.1", 970 | "php-yaoi/php-yaoi": "^1.0" 971 | }, 972 | "type": "library", 973 | "extra": { 974 | "branch-alias": { 975 | "dev-master": "1.2-dev" 976 | } 977 | }, 978 | "autoload": { 979 | "psr-0": { 980 | "Behat\\Transliterator": "src/" 981 | } 982 | }, 983 | "notification-url": "https://packagist.org/downloads/", 984 | "license": [ 985 | "Artistic-1.0" 986 | ], 987 | "description": "String transliterator", 988 | "keywords": [ 989 | "i18n", 990 | "slug", 991 | "transliterator" 992 | ], 993 | "time": "2017-04-04T11:38:05+00:00" 994 | }, 995 | { 996 | "name": "container-interop/container-interop", 997 | "version": "1.2.0", 998 | "source": { 999 | "type": "git", 1000 | "url": "https://github.com/container-interop/container-interop.git", 1001 | "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8" 1002 | }, 1003 | "dist": { 1004 | "type": "zip", 1005 | "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8", 1006 | "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8", 1007 | "shasum": "" 1008 | }, 1009 | "require": { 1010 | "psr/container": "^1.0" 1011 | }, 1012 | "type": "library", 1013 | "autoload": { 1014 | "psr-4": { 1015 | "Interop\\Container\\": "src/Interop/Container/" 1016 | } 1017 | }, 1018 | "notification-url": "https://packagist.org/downloads/", 1019 | "license": [ 1020 | "MIT" 1021 | ], 1022 | "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", 1023 | "homepage": "https://github.com/container-interop/container-interop", 1024 | "time": "2017-02-14T19:40:03+00:00" 1025 | }, 1026 | { 1027 | "name": "myclabs/deep-copy", 1028 | "version": "1.7.0", 1029 | "source": { 1030 | "type": "git", 1031 | "url": "https://github.com/myclabs/DeepCopy.git", 1032 | "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" 1033 | }, 1034 | "dist": { 1035 | "type": "zip", 1036 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", 1037 | "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", 1038 | "shasum": "" 1039 | }, 1040 | "require": { 1041 | "php": "^5.6 || ^7.0" 1042 | }, 1043 | "require-dev": { 1044 | "doctrine/collections": "^1.0", 1045 | "doctrine/common": "^2.6", 1046 | "phpunit/phpunit": "^4.1" 1047 | }, 1048 | "type": "library", 1049 | "autoload": { 1050 | "psr-4": { 1051 | "DeepCopy\\": "src/DeepCopy/" 1052 | }, 1053 | "files": [ 1054 | "src/DeepCopy/deep_copy.php" 1055 | ] 1056 | }, 1057 | "notification-url": "https://packagist.org/downloads/", 1058 | "license": [ 1059 | "MIT" 1060 | ], 1061 | "description": "Create deep copies (clones) of your objects", 1062 | "keywords": [ 1063 | "clone", 1064 | "copy", 1065 | "duplicate", 1066 | "object", 1067 | "object graph" 1068 | ], 1069 | "time": "2017-10-19T19:58:43+00:00" 1070 | }, 1071 | { 1072 | "name": "phar-io/manifest", 1073 | "version": "1.0.1", 1074 | "source": { 1075 | "type": "git", 1076 | "url": "https://github.com/phar-io/manifest.git", 1077 | "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" 1078 | }, 1079 | "dist": { 1080 | "type": "zip", 1081 | "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", 1082 | "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", 1083 | "shasum": "" 1084 | }, 1085 | "require": { 1086 | "ext-dom": "*", 1087 | "ext-phar": "*", 1088 | "phar-io/version": "^1.0.1", 1089 | "php": "^5.6 || ^7.0" 1090 | }, 1091 | "type": "library", 1092 | "extra": { 1093 | "branch-alias": { 1094 | "dev-master": "1.0.x-dev" 1095 | } 1096 | }, 1097 | "autoload": { 1098 | "classmap": [ 1099 | "src/" 1100 | ] 1101 | }, 1102 | "notification-url": "https://packagist.org/downloads/", 1103 | "license": [ 1104 | "BSD-3-Clause" 1105 | ], 1106 | "authors": [ 1107 | { 1108 | "name": "Arne Blankerts", 1109 | "email": "arne@blankerts.de", 1110 | "role": "Developer" 1111 | }, 1112 | { 1113 | "name": "Sebastian Heuer", 1114 | "email": "sebastian@phpeople.de", 1115 | "role": "Developer" 1116 | }, 1117 | { 1118 | "name": "Sebastian Bergmann", 1119 | "email": "sebastian@phpunit.de", 1120 | "role": "Developer" 1121 | } 1122 | ], 1123 | "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", 1124 | "time": "2017-03-05T18:14:27+00:00" 1125 | }, 1126 | { 1127 | "name": "phar-io/version", 1128 | "version": "1.0.1", 1129 | "source": { 1130 | "type": "git", 1131 | "url": "https://github.com/phar-io/version.git", 1132 | "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" 1133 | }, 1134 | "dist": { 1135 | "type": "zip", 1136 | "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", 1137 | "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", 1138 | "shasum": "" 1139 | }, 1140 | "require": { 1141 | "php": "^5.6 || ^7.0" 1142 | }, 1143 | "type": "library", 1144 | "autoload": { 1145 | "classmap": [ 1146 | "src/" 1147 | ] 1148 | }, 1149 | "notification-url": "https://packagist.org/downloads/", 1150 | "license": [ 1151 | "BSD-3-Clause" 1152 | ], 1153 | "authors": [ 1154 | { 1155 | "name": "Arne Blankerts", 1156 | "email": "arne@blankerts.de", 1157 | "role": "Developer" 1158 | }, 1159 | { 1160 | "name": "Sebastian Heuer", 1161 | "email": "sebastian@phpeople.de", 1162 | "role": "Developer" 1163 | }, 1164 | { 1165 | "name": "Sebastian Bergmann", 1166 | "email": "sebastian@phpunit.de", 1167 | "role": "Developer" 1168 | } 1169 | ], 1170 | "description": "Library for handling version information and constraints", 1171 | "time": "2017-03-05T17:38:23+00:00" 1172 | }, 1173 | { 1174 | "name": "phpdocumentor/reflection-common", 1175 | "version": "1.0.1", 1176 | "source": { 1177 | "type": "git", 1178 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 1179 | "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" 1180 | }, 1181 | "dist": { 1182 | "type": "zip", 1183 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", 1184 | "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", 1185 | "shasum": "" 1186 | }, 1187 | "require": { 1188 | "php": ">=5.5" 1189 | }, 1190 | "require-dev": { 1191 | "phpunit/phpunit": "^4.6" 1192 | }, 1193 | "type": "library", 1194 | "extra": { 1195 | "branch-alias": { 1196 | "dev-master": "1.0.x-dev" 1197 | } 1198 | }, 1199 | "autoload": { 1200 | "psr-4": { 1201 | "phpDocumentor\\Reflection\\": [ 1202 | "src" 1203 | ] 1204 | } 1205 | }, 1206 | "notification-url": "https://packagist.org/downloads/", 1207 | "license": [ 1208 | "MIT" 1209 | ], 1210 | "authors": [ 1211 | { 1212 | "name": "Jaap van Otterdijk", 1213 | "email": "opensource@ijaap.nl" 1214 | } 1215 | ], 1216 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 1217 | "homepage": "http://www.phpdoc.org", 1218 | "keywords": [ 1219 | "FQSEN", 1220 | "phpDocumentor", 1221 | "phpdoc", 1222 | "reflection", 1223 | "static analysis" 1224 | ], 1225 | "time": "2017-09-11T18:02:19+00:00" 1226 | }, 1227 | { 1228 | "name": "phpdocumentor/reflection-docblock", 1229 | "version": "4.3.0", 1230 | "source": { 1231 | "type": "git", 1232 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 1233 | "reference": "94fd0001232e47129dd3504189fa1c7225010d08" 1234 | }, 1235 | "dist": { 1236 | "type": "zip", 1237 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", 1238 | "reference": "94fd0001232e47129dd3504189fa1c7225010d08", 1239 | "shasum": "" 1240 | }, 1241 | "require": { 1242 | "php": "^7.0", 1243 | "phpdocumentor/reflection-common": "^1.0.0", 1244 | "phpdocumentor/type-resolver": "^0.4.0", 1245 | "webmozart/assert": "^1.0" 1246 | }, 1247 | "require-dev": { 1248 | "doctrine/instantiator": "~1.0.5", 1249 | "mockery/mockery": "^1.0", 1250 | "phpunit/phpunit": "^6.4" 1251 | }, 1252 | "type": "library", 1253 | "extra": { 1254 | "branch-alias": { 1255 | "dev-master": "4.x-dev" 1256 | } 1257 | }, 1258 | "autoload": { 1259 | "psr-4": { 1260 | "phpDocumentor\\Reflection\\": [ 1261 | "src/" 1262 | ] 1263 | } 1264 | }, 1265 | "notification-url": "https://packagist.org/downloads/", 1266 | "license": [ 1267 | "MIT" 1268 | ], 1269 | "authors": [ 1270 | { 1271 | "name": "Mike van Riel", 1272 | "email": "me@mikevanriel.com" 1273 | } 1274 | ], 1275 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 1276 | "time": "2017-11-30T07:14:17+00:00" 1277 | }, 1278 | { 1279 | "name": "phpdocumentor/type-resolver", 1280 | "version": "0.4.0", 1281 | "source": { 1282 | "type": "git", 1283 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 1284 | "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" 1285 | }, 1286 | "dist": { 1287 | "type": "zip", 1288 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", 1289 | "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", 1290 | "shasum": "" 1291 | }, 1292 | "require": { 1293 | "php": "^5.5 || ^7.0", 1294 | "phpdocumentor/reflection-common": "^1.0" 1295 | }, 1296 | "require-dev": { 1297 | "mockery/mockery": "^0.9.4", 1298 | "phpunit/phpunit": "^5.2||^4.8.24" 1299 | }, 1300 | "type": "library", 1301 | "extra": { 1302 | "branch-alias": { 1303 | "dev-master": "1.0.x-dev" 1304 | } 1305 | }, 1306 | "autoload": { 1307 | "psr-4": { 1308 | "phpDocumentor\\Reflection\\": [ 1309 | "src/" 1310 | ] 1311 | } 1312 | }, 1313 | "notification-url": "https://packagist.org/downloads/", 1314 | "license": [ 1315 | "MIT" 1316 | ], 1317 | "authors": [ 1318 | { 1319 | "name": "Mike van Riel", 1320 | "email": "me@mikevanriel.com" 1321 | } 1322 | ], 1323 | "time": "2017-07-14T14:27:02+00:00" 1324 | }, 1325 | { 1326 | "name": "phpspec/prophecy", 1327 | "version": "1.7.6", 1328 | "source": { 1329 | "type": "git", 1330 | "url": "https://github.com/phpspec/prophecy.git", 1331 | "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712" 1332 | }, 1333 | "dist": { 1334 | "type": "zip", 1335 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712", 1336 | "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712", 1337 | "shasum": "" 1338 | }, 1339 | "require": { 1340 | "doctrine/instantiator": "^1.0.2", 1341 | "php": "^5.3|^7.0", 1342 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", 1343 | "sebastian/comparator": "^1.1|^2.0|^3.0", 1344 | "sebastian/recursion-context": "^1.0|^2.0|^3.0" 1345 | }, 1346 | "require-dev": { 1347 | "phpspec/phpspec": "^2.5|^3.2", 1348 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" 1349 | }, 1350 | "type": "library", 1351 | "extra": { 1352 | "branch-alias": { 1353 | "dev-master": "1.7.x-dev" 1354 | } 1355 | }, 1356 | "autoload": { 1357 | "psr-0": { 1358 | "Prophecy\\": "src/" 1359 | } 1360 | }, 1361 | "notification-url": "https://packagist.org/downloads/", 1362 | "license": [ 1363 | "MIT" 1364 | ], 1365 | "authors": [ 1366 | { 1367 | "name": "Konstantin Kudryashov", 1368 | "email": "ever.zet@gmail.com", 1369 | "homepage": "http://everzet.com" 1370 | }, 1371 | { 1372 | "name": "Marcello Duarte", 1373 | "email": "marcello.duarte@gmail.com" 1374 | } 1375 | ], 1376 | "description": "Highly opinionated mocking framework for PHP 5.3+", 1377 | "homepage": "https://github.com/phpspec/prophecy", 1378 | "keywords": [ 1379 | "Double", 1380 | "Dummy", 1381 | "fake", 1382 | "mock", 1383 | "spy", 1384 | "stub" 1385 | ], 1386 | "time": "2018-04-18T13:57:24+00:00" 1387 | }, 1388 | { 1389 | "name": "phpunit/php-code-coverage", 1390 | "version": "6.0.4", 1391 | "source": { 1392 | "type": "git", 1393 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 1394 | "reference": "52187754b0eed0b8159f62a6fa30073327e8c2ca" 1395 | }, 1396 | "dist": { 1397 | "type": "zip", 1398 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/52187754b0eed0b8159f62a6fa30073327e8c2ca", 1399 | "reference": "52187754b0eed0b8159f62a6fa30073327e8c2ca", 1400 | "shasum": "" 1401 | }, 1402 | "require": { 1403 | "ext-dom": "*", 1404 | "ext-xmlwriter": "*", 1405 | "php": "^7.1", 1406 | "phpunit/php-file-iterator": "^1.4.2", 1407 | "phpunit/php-text-template": "^1.2.1", 1408 | "phpunit/php-token-stream": "^3.0", 1409 | "sebastian/code-unit-reverse-lookup": "^1.0.1", 1410 | "sebastian/environment": "^3.1", 1411 | "sebastian/version": "^2.0.1", 1412 | "theseer/tokenizer": "^1.1" 1413 | }, 1414 | "require-dev": { 1415 | "phpunit/phpunit": "^7.0" 1416 | }, 1417 | "suggest": { 1418 | "ext-xdebug": "^2.6.0" 1419 | }, 1420 | "type": "library", 1421 | "extra": { 1422 | "branch-alias": { 1423 | "dev-master": "6.0-dev" 1424 | } 1425 | }, 1426 | "autoload": { 1427 | "classmap": [ 1428 | "src/" 1429 | ] 1430 | }, 1431 | "notification-url": "https://packagist.org/downloads/", 1432 | "license": [ 1433 | "BSD-3-Clause" 1434 | ], 1435 | "authors": [ 1436 | { 1437 | "name": "Sebastian Bergmann", 1438 | "email": "sebastian@phpunit.de", 1439 | "role": "lead" 1440 | } 1441 | ], 1442 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 1443 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 1444 | "keywords": [ 1445 | "coverage", 1446 | "testing", 1447 | "xunit" 1448 | ], 1449 | "time": "2018-04-29T14:59:09+00:00" 1450 | }, 1451 | { 1452 | "name": "phpunit/php-file-iterator", 1453 | "version": "1.4.5", 1454 | "source": { 1455 | "type": "git", 1456 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 1457 | "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" 1458 | }, 1459 | "dist": { 1460 | "type": "zip", 1461 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", 1462 | "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", 1463 | "shasum": "" 1464 | }, 1465 | "require": { 1466 | "php": ">=5.3.3" 1467 | }, 1468 | "type": "library", 1469 | "extra": { 1470 | "branch-alias": { 1471 | "dev-master": "1.4.x-dev" 1472 | } 1473 | }, 1474 | "autoload": { 1475 | "classmap": [ 1476 | "src/" 1477 | ] 1478 | }, 1479 | "notification-url": "https://packagist.org/downloads/", 1480 | "license": [ 1481 | "BSD-3-Clause" 1482 | ], 1483 | "authors": [ 1484 | { 1485 | "name": "Sebastian Bergmann", 1486 | "email": "sb@sebastian-bergmann.de", 1487 | "role": "lead" 1488 | } 1489 | ], 1490 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 1491 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 1492 | "keywords": [ 1493 | "filesystem", 1494 | "iterator" 1495 | ], 1496 | "time": "2017-11-27T13:52:08+00:00" 1497 | }, 1498 | { 1499 | "name": "phpunit/php-text-template", 1500 | "version": "1.2.1", 1501 | "source": { 1502 | "type": "git", 1503 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 1504 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 1505 | }, 1506 | "dist": { 1507 | "type": "zip", 1508 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 1509 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 1510 | "shasum": "" 1511 | }, 1512 | "require": { 1513 | "php": ">=5.3.3" 1514 | }, 1515 | "type": "library", 1516 | "autoload": { 1517 | "classmap": [ 1518 | "src/" 1519 | ] 1520 | }, 1521 | "notification-url": "https://packagist.org/downloads/", 1522 | "license": [ 1523 | "BSD-3-Clause" 1524 | ], 1525 | "authors": [ 1526 | { 1527 | "name": "Sebastian Bergmann", 1528 | "email": "sebastian@phpunit.de", 1529 | "role": "lead" 1530 | } 1531 | ], 1532 | "description": "Simple template engine.", 1533 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 1534 | "keywords": [ 1535 | "template" 1536 | ], 1537 | "time": "2015-06-21T13:50:34+00:00" 1538 | }, 1539 | { 1540 | "name": "phpunit/php-timer", 1541 | "version": "2.0.0", 1542 | "source": { 1543 | "type": "git", 1544 | "url": "https://github.com/sebastianbergmann/php-timer.git", 1545 | "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f" 1546 | }, 1547 | "dist": { 1548 | "type": "zip", 1549 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f", 1550 | "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f", 1551 | "shasum": "" 1552 | }, 1553 | "require": { 1554 | "php": "^7.1" 1555 | }, 1556 | "require-dev": { 1557 | "phpunit/phpunit": "^7.0" 1558 | }, 1559 | "type": "library", 1560 | "extra": { 1561 | "branch-alias": { 1562 | "dev-master": "2.0-dev" 1563 | } 1564 | }, 1565 | "autoload": { 1566 | "classmap": [ 1567 | "src/" 1568 | ] 1569 | }, 1570 | "notification-url": "https://packagist.org/downloads/", 1571 | "license": [ 1572 | "BSD-3-Clause" 1573 | ], 1574 | "authors": [ 1575 | { 1576 | "name": "Sebastian Bergmann", 1577 | "email": "sebastian@phpunit.de", 1578 | "role": "lead" 1579 | } 1580 | ], 1581 | "description": "Utility class for timing", 1582 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 1583 | "keywords": [ 1584 | "timer" 1585 | ], 1586 | "time": "2018-02-01T13:07:23+00:00" 1587 | }, 1588 | { 1589 | "name": "phpunit/php-token-stream", 1590 | "version": "3.0.0", 1591 | "source": { 1592 | "type": "git", 1593 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 1594 | "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace" 1595 | }, 1596 | "dist": { 1597 | "type": "zip", 1598 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/21ad88bbba7c3d93530d93994e0a33cd45f02ace", 1599 | "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace", 1600 | "shasum": "" 1601 | }, 1602 | "require": { 1603 | "ext-tokenizer": "*", 1604 | "php": "^7.1" 1605 | }, 1606 | "require-dev": { 1607 | "phpunit/phpunit": "^7.0" 1608 | }, 1609 | "type": "library", 1610 | "extra": { 1611 | "branch-alias": { 1612 | "dev-master": "3.0-dev" 1613 | } 1614 | }, 1615 | "autoload": { 1616 | "classmap": [ 1617 | "src/" 1618 | ] 1619 | }, 1620 | "notification-url": "https://packagist.org/downloads/", 1621 | "license": [ 1622 | "BSD-3-Clause" 1623 | ], 1624 | "authors": [ 1625 | { 1626 | "name": "Sebastian Bergmann", 1627 | "email": "sebastian@phpunit.de" 1628 | } 1629 | ], 1630 | "description": "Wrapper around PHP's tokenizer extension.", 1631 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 1632 | "keywords": [ 1633 | "tokenizer" 1634 | ], 1635 | "time": "2018-02-01T13:16:43+00:00" 1636 | }, 1637 | { 1638 | "name": "phpunit/phpunit", 1639 | "version": "7.1.5", 1640 | "source": { 1641 | "type": "git", 1642 | "url": "https://github.com/sebastianbergmann/phpunit.git", 1643 | "reference": "ca64dba53b88aba6af32aebc6b388068db95c435" 1644 | }, 1645 | "dist": { 1646 | "type": "zip", 1647 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ca64dba53b88aba6af32aebc6b388068db95c435", 1648 | "reference": "ca64dba53b88aba6af32aebc6b388068db95c435", 1649 | "shasum": "" 1650 | }, 1651 | "require": { 1652 | "ext-dom": "*", 1653 | "ext-json": "*", 1654 | "ext-libxml": "*", 1655 | "ext-mbstring": "*", 1656 | "ext-xml": "*", 1657 | "myclabs/deep-copy": "^1.6.1", 1658 | "phar-io/manifest": "^1.0.1", 1659 | "phar-io/version": "^1.0", 1660 | "php": "^7.1", 1661 | "phpspec/prophecy": "^1.7", 1662 | "phpunit/php-code-coverage": "^6.0.1", 1663 | "phpunit/php-file-iterator": "^1.4.3", 1664 | "phpunit/php-text-template": "^1.2.1", 1665 | "phpunit/php-timer": "^2.0", 1666 | "phpunit/phpunit-mock-objects": "^6.1.1", 1667 | "sebastian/comparator": "^3.0", 1668 | "sebastian/diff": "^3.0", 1669 | "sebastian/environment": "^3.1", 1670 | "sebastian/exporter": "^3.1", 1671 | "sebastian/global-state": "^2.0", 1672 | "sebastian/object-enumerator": "^3.0.3", 1673 | "sebastian/resource-operations": "^1.0", 1674 | "sebastian/version": "^2.0.1" 1675 | }, 1676 | "require-dev": { 1677 | "ext-pdo": "*" 1678 | }, 1679 | "suggest": { 1680 | "ext-xdebug": "*", 1681 | "phpunit/php-invoker": "^2.0" 1682 | }, 1683 | "bin": [ 1684 | "phpunit" 1685 | ], 1686 | "type": "library", 1687 | "extra": { 1688 | "branch-alias": { 1689 | "dev-master": "7.1-dev" 1690 | } 1691 | }, 1692 | "autoload": { 1693 | "classmap": [ 1694 | "src/" 1695 | ] 1696 | }, 1697 | "notification-url": "https://packagist.org/downloads/", 1698 | "license": [ 1699 | "BSD-3-Clause" 1700 | ], 1701 | "authors": [ 1702 | { 1703 | "name": "Sebastian Bergmann", 1704 | "email": "sebastian@phpunit.de", 1705 | "role": "lead" 1706 | } 1707 | ], 1708 | "description": "The PHP Unit Testing framework.", 1709 | "homepage": "https://phpunit.de/", 1710 | "keywords": [ 1711 | "phpunit", 1712 | "testing", 1713 | "xunit" 1714 | ], 1715 | "time": "2018-04-29T15:09:19+00:00" 1716 | }, 1717 | { 1718 | "name": "phpunit/phpunit-mock-objects", 1719 | "version": "6.1.1", 1720 | "source": { 1721 | "type": "git", 1722 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", 1723 | "reference": "70c740bde8fd9ea9ea295be1cd875dd7b267e157" 1724 | }, 1725 | "dist": { 1726 | "type": "zip", 1727 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/70c740bde8fd9ea9ea295be1cd875dd7b267e157", 1728 | "reference": "70c740bde8fd9ea9ea295be1cd875dd7b267e157", 1729 | "shasum": "" 1730 | }, 1731 | "require": { 1732 | "doctrine/instantiator": "^1.0.5", 1733 | "php": "^7.1", 1734 | "phpunit/php-text-template": "^1.2.1", 1735 | "sebastian/exporter": "^3.1" 1736 | }, 1737 | "require-dev": { 1738 | "phpunit/phpunit": "^7.0" 1739 | }, 1740 | "suggest": { 1741 | "ext-soap": "*" 1742 | }, 1743 | "type": "library", 1744 | "extra": { 1745 | "branch-alias": { 1746 | "dev-master": "6.1-dev" 1747 | } 1748 | }, 1749 | "autoload": { 1750 | "classmap": [ 1751 | "src/" 1752 | ] 1753 | }, 1754 | "notification-url": "https://packagist.org/downloads/", 1755 | "license": [ 1756 | "BSD-3-Clause" 1757 | ], 1758 | "authors": [ 1759 | { 1760 | "name": "Sebastian Bergmann", 1761 | "email": "sebastian@phpunit.de", 1762 | "role": "lead" 1763 | } 1764 | ], 1765 | "description": "Mock Object library for PHPUnit", 1766 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", 1767 | "keywords": [ 1768 | "mock", 1769 | "xunit" 1770 | ], 1771 | "time": "2018-04-11T04:50:36+00:00" 1772 | }, 1773 | { 1774 | "name": "psr/container", 1775 | "version": "1.0.0", 1776 | "source": { 1777 | "type": "git", 1778 | "url": "https://github.com/php-fig/container.git", 1779 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" 1780 | }, 1781 | "dist": { 1782 | "type": "zip", 1783 | "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 1784 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 1785 | "shasum": "" 1786 | }, 1787 | "require": { 1788 | "php": ">=5.3.0" 1789 | }, 1790 | "type": "library", 1791 | "extra": { 1792 | "branch-alias": { 1793 | "dev-master": "1.0.x-dev" 1794 | } 1795 | }, 1796 | "autoload": { 1797 | "psr-4": { 1798 | "Psr\\Container\\": "src/" 1799 | } 1800 | }, 1801 | "notification-url": "https://packagist.org/downloads/", 1802 | "license": [ 1803 | "MIT" 1804 | ], 1805 | "authors": [ 1806 | { 1807 | "name": "PHP-FIG", 1808 | "homepage": "http://www.php-fig.org/" 1809 | } 1810 | ], 1811 | "description": "Common Container Interface (PHP FIG PSR-11)", 1812 | "homepage": "https://github.com/php-fig/container", 1813 | "keywords": [ 1814 | "PSR-11", 1815 | "container", 1816 | "container-interface", 1817 | "container-interop", 1818 | "psr" 1819 | ], 1820 | "time": "2017-02-14T16:28:37+00:00" 1821 | }, 1822 | { 1823 | "name": "sebastian/code-unit-reverse-lookup", 1824 | "version": "1.0.1", 1825 | "source": { 1826 | "type": "git", 1827 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", 1828 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" 1829 | }, 1830 | "dist": { 1831 | "type": "zip", 1832 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", 1833 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", 1834 | "shasum": "" 1835 | }, 1836 | "require": { 1837 | "php": "^5.6 || ^7.0" 1838 | }, 1839 | "require-dev": { 1840 | "phpunit/phpunit": "^5.7 || ^6.0" 1841 | }, 1842 | "type": "library", 1843 | "extra": { 1844 | "branch-alias": { 1845 | "dev-master": "1.0.x-dev" 1846 | } 1847 | }, 1848 | "autoload": { 1849 | "classmap": [ 1850 | "src/" 1851 | ] 1852 | }, 1853 | "notification-url": "https://packagist.org/downloads/", 1854 | "license": [ 1855 | "BSD-3-Clause" 1856 | ], 1857 | "authors": [ 1858 | { 1859 | "name": "Sebastian Bergmann", 1860 | "email": "sebastian@phpunit.de" 1861 | } 1862 | ], 1863 | "description": "Looks up which function or method a line of code belongs to", 1864 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", 1865 | "time": "2017-03-04T06:30:41+00:00" 1866 | }, 1867 | { 1868 | "name": "sebastian/comparator", 1869 | "version": "3.0.0", 1870 | "source": { 1871 | "type": "git", 1872 | "url": "https://github.com/sebastianbergmann/comparator.git", 1873 | "reference": "ed5fd2281113729f1ebcc64d101ad66028aeb3d5" 1874 | }, 1875 | "dist": { 1876 | "type": "zip", 1877 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/ed5fd2281113729f1ebcc64d101ad66028aeb3d5", 1878 | "reference": "ed5fd2281113729f1ebcc64d101ad66028aeb3d5", 1879 | "shasum": "" 1880 | }, 1881 | "require": { 1882 | "php": "^7.1", 1883 | "sebastian/diff": "^3.0", 1884 | "sebastian/exporter": "^3.1" 1885 | }, 1886 | "require-dev": { 1887 | "phpunit/phpunit": "^7.1" 1888 | }, 1889 | "type": "library", 1890 | "extra": { 1891 | "branch-alias": { 1892 | "dev-master": "3.0-dev" 1893 | } 1894 | }, 1895 | "autoload": { 1896 | "classmap": [ 1897 | "src/" 1898 | ] 1899 | }, 1900 | "notification-url": "https://packagist.org/downloads/", 1901 | "license": [ 1902 | "BSD-3-Clause" 1903 | ], 1904 | "authors": [ 1905 | { 1906 | "name": "Jeff Welch", 1907 | "email": "whatthejeff@gmail.com" 1908 | }, 1909 | { 1910 | "name": "Volker Dusch", 1911 | "email": "github@wallbash.com" 1912 | }, 1913 | { 1914 | "name": "Bernhard Schussek", 1915 | "email": "bschussek@2bepublished.at" 1916 | }, 1917 | { 1918 | "name": "Sebastian Bergmann", 1919 | "email": "sebastian@phpunit.de" 1920 | } 1921 | ], 1922 | "description": "Provides the functionality to compare PHP values for equality", 1923 | "homepage": "https://github.com/sebastianbergmann/comparator", 1924 | "keywords": [ 1925 | "comparator", 1926 | "compare", 1927 | "equality" 1928 | ], 1929 | "time": "2018-04-18T13:33:00+00:00" 1930 | }, 1931 | { 1932 | "name": "sebastian/diff", 1933 | "version": "3.0.0", 1934 | "source": { 1935 | "type": "git", 1936 | "url": "https://github.com/sebastianbergmann/diff.git", 1937 | "reference": "e09160918c66281713f1c324c1f4c4c3037ba1e8" 1938 | }, 1939 | "dist": { 1940 | "type": "zip", 1941 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/e09160918c66281713f1c324c1f4c4c3037ba1e8", 1942 | "reference": "e09160918c66281713f1c324c1f4c4c3037ba1e8", 1943 | "shasum": "" 1944 | }, 1945 | "require": { 1946 | "php": "^7.1" 1947 | }, 1948 | "require-dev": { 1949 | "phpunit/phpunit": "^7.0", 1950 | "symfony/process": "^2 || ^3.3 || ^4" 1951 | }, 1952 | "type": "library", 1953 | "extra": { 1954 | "branch-alias": { 1955 | "dev-master": "3.0-dev" 1956 | } 1957 | }, 1958 | "autoload": { 1959 | "classmap": [ 1960 | "src/" 1961 | ] 1962 | }, 1963 | "notification-url": "https://packagist.org/downloads/", 1964 | "license": [ 1965 | "BSD-3-Clause" 1966 | ], 1967 | "authors": [ 1968 | { 1969 | "name": "Kore Nordmann", 1970 | "email": "mail@kore-nordmann.de" 1971 | }, 1972 | { 1973 | "name": "Sebastian Bergmann", 1974 | "email": "sebastian@phpunit.de" 1975 | } 1976 | ], 1977 | "description": "Diff implementation", 1978 | "homepage": "https://github.com/sebastianbergmann/diff", 1979 | "keywords": [ 1980 | "diff", 1981 | "udiff", 1982 | "unidiff", 1983 | "unified diff" 1984 | ], 1985 | "time": "2018-02-01T13:45:15+00:00" 1986 | }, 1987 | { 1988 | "name": "sebastian/environment", 1989 | "version": "3.1.0", 1990 | "source": { 1991 | "type": "git", 1992 | "url": "https://github.com/sebastianbergmann/environment.git", 1993 | "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" 1994 | }, 1995 | "dist": { 1996 | "type": "zip", 1997 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", 1998 | "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", 1999 | "shasum": "" 2000 | }, 2001 | "require": { 2002 | "php": "^7.0" 2003 | }, 2004 | "require-dev": { 2005 | "phpunit/phpunit": "^6.1" 2006 | }, 2007 | "type": "library", 2008 | "extra": { 2009 | "branch-alias": { 2010 | "dev-master": "3.1.x-dev" 2011 | } 2012 | }, 2013 | "autoload": { 2014 | "classmap": [ 2015 | "src/" 2016 | ] 2017 | }, 2018 | "notification-url": "https://packagist.org/downloads/", 2019 | "license": [ 2020 | "BSD-3-Clause" 2021 | ], 2022 | "authors": [ 2023 | { 2024 | "name": "Sebastian Bergmann", 2025 | "email": "sebastian@phpunit.de" 2026 | } 2027 | ], 2028 | "description": "Provides functionality to handle HHVM/PHP environments", 2029 | "homepage": "http://www.github.com/sebastianbergmann/environment", 2030 | "keywords": [ 2031 | "Xdebug", 2032 | "environment", 2033 | "hhvm" 2034 | ], 2035 | "time": "2017-07-01T08:51:00+00:00" 2036 | }, 2037 | { 2038 | "name": "sebastian/exporter", 2039 | "version": "3.1.0", 2040 | "source": { 2041 | "type": "git", 2042 | "url": "https://github.com/sebastianbergmann/exporter.git", 2043 | "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" 2044 | }, 2045 | "dist": { 2046 | "type": "zip", 2047 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", 2048 | "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", 2049 | "shasum": "" 2050 | }, 2051 | "require": { 2052 | "php": "^7.0", 2053 | "sebastian/recursion-context": "^3.0" 2054 | }, 2055 | "require-dev": { 2056 | "ext-mbstring": "*", 2057 | "phpunit/phpunit": "^6.0" 2058 | }, 2059 | "type": "library", 2060 | "extra": { 2061 | "branch-alias": { 2062 | "dev-master": "3.1.x-dev" 2063 | } 2064 | }, 2065 | "autoload": { 2066 | "classmap": [ 2067 | "src/" 2068 | ] 2069 | }, 2070 | "notification-url": "https://packagist.org/downloads/", 2071 | "license": [ 2072 | "BSD-3-Clause" 2073 | ], 2074 | "authors": [ 2075 | { 2076 | "name": "Jeff Welch", 2077 | "email": "whatthejeff@gmail.com" 2078 | }, 2079 | { 2080 | "name": "Volker Dusch", 2081 | "email": "github@wallbash.com" 2082 | }, 2083 | { 2084 | "name": "Bernhard Schussek", 2085 | "email": "bschussek@2bepublished.at" 2086 | }, 2087 | { 2088 | "name": "Sebastian Bergmann", 2089 | "email": "sebastian@phpunit.de" 2090 | }, 2091 | { 2092 | "name": "Adam Harvey", 2093 | "email": "aharvey@php.net" 2094 | } 2095 | ], 2096 | "description": "Provides the functionality to export PHP variables for visualization", 2097 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 2098 | "keywords": [ 2099 | "export", 2100 | "exporter" 2101 | ], 2102 | "time": "2017-04-03T13:19:02+00:00" 2103 | }, 2104 | { 2105 | "name": "sebastian/global-state", 2106 | "version": "2.0.0", 2107 | "source": { 2108 | "type": "git", 2109 | "url": "https://github.com/sebastianbergmann/global-state.git", 2110 | "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" 2111 | }, 2112 | "dist": { 2113 | "type": "zip", 2114 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", 2115 | "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", 2116 | "shasum": "" 2117 | }, 2118 | "require": { 2119 | "php": "^7.0" 2120 | }, 2121 | "require-dev": { 2122 | "phpunit/phpunit": "^6.0" 2123 | }, 2124 | "suggest": { 2125 | "ext-uopz": "*" 2126 | }, 2127 | "type": "library", 2128 | "extra": { 2129 | "branch-alias": { 2130 | "dev-master": "2.0-dev" 2131 | } 2132 | }, 2133 | "autoload": { 2134 | "classmap": [ 2135 | "src/" 2136 | ] 2137 | }, 2138 | "notification-url": "https://packagist.org/downloads/", 2139 | "license": [ 2140 | "BSD-3-Clause" 2141 | ], 2142 | "authors": [ 2143 | { 2144 | "name": "Sebastian Bergmann", 2145 | "email": "sebastian@phpunit.de" 2146 | } 2147 | ], 2148 | "description": "Snapshotting of global state", 2149 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 2150 | "keywords": [ 2151 | "global state" 2152 | ], 2153 | "time": "2017-04-27T15:39:26+00:00" 2154 | }, 2155 | { 2156 | "name": "sebastian/object-enumerator", 2157 | "version": "3.0.3", 2158 | "source": { 2159 | "type": "git", 2160 | "url": "https://github.com/sebastianbergmann/object-enumerator.git", 2161 | "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" 2162 | }, 2163 | "dist": { 2164 | "type": "zip", 2165 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", 2166 | "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", 2167 | "shasum": "" 2168 | }, 2169 | "require": { 2170 | "php": "^7.0", 2171 | "sebastian/object-reflector": "^1.1.1", 2172 | "sebastian/recursion-context": "^3.0" 2173 | }, 2174 | "require-dev": { 2175 | "phpunit/phpunit": "^6.0" 2176 | }, 2177 | "type": "library", 2178 | "extra": { 2179 | "branch-alias": { 2180 | "dev-master": "3.0.x-dev" 2181 | } 2182 | }, 2183 | "autoload": { 2184 | "classmap": [ 2185 | "src/" 2186 | ] 2187 | }, 2188 | "notification-url": "https://packagist.org/downloads/", 2189 | "license": [ 2190 | "BSD-3-Clause" 2191 | ], 2192 | "authors": [ 2193 | { 2194 | "name": "Sebastian Bergmann", 2195 | "email": "sebastian@phpunit.de" 2196 | } 2197 | ], 2198 | "description": "Traverses array structures and object graphs to enumerate all referenced objects", 2199 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/", 2200 | "time": "2017-08-03T12:35:26+00:00" 2201 | }, 2202 | { 2203 | "name": "sebastian/object-reflector", 2204 | "version": "1.1.1", 2205 | "source": { 2206 | "type": "git", 2207 | "url": "https://github.com/sebastianbergmann/object-reflector.git", 2208 | "reference": "773f97c67f28de00d397be301821b06708fca0be" 2209 | }, 2210 | "dist": { 2211 | "type": "zip", 2212 | "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", 2213 | "reference": "773f97c67f28de00d397be301821b06708fca0be", 2214 | "shasum": "" 2215 | }, 2216 | "require": { 2217 | "php": "^7.0" 2218 | }, 2219 | "require-dev": { 2220 | "phpunit/phpunit": "^6.0" 2221 | }, 2222 | "type": "library", 2223 | "extra": { 2224 | "branch-alias": { 2225 | "dev-master": "1.1-dev" 2226 | } 2227 | }, 2228 | "autoload": { 2229 | "classmap": [ 2230 | "src/" 2231 | ] 2232 | }, 2233 | "notification-url": "https://packagist.org/downloads/", 2234 | "license": [ 2235 | "BSD-3-Clause" 2236 | ], 2237 | "authors": [ 2238 | { 2239 | "name": "Sebastian Bergmann", 2240 | "email": "sebastian@phpunit.de" 2241 | } 2242 | ], 2243 | "description": "Allows reflection of object attributes, including inherited and non-public ones", 2244 | "homepage": "https://github.com/sebastianbergmann/object-reflector/", 2245 | "time": "2017-03-29T09:07:27+00:00" 2246 | }, 2247 | { 2248 | "name": "sebastian/recursion-context", 2249 | "version": "3.0.0", 2250 | "source": { 2251 | "type": "git", 2252 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 2253 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" 2254 | }, 2255 | "dist": { 2256 | "type": "zip", 2257 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", 2258 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", 2259 | "shasum": "" 2260 | }, 2261 | "require": { 2262 | "php": "^7.0" 2263 | }, 2264 | "require-dev": { 2265 | "phpunit/phpunit": "^6.0" 2266 | }, 2267 | "type": "library", 2268 | "extra": { 2269 | "branch-alias": { 2270 | "dev-master": "3.0.x-dev" 2271 | } 2272 | }, 2273 | "autoload": { 2274 | "classmap": [ 2275 | "src/" 2276 | ] 2277 | }, 2278 | "notification-url": "https://packagist.org/downloads/", 2279 | "license": [ 2280 | "BSD-3-Clause" 2281 | ], 2282 | "authors": [ 2283 | { 2284 | "name": "Jeff Welch", 2285 | "email": "whatthejeff@gmail.com" 2286 | }, 2287 | { 2288 | "name": "Sebastian Bergmann", 2289 | "email": "sebastian@phpunit.de" 2290 | }, 2291 | { 2292 | "name": "Adam Harvey", 2293 | "email": "aharvey@php.net" 2294 | } 2295 | ], 2296 | "description": "Provides functionality to recursively process PHP variables", 2297 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 2298 | "time": "2017-03-03T06:23:57+00:00" 2299 | }, 2300 | { 2301 | "name": "sebastian/resource-operations", 2302 | "version": "1.0.0", 2303 | "source": { 2304 | "type": "git", 2305 | "url": "https://github.com/sebastianbergmann/resource-operations.git", 2306 | "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" 2307 | }, 2308 | "dist": { 2309 | "type": "zip", 2310 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", 2311 | "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", 2312 | "shasum": "" 2313 | }, 2314 | "require": { 2315 | "php": ">=5.6.0" 2316 | }, 2317 | "type": "library", 2318 | "extra": { 2319 | "branch-alias": { 2320 | "dev-master": "1.0.x-dev" 2321 | } 2322 | }, 2323 | "autoload": { 2324 | "classmap": [ 2325 | "src/" 2326 | ] 2327 | }, 2328 | "notification-url": "https://packagist.org/downloads/", 2329 | "license": [ 2330 | "BSD-3-Clause" 2331 | ], 2332 | "authors": [ 2333 | { 2334 | "name": "Sebastian Bergmann", 2335 | "email": "sebastian@phpunit.de" 2336 | } 2337 | ], 2338 | "description": "Provides a list of PHP built-in functions that operate on resources", 2339 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations", 2340 | "time": "2015-07-28T20:34:47+00:00" 2341 | }, 2342 | { 2343 | "name": "sebastian/version", 2344 | "version": "2.0.1", 2345 | "source": { 2346 | "type": "git", 2347 | "url": "https://github.com/sebastianbergmann/version.git", 2348 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" 2349 | }, 2350 | "dist": { 2351 | "type": "zip", 2352 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", 2353 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", 2354 | "shasum": "" 2355 | }, 2356 | "require": { 2357 | "php": ">=5.6" 2358 | }, 2359 | "type": "library", 2360 | "extra": { 2361 | "branch-alias": { 2362 | "dev-master": "2.0.x-dev" 2363 | } 2364 | }, 2365 | "autoload": { 2366 | "classmap": [ 2367 | "src/" 2368 | ] 2369 | }, 2370 | "notification-url": "https://packagist.org/downloads/", 2371 | "license": [ 2372 | "BSD-3-Clause" 2373 | ], 2374 | "authors": [ 2375 | { 2376 | "name": "Sebastian Bergmann", 2377 | "email": "sebastian@phpunit.de", 2378 | "role": "lead" 2379 | } 2380 | ], 2381 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 2382 | "homepage": "https://github.com/sebastianbergmann/version", 2383 | "time": "2016-10-03T07:35:21+00:00" 2384 | }, 2385 | { 2386 | "name": "symfony/class-loader", 2387 | "version": "v3.4.9", 2388 | "source": { 2389 | "type": "git", 2390 | "url": "https://github.com/symfony/class-loader.git", 2391 | "reference": "e63c12699822bb3b667e7216ba07fbcc3a3e203e" 2392 | }, 2393 | "dist": { 2394 | "type": "zip", 2395 | "url": "https://api.github.com/repos/symfony/class-loader/zipball/e63c12699822bb3b667e7216ba07fbcc3a3e203e", 2396 | "reference": "e63c12699822bb3b667e7216ba07fbcc3a3e203e", 2397 | "shasum": "" 2398 | }, 2399 | "require": { 2400 | "php": "^5.5.9|>=7.0.8" 2401 | }, 2402 | "require-dev": { 2403 | "symfony/finder": "~2.8|~3.0|~4.0", 2404 | "symfony/polyfill-apcu": "~1.1" 2405 | }, 2406 | "suggest": { 2407 | "symfony/polyfill-apcu": "For using ApcClassLoader on HHVM" 2408 | }, 2409 | "type": "library", 2410 | "extra": { 2411 | "branch-alias": { 2412 | "dev-master": "3.4-dev" 2413 | } 2414 | }, 2415 | "autoload": { 2416 | "psr-4": { 2417 | "Symfony\\Component\\ClassLoader\\": "" 2418 | }, 2419 | "exclude-from-classmap": [ 2420 | "/Tests/" 2421 | ] 2422 | }, 2423 | "notification-url": "https://packagist.org/downloads/", 2424 | "license": [ 2425 | "MIT" 2426 | ], 2427 | "authors": [ 2428 | { 2429 | "name": "Fabien Potencier", 2430 | "email": "fabien@symfony.com" 2431 | }, 2432 | { 2433 | "name": "Symfony Community", 2434 | "homepage": "https://symfony.com/contributors" 2435 | } 2436 | ], 2437 | "description": "Symfony ClassLoader Component", 2438 | "homepage": "https://symfony.com", 2439 | "time": "2018-01-03T07:37:34+00:00" 2440 | }, 2441 | { 2442 | "name": "symfony/config", 2443 | "version": "v4.0.9", 2444 | "source": { 2445 | "type": "git", 2446 | "url": "https://github.com/symfony/config.git", 2447 | "reference": "7c19370ab04e9ac05b74a504198e165f5ccf6dd8" 2448 | }, 2449 | "dist": { 2450 | "type": "zip", 2451 | "url": "https://api.github.com/repos/symfony/config/zipball/7c19370ab04e9ac05b74a504198e165f5ccf6dd8", 2452 | "reference": "7c19370ab04e9ac05b74a504198e165f5ccf6dd8", 2453 | "shasum": "" 2454 | }, 2455 | "require": { 2456 | "php": "^7.1.3", 2457 | "symfony/filesystem": "~3.4|~4.0" 2458 | }, 2459 | "conflict": { 2460 | "symfony/finder": "<3.4" 2461 | }, 2462 | "require-dev": { 2463 | "symfony/dependency-injection": "~3.4|~4.0", 2464 | "symfony/event-dispatcher": "~3.4|~4.0", 2465 | "symfony/finder": "~3.4|~4.0", 2466 | "symfony/yaml": "~3.4|~4.0" 2467 | }, 2468 | "suggest": { 2469 | "symfony/yaml": "To use the yaml reference dumper" 2470 | }, 2471 | "type": "library", 2472 | "extra": { 2473 | "branch-alias": { 2474 | "dev-master": "4.0-dev" 2475 | } 2476 | }, 2477 | "autoload": { 2478 | "psr-4": { 2479 | "Symfony\\Component\\Config\\": "" 2480 | }, 2481 | "exclude-from-classmap": [ 2482 | "/Tests/" 2483 | ] 2484 | }, 2485 | "notification-url": "https://packagist.org/downloads/", 2486 | "license": [ 2487 | "MIT" 2488 | ], 2489 | "authors": [ 2490 | { 2491 | "name": "Fabien Potencier", 2492 | "email": "fabien@symfony.com" 2493 | }, 2494 | { 2495 | "name": "Symfony Community", 2496 | "homepage": "https://symfony.com/contributors" 2497 | } 2498 | ], 2499 | "description": "Symfony Config Component", 2500 | "homepage": "https://symfony.com", 2501 | "time": "2018-03-19T22:35:49+00:00" 2502 | }, 2503 | { 2504 | "name": "symfony/dependency-injection", 2505 | "version": "v4.0.9", 2506 | "source": { 2507 | "type": "git", 2508 | "url": "https://github.com/symfony/dependency-injection.git", 2509 | "reference": "1f99622d8a63b160bfdd0ad7b2da56ee413cba64" 2510 | }, 2511 | "dist": { 2512 | "type": "zip", 2513 | "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1f99622d8a63b160bfdd0ad7b2da56ee413cba64", 2514 | "reference": "1f99622d8a63b160bfdd0ad7b2da56ee413cba64", 2515 | "shasum": "" 2516 | }, 2517 | "require": { 2518 | "php": "^7.1.3", 2519 | "psr/container": "^1.0" 2520 | }, 2521 | "conflict": { 2522 | "symfony/config": "<3.4", 2523 | "symfony/finder": "<3.4", 2524 | "symfony/proxy-manager-bridge": "<3.4", 2525 | "symfony/yaml": "<3.4" 2526 | }, 2527 | "provide": { 2528 | "psr/container-implementation": "1.0" 2529 | }, 2530 | "require-dev": { 2531 | "symfony/config": "~3.4|~4.0", 2532 | "symfony/expression-language": "~3.4|~4.0", 2533 | "symfony/yaml": "~3.4|~4.0" 2534 | }, 2535 | "suggest": { 2536 | "symfony/config": "", 2537 | "symfony/expression-language": "For using expressions in service container configuration", 2538 | "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", 2539 | "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", 2540 | "symfony/yaml": "" 2541 | }, 2542 | "type": "library", 2543 | "extra": { 2544 | "branch-alias": { 2545 | "dev-master": "4.0-dev" 2546 | } 2547 | }, 2548 | "autoload": { 2549 | "psr-4": { 2550 | "Symfony\\Component\\DependencyInjection\\": "" 2551 | }, 2552 | "exclude-from-classmap": [ 2553 | "/Tests/" 2554 | ] 2555 | }, 2556 | "notification-url": "https://packagist.org/downloads/", 2557 | "license": [ 2558 | "MIT" 2559 | ], 2560 | "authors": [ 2561 | { 2562 | "name": "Fabien Potencier", 2563 | "email": "fabien@symfony.com" 2564 | }, 2565 | { 2566 | "name": "Symfony Community", 2567 | "homepage": "https://symfony.com/contributors" 2568 | } 2569 | ], 2570 | "description": "Symfony DependencyInjection Component", 2571 | "homepage": "https://symfony.com", 2572 | "time": "2018-04-30T01:05:59+00:00" 2573 | }, 2574 | { 2575 | "name": "symfony/event-dispatcher", 2576 | "version": "v4.0.9", 2577 | "source": { 2578 | "type": "git", 2579 | "url": "https://github.com/symfony/event-dispatcher.git", 2580 | "reference": "63353a71073faf08f62caab4e6889b06a787f07b" 2581 | }, 2582 | "dist": { 2583 | "type": "zip", 2584 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/63353a71073faf08f62caab4e6889b06a787f07b", 2585 | "reference": "63353a71073faf08f62caab4e6889b06a787f07b", 2586 | "shasum": "" 2587 | }, 2588 | "require": { 2589 | "php": "^7.1.3" 2590 | }, 2591 | "conflict": { 2592 | "symfony/dependency-injection": "<3.4" 2593 | }, 2594 | "require-dev": { 2595 | "psr/log": "~1.0", 2596 | "symfony/config": "~3.4|~4.0", 2597 | "symfony/dependency-injection": "~3.4|~4.0", 2598 | "symfony/expression-language": "~3.4|~4.0", 2599 | "symfony/stopwatch": "~3.4|~4.0" 2600 | }, 2601 | "suggest": { 2602 | "symfony/dependency-injection": "", 2603 | "symfony/http-kernel": "" 2604 | }, 2605 | "type": "library", 2606 | "extra": { 2607 | "branch-alias": { 2608 | "dev-master": "4.0-dev" 2609 | } 2610 | }, 2611 | "autoload": { 2612 | "psr-4": { 2613 | "Symfony\\Component\\EventDispatcher\\": "" 2614 | }, 2615 | "exclude-from-classmap": [ 2616 | "/Tests/" 2617 | ] 2618 | }, 2619 | "notification-url": "https://packagist.org/downloads/", 2620 | "license": [ 2621 | "MIT" 2622 | ], 2623 | "authors": [ 2624 | { 2625 | "name": "Fabien Potencier", 2626 | "email": "fabien@symfony.com" 2627 | }, 2628 | { 2629 | "name": "Symfony Community", 2630 | "homepage": "https://symfony.com/contributors" 2631 | } 2632 | ], 2633 | "description": "Symfony EventDispatcher Component", 2634 | "homepage": "https://symfony.com", 2635 | "time": "2018-04-06T07:35:43+00:00" 2636 | }, 2637 | { 2638 | "name": "symfony/filesystem", 2639 | "version": "v4.0.9", 2640 | "source": { 2641 | "type": "git", 2642 | "url": "https://github.com/symfony/filesystem.git", 2643 | "reference": "5d2d655b2c72fc4d9bf7e9bf14f72a447b940f21" 2644 | }, 2645 | "dist": { 2646 | "type": "zip", 2647 | "url": "https://api.github.com/repos/symfony/filesystem/zipball/5d2d655b2c72fc4d9bf7e9bf14f72a447b940f21", 2648 | "reference": "5d2d655b2c72fc4d9bf7e9bf14f72a447b940f21", 2649 | "shasum": "" 2650 | }, 2651 | "require": { 2652 | "php": "^7.1.3" 2653 | }, 2654 | "type": "library", 2655 | "extra": { 2656 | "branch-alias": { 2657 | "dev-master": "4.0-dev" 2658 | } 2659 | }, 2660 | "autoload": { 2661 | "psr-4": { 2662 | "Symfony\\Component\\Filesystem\\": "" 2663 | }, 2664 | "exclude-from-classmap": [ 2665 | "/Tests/" 2666 | ] 2667 | }, 2668 | "notification-url": "https://packagist.org/downloads/", 2669 | "license": [ 2670 | "MIT" 2671 | ], 2672 | "authors": [ 2673 | { 2674 | "name": "Fabien Potencier", 2675 | "email": "fabien@symfony.com" 2676 | }, 2677 | { 2678 | "name": "Symfony Community", 2679 | "homepage": "https://symfony.com/contributors" 2680 | } 2681 | ], 2682 | "description": "Symfony Filesystem Component", 2683 | "homepage": "https://symfony.com", 2684 | "time": "2018-02-22T10:50:29+00:00" 2685 | }, 2686 | { 2687 | "name": "symfony/translation", 2688 | "version": "v4.0.9", 2689 | "source": { 2690 | "type": "git", 2691 | "url": "https://github.com/symfony/translation.git", 2692 | "reference": "ad3abf08eb3450491d8d76513100ef58194cd13e" 2693 | }, 2694 | "dist": { 2695 | "type": "zip", 2696 | "url": "https://api.github.com/repos/symfony/translation/zipball/ad3abf08eb3450491d8d76513100ef58194cd13e", 2697 | "reference": "ad3abf08eb3450491d8d76513100ef58194cd13e", 2698 | "shasum": "" 2699 | }, 2700 | "require": { 2701 | "php": "^7.1.3", 2702 | "symfony/polyfill-mbstring": "~1.0" 2703 | }, 2704 | "conflict": { 2705 | "symfony/config": "<3.4", 2706 | "symfony/dependency-injection": "<3.4", 2707 | "symfony/yaml": "<3.4" 2708 | }, 2709 | "require-dev": { 2710 | "psr/log": "~1.0", 2711 | "symfony/config": "~3.4|~4.0", 2712 | "symfony/dependency-injection": "~3.4|~4.0", 2713 | "symfony/finder": "~2.8|~3.0|~4.0", 2714 | "symfony/intl": "~3.4|~4.0", 2715 | "symfony/yaml": "~3.4|~4.0" 2716 | }, 2717 | "suggest": { 2718 | "psr/log-implementation": "To use logging capability in translator", 2719 | "symfony/config": "", 2720 | "symfony/yaml": "" 2721 | }, 2722 | "type": "library", 2723 | "extra": { 2724 | "branch-alias": { 2725 | "dev-master": "4.0-dev" 2726 | } 2727 | }, 2728 | "autoload": { 2729 | "psr-4": { 2730 | "Symfony\\Component\\Translation\\": "" 2731 | }, 2732 | "exclude-from-classmap": [ 2733 | "/Tests/" 2734 | ] 2735 | }, 2736 | "notification-url": "https://packagist.org/downloads/", 2737 | "license": [ 2738 | "MIT" 2739 | ], 2740 | "authors": [ 2741 | { 2742 | "name": "Fabien Potencier", 2743 | "email": "fabien@symfony.com" 2744 | }, 2745 | { 2746 | "name": "Symfony Community", 2747 | "homepage": "https://symfony.com/contributors" 2748 | } 2749 | ], 2750 | "description": "Symfony Translation Component", 2751 | "homepage": "https://symfony.com", 2752 | "time": "2018-04-30T01:23:47+00:00" 2753 | }, 2754 | { 2755 | "name": "symfony/yaml", 2756 | "version": "v4.0.9", 2757 | "source": { 2758 | "type": "git", 2759 | "url": "https://github.com/symfony/yaml.git", 2760 | "reference": "275ad099e4cbe612a2acbca14a16dd1c5311324d" 2761 | }, 2762 | "dist": { 2763 | "type": "zip", 2764 | "url": "https://api.github.com/repos/symfony/yaml/zipball/275ad099e4cbe612a2acbca14a16dd1c5311324d", 2765 | "reference": "275ad099e4cbe612a2acbca14a16dd1c5311324d", 2766 | "shasum": "" 2767 | }, 2768 | "require": { 2769 | "php": "^7.1.3" 2770 | }, 2771 | "conflict": { 2772 | "symfony/console": "<3.4" 2773 | }, 2774 | "require-dev": { 2775 | "symfony/console": "~3.4|~4.0" 2776 | }, 2777 | "suggest": { 2778 | "symfony/console": "For validating YAML files using the lint command" 2779 | }, 2780 | "type": "library", 2781 | "extra": { 2782 | "branch-alias": { 2783 | "dev-master": "4.0-dev" 2784 | } 2785 | }, 2786 | "autoload": { 2787 | "psr-4": { 2788 | "Symfony\\Component\\Yaml\\": "" 2789 | }, 2790 | "exclude-from-classmap": [ 2791 | "/Tests/" 2792 | ] 2793 | }, 2794 | "notification-url": "https://packagist.org/downloads/", 2795 | "license": [ 2796 | "MIT" 2797 | ], 2798 | "authors": [ 2799 | { 2800 | "name": "Fabien Potencier", 2801 | "email": "fabien@symfony.com" 2802 | }, 2803 | { 2804 | "name": "Symfony Community", 2805 | "homepage": "https://symfony.com/contributors" 2806 | } 2807 | ], 2808 | "description": "Symfony Yaml Component", 2809 | "homepage": "https://symfony.com", 2810 | "time": "2018-04-08T08:49:08+00:00" 2811 | }, 2812 | { 2813 | "name": "theseer/tokenizer", 2814 | "version": "1.1.0", 2815 | "source": { 2816 | "type": "git", 2817 | "url": "https://github.com/theseer/tokenizer.git", 2818 | "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" 2819 | }, 2820 | "dist": { 2821 | "type": "zip", 2822 | "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", 2823 | "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", 2824 | "shasum": "" 2825 | }, 2826 | "require": { 2827 | "ext-dom": "*", 2828 | "ext-tokenizer": "*", 2829 | "ext-xmlwriter": "*", 2830 | "php": "^7.0" 2831 | }, 2832 | "type": "library", 2833 | "autoload": { 2834 | "classmap": [ 2835 | "src/" 2836 | ] 2837 | }, 2838 | "notification-url": "https://packagist.org/downloads/", 2839 | "license": [ 2840 | "BSD-3-Clause" 2841 | ], 2842 | "authors": [ 2843 | { 2844 | "name": "Arne Blankerts", 2845 | "email": "arne@blankerts.de", 2846 | "role": "Developer" 2847 | } 2848 | ], 2849 | "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", 2850 | "time": "2017-04-07T12:08:54+00:00" 2851 | }, 2852 | { 2853 | "name": "webmozart/assert", 2854 | "version": "1.3.0", 2855 | "source": { 2856 | "type": "git", 2857 | "url": "https://github.com/webmozart/assert.git", 2858 | "reference": "0df1908962e7a3071564e857d86874dad1ef204a" 2859 | }, 2860 | "dist": { 2861 | "type": "zip", 2862 | "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", 2863 | "reference": "0df1908962e7a3071564e857d86874dad1ef204a", 2864 | "shasum": "" 2865 | }, 2866 | "require": { 2867 | "php": "^5.3.3 || ^7.0" 2868 | }, 2869 | "require-dev": { 2870 | "phpunit/phpunit": "^4.6", 2871 | "sebastian/version": "^1.0.1" 2872 | }, 2873 | "type": "library", 2874 | "extra": { 2875 | "branch-alias": { 2876 | "dev-master": "1.3-dev" 2877 | } 2878 | }, 2879 | "autoload": { 2880 | "psr-4": { 2881 | "Webmozart\\Assert\\": "src/" 2882 | } 2883 | }, 2884 | "notification-url": "https://packagist.org/downloads/", 2885 | "license": [ 2886 | "MIT" 2887 | ], 2888 | "authors": [ 2889 | { 2890 | "name": "Bernhard Schussek", 2891 | "email": "bschussek@gmail.com" 2892 | } 2893 | ], 2894 | "description": "Assertions to validate method input/output with nice error messages.", 2895 | "keywords": [ 2896 | "assert", 2897 | "check", 2898 | "validate" 2899 | ], 2900 | "time": "2018-01-29T19:49:41+00:00" 2901 | } 2902 | ], 2903 | "aliases": [], 2904 | "minimum-stability": "stable", 2905 | "stability-flags": [], 2906 | "prefer-stable": false, 2907 | "prefer-lowest": false, 2908 | "platform": { 2909 | "php": "^7.1", 2910 | "ext-pdo_sqlite": "*" 2911 | }, 2912 | "platform-dev": [] 2913 | } 2914 | --------------------------------------------------------------------------------