diff --git a/.gitignore b/.gitignore
index 2e20404..0cdc741 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
data
vendor
-composer.lock
phing*.phar
-*.bat
\ No newline at end of file
+*.bat
+.idea
+.phpunit.result.cache
diff --git a/.travis.yml b/.travis.yml
index c1600db..79427ac 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,21 +1,21 @@
language: php
php:
- - 5.6
- - 7
- - 7.1
- 7.2
+ - 7.3
+ - 7.4
+ - 8
before_script:
- composer update --prefer-source
script:
- ./vendor/bin/phpunit
- - ./vendor/bin/phpcs --standard=PSR2 --ignore="test/Bootstrap.php" ./src/ ./test/
+ - ./vendor/bin/phpcs --standard=PSR2 --ignore="test/Bootstrap.php" ./src/ ./tests/
after_script:
- - if [ $TRAVIS_PHP_VERSION != '7' ] && [ $TRAVIS_PHP_VERSION != '7.1' ] && [ $TRAVIS_PHP_VERSION != '7.2' ]; then wget https://scrutinizer-ci.com/ocular.phar; fi
- - if [ $TRAVIS_PHP_VERSION != '7' ] && [ $TRAVIS_PHP_VERSION != '7.1' ] && [ $TRAVIS_PHP_VERSION != '7.2' ]; then php ocular.phar code-coverage:upload --format=php-clover ./build/logs/clover.xml; fi
+ - if [ $TRAVIS_PHP_VERSION != '7.3' ] && [ $TRAVIS_PHP_VERSION != '7.4' ] && [ $TRAVIS_PHP_VERSION != '8' ]; then wget https://scrutinizer-ci.com/ocular.phar; fi
+ - if [ $TRAVIS_PHP_VERSION != '7.3' ] && [ $TRAVIS_PHP_VERSION != '7.4' ] && [ $TRAVIS_PHP_VERSION != '8' ]; then php ocular.phar code-coverage:upload --format=php-clover ./build/logs/clover.xml; fi
notifications:
email: false
diff --git a/README.md b/README.md
index 9fd4abf..e1da7d5 100644
--- a/README.md
+++ b/README.md
@@ -7,22 +7,23 @@
[![Total Downloads](https://poser.pugx.org/tck/zf2-imageresizer/downloads)](https://packagist.org/packages/tck/zf2-imageresizer)
[![License](https://poser.pugx.org/tck/zf2-imageresizer/license)](https://packagist.org/packages/tck/zf2-imageresizer)
-This Zend Framework module, once enabled, allows image resizing and manipulation by url.
+This Laminas module, once enabled, allows image resizing and manipulation by url.
### Requirements
-* PHP 5.6+
-* [Zend Framework 3](https://github.com/zendframework/zendframework) (> 3.0)
-* [Imagine](http://imagine.readthedocs.org/en/latest/) (> 0.6)
+* PHP 7.2+
+* [Laminas MVC](https://docs.laminas.dev/mvc/)
+* [Imagine](http://imagine.readthedocs.org/en/latest/)
-> **IMPORTANT! Version notes**
+> **IMPORTANT! Version notes**
+> * Version **3.x**: Laminas, dropped support for Zend Framework 3.
> * Version **2.x**: Zend Framework 3, dropped support for Zend Framework 2.
> * Version **1.x**: Zend Framework 2
### Installation
-Install via composer in your zf project
+Install via composer in your Laminas project
$ composer require tck/zf2-imageresizer
@@ -59,7 +60,7 @@ Example: Create a thumbnail and grayscale image
* `processed/`img/logo`.$thumb,160,120$grayscale`.jpg
#### View helper
-ZF2 tempalte:
+Laminas tempalte:
```php
diff --git a/build.xml b/build.xml
index d1a2a5d..4df990f 100644
--- a/build.xml
+++ b/build.xml
@@ -8,11 +8,11 @@
@@ -34,7 +34,6 @@
-
@@ -46,7 +45,6 @@
-
@@ -68,7 +66,7 @@
-
+
@@ -83,7 +81,7 @@
-
+
@@ -100,7 +98,7 @@
-
+
@@ -155,7 +153,7 @@
-
+
@@ -212,13 +210,4 @@
-
-
-
-
-
-
diff --git a/build/.gitignore b/build/.gitignore
index 6e150a6..ce1ba3d 100644
--- a/build/.gitignore
+++ b/build/.gitignore
@@ -1,5 +1,4 @@
api
-coverage
+html-coverage
logs
-pdepend
-phpdox
\ No newline at end of file
+pdepend
\ No newline at end of file
diff --git a/build/phpdox.xml b/build/phpdox.xml
deleted file mode 100644
index 26de319..0000000
--- a/build/phpdox.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/composer.json b/composer.json
index 2e6691f..9ffb562 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
{
"name": "tck/zf2-imageresizer",
- "description": "Image resizer and manipulation module for Zend Framework 3",
+ "description": "Image resizer and manipulation module for Laminas",
"type": "library",
"authors": [
{
@@ -13,6 +13,9 @@
"image",
"zend",
"zf2",
+ "zf3",
+ "laminas",
+ "mvc",
"php"
],
"homepage": "https://github.com/tck/zf2-imageresizer",
@@ -20,37 +23,38 @@
"MIT"
],
"require": {
- "php": "^5.6 || ^7.0",
- "zendframework/zend-mvc": "^3.0.1",
- "zendframework/zend-loader": "^2.5.1",
- "zendframework/zend-modulemanager": "^2.7.2",
- "zendframework/zend-config": "^2.6 || ^3.0",
- "zendframework/zend-cache": "^2.7.1",
- "zendframework/zend-log": "^2.9",
- "zendframework/zend-view": "^2.8",
- "zendframework/zend-i18n": "^2.7.3",
- "zendframework/zend-console": "^2.6",
- "zendframework/zend-http": "^2.5.4",
+ "php": "^7.2 || ^8.0",
+ "laminas/laminas-mvc": "^3.0.1",
+ "laminas/laminas-loader": "^2.5.1",
+ "laminas/laminas-modulemanager": "^2.7.2",
+ "laminas/laminas-config": "^2.6 || ^3.0",
+ "laminas/laminas-cache": "^2.7.1",
+ "laminas/laminas-log": "^2.9",
+ "laminas/laminas-view": "^2.8",
+ "laminas/laminas-i18n": "^2.7.3",
+ "laminas/laminas-console": "^2.6",
+ "laminas/laminas-http": "^2.5.4",
"imagine/imagine": "^0.6 || ^1.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.3|~5",
"mikey179/vfsstream": "1.*",
- "squizlabs/php_codesniffer": "1.*",
- "phploc/phploc": "2.*",
+ "squizlabs/php_codesniffer": "^3.5",
+ "phploc/phploc": "^7.0",
"pdepend/pdepend": "2.*",
"phpmd/phpmd": "2.*",
- "sebastian/phpcpd": "2.*",
- "theseer/phpdox": "0.7.*",
- "nikic/php-parser": "<1.2.0",
- "zendframework/zend-serializer": "~2.5"
+ "laminas/laminas-serializer": "~2.5",
+ "phpunit/phpunit": "^9.5",
+ "nikic/php-parser": "^4.10",
+ "sebastian/phpcpd": "^6.0"
},
"autoload": {
- "psr-4" : {
- "TckImageResizer\\": "TckImageResizer/src/"
- },
- "classmap": [
- "./Module.php"
- ]
+ "psr-4": {
+ "TckImageResizer\\": "./src/"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "TckImageResizerTest\\": "./tests/TckImageResizerTest/"
+ }
}
}
diff --git a/composer.lock b/composer.lock
new file mode 100644
index 0000000..465f7ef
--- /dev/null
+++ b/composer.lock
@@ -0,0 +1,5794 @@
+{
+ "_readme": [
+ "This file locks the dependencies of your project to a known state",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+ "This file is @generated automatically"
+ ],
+ "content-hash": "57ace30420afea42a875ff1a52a25c91",
+ "packages": [
+ {
+ "name": "brick/varexporter",
+ "version": "0.3.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/brick/varexporter.git",
+ "reference": "736378d357a189a692390bbc9e0eed835b079805"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/brick/varexporter/zipball/736378d357a189a692390bbc9e0eed835b079805",
+ "reference": "736378d357a189a692390bbc9e0eed835b079805",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.0",
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "php-coveralls/php-coveralls": "^2.2",
+ "phpunit/phpunit": "^8.5 || ^9.0",
+ "vimeo/psalm": "^4.3"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Brick\\VarExporter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "A powerful alternative to var_export(), which can export closures and objects without __set_state()",
+ "keywords": [
+ "var_export"
+ ],
+ "support": {
+ "issues": "https://github.com/brick/varexporter/issues",
+ "source": "https://github.com/brick/varexporter/tree/0.3.3"
+ },
+ "time": "2020-12-24T15:04:41+00:00"
+ },
+ {
+ "name": "container-interop/container-interop",
+ "version": "1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/container-interop/container-interop.git",
+ "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8",
+ "reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8",
+ "shasum": ""
+ },
+ "require": {
+ "psr/container": "^1.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Interop\\Container\\": "src/Interop/Container/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
+ "homepage": "https://github.com/container-interop/container-interop",
+ "support": {
+ "issues": "https://github.com/container-interop/container-interop/issues",
+ "source": "https://github.com/container-interop/container-interop/tree/master"
+ },
+ "abandoned": "psr/container",
+ "time": "2017-02-14T19:40:03+00:00"
+ },
+ {
+ "name": "imagine/imagine",
+ "version": "1.2.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/avalanche123/Imagine.git",
+ "reference": "d2e18be6e930ca169e4f921ef73ebfc061bf55d8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/avalanche123/Imagine/zipball/d2e18be6e930ca169e4f921ef73ebfc061bf55d8",
+ "reference": "d2e18be6e930ca169e4f921ef73ebfc061bf55d8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.2"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^2.2",
+ "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5 || ^7.5 || ^8.4 || ^9.3"
+ },
+ "suggest": {
+ "ext-gd": "to use the GD implementation",
+ "ext-gmagick": "to use the Gmagick implementation",
+ "ext-imagick": "to use the Imagick implementation"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-develop": "0.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Imagine\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bulat Shakirzyanov",
+ "email": "mallluhuct@gmail.com",
+ "homepage": "http://avalanche123.com"
+ }
+ ],
+ "description": "Image processing for PHP 5.3",
+ "homepage": "http://imagine.readthedocs.org/",
+ "keywords": [
+ "drawing",
+ "graphics",
+ "image manipulation",
+ "image processing"
+ ],
+ "support": {
+ "issues": "https://github.com/avalanche123/Imagine/issues",
+ "source": "https://github.com/avalanche123/Imagine/tree/1.2.4"
+ },
+ "time": "2020-11-03T22:35:03+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache",
+ "version": "2.10.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache.git",
+ "reference": "060b2a71d42b12122a3546594727e7d4b870abd5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache/zipball/060b2a71d42b12122a3546594727e7d4b870abd5",
+ "reference": "060b2a71d42b12122a3546594727e7d4b870abd5",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-cache-storage-adapter-apc": "^1.0",
+ "laminas/laminas-cache-storage-adapter-apcu": "^1.0",
+ "laminas/laminas-cache-storage-adapter-blackhole": "^1.0",
+ "laminas/laminas-cache-storage-adapter-dba": "^1.0",
+ "laminas/laminas-cache-storage-adapter-ext-mongodb": "^1.0",
+ "laminas/laminas-cache-storage-adapter-filesystem": "^1.0",
+ "laminas/laminas-cache-storage-adapter-memcache": "^1.0",
+ "laminas/laminas-cache-storage-adapter-memcached": "^1.0",
+ "laminas/laminas-cache-storage-adapter-memory": "^1.0",
+ "laminas/laminas-cache-storage-adapter-mongodb": "^1.0",
+ "laminas/laminas-cache-storage-adapter-redis": "^1.0",
+ "laminas/laminas-cache-storage-adapter-session": "^1.0",
+ "laminas/laminas-cache-storage-adapter-wincache": "^1.0",
+ "laminas/laminas-cache-storage-adapter-xcache": "^1.0",
+ "laminas/laminas-cache-storage-adapter-zend-server": "^1.0",
+ "laminas/laminas-eventmanager": "^2.6.3 || ^3.2",
+ "laminas/laminas-servicemanager": "^2.7.8 || ^3.3",
+ "laminas/laminas-stdlib": "^3.2.1",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^5.6 || ^7.0",
+ "psr/cache": "^1.0",
+ "psr/simple-cache": "^1.0"
+ },
+ "provide": {
+ "psr/cache-implementation": "1.0",
+ "psr/simple-cache-implementation": "1.0"
+ },
+ "replace": {
+ "zendframework/zend-cache": "^2.9.0"
+ },
+ "require-dev": {
+ "cache/integration-tests": "^0.16",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-serializer": "^2.6",
+ "phpbench/phpbench": "^0.13",
+ "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2"
+ },
+ "suggest": {
+ "laminas/laminas-serializer": "Laminas\\Serializer component"
+ },
+ "type": "library",
+ "extra": {
+ "laminas": {
+ "component": "Laminas\\Cache",
+ "config-provider": "Laminas\\Cache\\ConfigProvider"
+ }
+ },
+ "autoload": {
+ "files": [
+ "autoload/patternPluginManagerPolyfill.php"
+ ],
+ "psr-4": {
+ "Laminas\\Cache\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Caching implementation with a variety of storage options, as well as codified caching strategies for callbacks, classes, and output",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "cache",
+ "laminas",
+ "psr-16",
+ "psr-6"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-cache/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-cache/issues",
+ "rss": "https://github.com/laminas/laminas-cache/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-11-08T13:01:19+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-apc",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-apc.git",
+ "reference": "8b375d994f6e67534f6ae6e995249e706faa30c1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-apc/zipball/8b375d994f6e67534f6ae6e995249e706faa30c1",
+ "reference": "8b375d994f6e67534f6ae6e995249e706faa30c1",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2"
+ },
+ "suggest": {
+ "ext-apc": "APC or compatible extension, to use the APC storage adapter"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-apc/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-apc/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-apc/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-apc"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:04:12+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-apcu",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-apcu.git",
+ "reference": "1fdd7585042c1a577f6e630535df1e86e23cf5dc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-apcu/zipball/1fdd7585042c1a577f6e630535df1e86e23cf5dc",
+ "reference": "1fdd7585042c1a577f6e630535df1e86e23cf5dc",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "suggest": {
+ "ext-apcu": "APCU >= 5.1.0, to use the APCu storage adapter"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for apcu",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-apcu/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-apcu/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-apcu/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-apcu"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:05:19+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-blackhole",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-blackhole.git",
+ "reference": "5f2cb437160fbc01d7f216b11e4f1ff4c9b95c49"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-blackhole/zipball/5f2cb437160fbc01d7f216b11e4f1ff4c9b95c49",
+ "reference": "5f2cb437160fbc01d7f216b11e4f1ff4c9b95c49",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for blackhole",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-blackhole/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-blackhole/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-blackhole/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-blackhole"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:07:07+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-dba",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-dba.git",
+ "reference": "ad968d3d8a0350af8e6717be58bb96e5a9e77f3b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-dba/zipball/ad968d3d8a0350af8e6717be58bb96e5a9e77f3b",
+ "reference": "ad968d3d8a0350af8e6717be58bb96e5a9e77f3b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "suggest": {
+ "ext-dba": "DBA, to use the DBA storage adapter"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for dba",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-dba/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-dba/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-dba/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-dba"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:08:58+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-ext-mongodb",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-ext-mongodb.git",
+ "reference": "011ec5a8ca721ba012d232b1a01b50a55904b99f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-ext-mongodb/zipball/011ec5a8ca721ba012d232b1a01b50a55904b99f",
+ "reference": "011ec5a8ca721ba012d232b1a01b50a55904b99f",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "suggest": {
+ "ext-mongodb": "MongoDB, to use the ExtMongoDb storage adapter"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for ext-mongodb",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-ext-mongodb/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-ext-mongodb/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-ext-mongodb/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-ext-mongodb"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:11:06+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-filesystem",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-filesystem.git",
+ "reference": "e803d9942b30396491efbe649a3886450d22385f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-filesystem/zipball/e803d9942b30396491efbe649a3886450d22385f",
+ "reference": "e803d9942b30396491efbe649a3886450d22385f",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-cache": "^2.10@dev",
+ "php": "^7.3 || ~8.0.0"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for filesystem",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-filesystem/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-filesystem/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-filesystem/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-filesystem"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-12-31T04:18:10+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-memcache",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-memcache.git",
+ "reference": "62d0fab1cd261b44a81821e986c0110d7dda896b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-memcache/zipball/62d0fab1cd261b44a81821e986c0110d7dda896b",
+ "reference": "62d0fab1cd261b44a81821e986c0110d7dda896b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "suggest": {
+ "ext-memcache": "Memcache >= 2.0.0 to use the Memcache storage adapter"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for memcache",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-memcache/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-memcache/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-memcache/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-memcache"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:13:36+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-memcached",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-memcached.git",
+ "reference": "29599106bb501eb96207b175c460c95487518db1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-memcached/zipball/29599106bb501eb96207b175c460c95487518db1",
+ "reference": "29599106bb501eb96207b175c460c95487518db1",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for memcached",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-memcached/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-memcached/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-memcached/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-memcached"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:16:42+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-memory",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-memory.git",
+ "reference": "58f4b45281552bb6673c900fadddad21e0ed05c8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-memory/zipball/58f4b45281552bb6673c900fadddad21e0ed05c8",
+ "reference": "58f4b45281552bb6673c900fadddad21e0ed05c8",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for memory",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-memory/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-memory/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-memory/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-memory"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:17:47+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-mongodb",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-mongodb.git",
+ "reference": "ef4aa396b55533b8eb3e1d4126c39a78a22e49a6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-mongodb/zipball/ef4aa396b55533b8eb3e1d4126c39a78a22e49a6",
+ "reference": "ef4aa396b55533b8eb3e1d4126c39a78a22e49a6",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for mongodb",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-mongodb/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-mongodb/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-mongodb/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-mongodb"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:19:10+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-redis",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-redis.git",
+ "reference": "3fe904953d17728d7fdaa87be603231f23fb0a4d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-redis/zipball/3fe904953d17728d7fdaa87be603231f23fb0a4d",
+ "reference": "3fe904953d17728d7fdaa87be603231f23fb0a4d",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for redis",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-redis/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-redis/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-redis/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-redis"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:20:13+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-session",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-session.git",
+ "reference": "0d2276cd61bd162cd38c53aaa22f18137621dc0c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-session/zipball/0d2276cd61bd162cd38c53aaa22f18137621dc0c",
+ "reference": "0d2276cd61bd162cd38c53aaa22f18137621dc0c",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-session": "^2.7.4",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "suggest": {
+ "laminas/laminas-session": "Laminas\\Session component"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for session",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-session/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-session/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-session/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-session"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:21:28+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-wincache",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-wincache.git",
+ "reference": "0f54599c5d9aff11b01adadd2742097f923170ba"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-wincache/zipball/0f54599c5d9aff11b01adadd2742097f923170ba",
+ "reference": "0f54599c5d9aff11b01adadd2742097f923170ba",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "suggest": {
+ "ext-wincache": "WinCache, to use the WinCache storage adapter"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for wincache",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-wincache/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-wincache/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-wincache/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-wincache"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:22:49+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-xcache",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-xcache.git",
+ "reference": "24049557aa796ec7527bcc8032ed68346232b219"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-xcache/zipball/24049557aa796ec7527bcc8032ed68346232b219",
+ "reference": "24049557aa796ec7527bcc8032ed68346232b219",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-serializer": "^2.9",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "suggest": {
+ "ext-xcache": "XCache, to use the XCache storage adapter"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for xcache",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-xcache/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-xcache/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-xcache/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-xcache"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:23:46+00:00"
+ },
+ {
+ "name": "laminas/laminas-cache-storage-adapter-zend-server",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-cache-storage-adapter-zend-server.git",
+ "reference": "8d0b0d219a048a92472d89a5e527990f3ea2decc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-zend-server/zipball/8d0b0d219a048a92472d89a5e527990f3ea2decc",
+ "reference": "8d0b0d219a048a92472d89a5e527990f3ea2decc",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0"
+ },
+ "conflict": {
+ "laminas/laminas-cache": "<2.10"
+ },
+ "provide": {
+ "laminas/laminas-cache-storage-implementation": "1.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.10",
+ "laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "squizlabs/php_codesniffer": "^2.7"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Cache\\Storage\\Adapter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas cache adapter for zend-server",
+ "keywords": [
+ "cache",
+ "laminas"
+ ],
+ "support": {
+ "docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-zend-server/",
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-cache-storage-adapter-zend-server/issues",
+ "rss": "https://github.com/laminas/laminas-cache-storage-adapter-zend-server/releases.atom",
+ "source": "https://github.com/laminas/laminas-cache-storage-adapter-zend-server"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-12T16:24:25+00:00"
+ },
+ {
+ "name": "laminas/laminas-config",
+ "version": "3.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-config.git",
+ "reference": "0bce6f5abab41dc673196741883b19018a2b5994"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-config/zipball/0bce6f5abab41dc673196741883b19018a2b5994",
+ "reference": "0bce6f5abab41dc673196741883b19018a2b5994",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "laminas/laminas-stdlib": "^2.7.7 || ^3.1",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ^8.0",
+ "psr/container": "^1.0"
+ },
+ "conflict": {
+ "container-interop/container-interop": "<1.2.0"
+ },
+ "replace": {
+ "zendframework/zend-config": "^3.3.0"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-filter": "^2.7.2",
+ "laminas/laminas-i18n": "^2.10.3",
+ "laminas/laminas-servicemanager": "^3.4.1",
+ "malukenho/docheader": "^0.1.6",
+ "phpunit/phpunit": "^8.5.8"
+ },
+ "suggest": {
+ "laminas/laminas-filter": "^2.7.2; install if you want to use the Filter processor",
+ "laminas/laminas-i18n": "^2.7.4; install if you want to use the Translator processor",
+ "laminas/laminas-servicemanager": "^2.7.8 || ^3.3; if you need an extensible plugin manager for use with the Config Factory"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.4.x-dev",
+ "dev-develop": "3.5.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Config\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "provides a nested object property based user interface for accessing this configuration data within application code",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "config",
+ "laminas"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-config/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-config/issues",
+ "rss": "https://github.com/laminas/laminas-config/releases.atom",
+ "source": "https://github.com/laminas/laminas-config"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-08-25T11:56:37+00:00"
+ },
+ {
+ "name": "laminas/laminas-console",
+ "version": "2.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-console.git",
+ "reference": "478a6ceac3e31fb38d6314088abda8b239ee23a5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-console/zipball/478a6ceac3e31fb38d6314088abda8b239ee23a5",
+ "reference": "478a6ceac3e31fb38d6314088abda8b239ee23a5",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-stdlib": "^3.2.1",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^5.6 || ^7.0"
+ },
+ "replace": {
+ "zendframework/zend-console": "self.version"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-filter": "^2.7.2",
+ "laminas/laminas-json": "^2.6 || ^3.0",
+ "laminas/laminas-validator": "^2.10.1",
+ "phpunit/phpunit": "^5.7.23 || ^6.4.3"
+ },
+ "suggest": {
+ "laminas/laminas-filter": "To support DefaultRouteMatcher usage",
+ "laminas/laminas-validator": "To support DefaultRouteMatcher usage"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.8.x-dev",
+ "dev-develop": "2.9.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Console\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Build console applications using getopt syntax or routing, complete with prompts",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "console",
+ "laminas"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-console/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-console/issues",
+ "rss": "https://github.com/laminas/laminas-console/releases.atom",
+ "source": "https://github.com/laminas/laminas-console"
+ },
+ "time": "2019-12-31T16:31:45+00:00"
+ },
+ {
+ "name": "laminas/laminas-escaper",
+ "version": "2.7.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-escaper.git",
+ "reference": "5e04bc5ae5990b17159d79d331055e2c645e5cc5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/5e04bc5ae5990b17159d79d331055e2c645e5cc5",
+ "reference": "5e04bc5ae5990b17159d79d331055e2c645e5cc5",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ~8.0.0"
+ },
+ "replace": {
+ "zendframework/zend-escaper": "^2.6.1"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "phpunit/phpunit": "^9.3",
+ "psalm/plugin-phpunit": "^0.12.2",
+ "vimeo/psalm": "^3.16"
+ },
+ "suggest": {
+ "ext-iconv": "*",
+ "ext-mbstring": "*"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Escaper\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "escaper",
+ "laminas"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-escaper/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-escaper/issues",
+ "rss": "https://github.com/laminas/laminas-escaper/releases.atom",
+ "source": "https://github.com/laminas/laminas-escaper"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-11-17T21:26:43+00:00"
+ },
+ {
+ "name": "laminas/laminas-eventmanager",
+ "version": "3.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-eventmanager.git",
+ "reference": "1940ccf30e058b2fd66f5a9d696f1b5e0027b082"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/1940ccf30e058b2fd66f5a9d696f1b5e0027b082",
+ "reference": "1940ccf30e058b2fd66f5a9d696f1b5e0027b082",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ^8.0"
+ },
+ "replace": {
+ "zendframework/zend-eventmanager": "^3.2.1"
+ },
+ "require-dev": {
+ "container-interop/container-interop": "^1.1",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-stdlib": "^2.7.3 || ^3.0",
+ "phpbench/phpbench": "^0.17.1",
+ "phpunit/phpunit": "^8.5.8"
+ },
+ "suggest": {
+ "container-interop/container-interop": "^1.1, to use the lazy listeners feature",
+ "laminas/laminas-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.3.x-dev",
+ "dev-develop": "3.4.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laminas\\EventManager\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Trigger and listen to events within a PHP application",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "event",
+ "eventmanager",
+ "events",
+ "laminas"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-eventmanager/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-eventmanager/issues",
+ "rss": "https://github.com/laminas/laminas-eventmanager/releases.atom",
+ "source": "https://github.com/laminas/laminas-eventmanager"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-08-25T11:10:44+00:00"
+ },
+ {
+ "name": "laminas/laminas-http",
+ "version": "2.14.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-http.git",
+ "reference": "298f732e1acb031db70ea4fd2133a283b2a4a65e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-http/zipball/298f732e1acb031db70ea4fd2133a283b2a4a65e",
+ "reference": "298f732e1acb031db70ea4fd2133a283b2a4a65e",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-loader": "^2.5.1",
+ "laminas/laminas-stdlib": "^3.2.1",
+ "laminas/laminas-uri": "^2.5.2",
+ "laminas/laminas-validator": "^2.10.1",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ~8.0.0"
+ },
+ "replace": {
+ "zendframework/zend-http": "^2.11.2"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-config": "^3.1 || ^2.6",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "paragonie/certainty": "For automated management of cacert.pem"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Http\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "http",
+ "http client",
+ "laminas"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-http/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-http/issues",
+ "rss": "https://github.com/laminas/laminas-http/releases.atom",
+ "source": "https://github.com/laminas/laminas-http"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2021-01-05T16:10:52+00:00"
+ },
+ {
+ "name": "laminas/laminas-i18n",
+ "version": "2.11.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-i18n.git",
+ "reference": "85678f444b6dcb48e8a04591779e11c24e5bb901"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-i18n/zipball/85678f444b6dcb48e8a04591779e11c24e5bb901",
+ "reference": "85678f444b6dcb48e8a04591779e11c24e5bb901",
+ "shasum": ""
+ },
+ "require": {
+ "ext-intl": "*",
+ "laminas/laminas-stdlib": "^2.7 || ^3.0",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ~8.0.0"
+ },
+ "conflict": {
+ "phpspec/prophecy": "<1.9.0"
+ },
+ "replace": {
+ "zendframework/zend-i18n": "^2.10.1"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.6.1",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-config": "^2.6",
+ "laminas/laminas-eventmanager": "^2.6.2 || ^3.0",
+ "laminas/laminas-filter": "^2.6.1",
+ "laminas/laminas-servicemanager": "^3.2.1",
+ "laminas/laminas-validator": "^2.6",
+ "laminas/laminas-view": "^2.6.3",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "laminas/laminas-cache": "Laminas\\Cache component",
+ "laminas/laminas-config": "Laminas\\Config component",
+ "laminas/laminas-eventmanager": "You should install this package to use the events in the translator",
+ "laminas/laminas-filter": "You should install this package to use the provided filters",
+ "laminas/laminas-i18n-resources": "Translation resources",
+ "laminas/laminas-servicemanager": "Laminas\\ServiceManager component",
+ "laminas/laminas-validator": "You should install this package to use the provided validators",
+ "laminas/laminas-view": "You should install this package to use the provided view helpers"
+ },
+ "type": "library",
+ "extra": {
+ "laminas": {
+ "component": "Laminas\\I18n",
+ "config-provider": "Laminas\\I18n\\ConfigProvider"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laminas\\I18n\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Provide translations for your application, and filter and validate internationalized values",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "i18n",
+ "laminas"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-i18n/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-i18n/issues",
+ "rss": "https://github.com/laminas/laminas-i18n/releases.atom",
+ "source": "https://github.com/laminas/laminas-i18n"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-24T13:14:32+00:00"
+ },
+ {
+ "name": "laminas/laminas-json",
+ "version": "3.1.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-json.git",
+ "reference": "00dc0da7b5e5018904c5c4a8e80a5faa16c2c1c6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-json/zipball/00dc0da7b5e5018904c5c4a8e80a5faa16c2c1c6",
+ "reference": "00dc0da7b5e5018904c5c4a8e80a5faa16c2c1c6",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^5.6 || ^7.0"
+ },
+ "replace": {
+ "zendframework/zend-json": "self.version"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-stdlib": "^2.7.7 || ^3.1",
+ "phpunit/phpunit": "^5.7.23 || ^6.4.3"
+ },
+ "suggest": {
+ "laminas/laminas-json-server": "For implementing JSON-RPC servers",
+ "laminas/laminas-xml2json": "For converting XML documents to JSON"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1.x-dev",
+ "dev-develop": "3.2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Json\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "json",
+ "laminas"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-json/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-json/issues",
+ "rss": "https://github.com/laminas/laminas-json/releases.atom",
+ "source": "https://github.com/laminas/laminas-json"
+ },
+ "time": "2019-12-31T17:15:04+00:00"
+ },
+ {
+ "name": "laminas/laminas-loader",
+ "version": "2.6.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-loader.git",
+ "reference": "5d01c2c237ae9e68bec262f339947e2ea18979bc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-loader/zipball/5d01c2c237ae9e68bec262f339947e2ea18979bc",
+ "reference": "5d01c2c237ae9e68bec262f339947e2ea18979bc",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^5.6 || ^7.0"
+ },
+ "replace": {
+ "zendframework/zend-loader": "self.version"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.6.x-dev",
+ "dev-develop": "2.7.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Loader\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Autoloading and plugin loading strategies",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "loader"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-loader/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-loader/issues",
+ "rss": "https://github.com/laminas/laminas-loader/releases.atom",
+ "source": "https://github.com/laminas/laminas-loader"
+ },
+ "time": "2019-12-31T17:18:27+00:00"
+ },
+ {
+ "name": "laminas/laminas-log",
+ "version": "2.13.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-log.git",
+ "reference": "71bb2c98e0286c447488e71290ecf0beb44e6ca5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-log/zipball/71bb2c98e0286c447488e71290ecf0beb44e6ca5",
+ "reference": "71bb2c98e0286c447488e71290ecf0beb44e6ca5",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-servicemanager": "^3.3.0",
+ "laminas/laminas-stdlib": "^3.0",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ~8.0.0",
+ "psr/log": "^1.1.2"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0.0"
+ },
+ "replace": {
+ "zendframework/zend-log": "^2.12.0"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-db": "^2.6",
+ "laminas/laminas-escaper": "^2.5",
+ "laminas/laminas-filter": "^2.5",
+ "laminas/laminas-mail": "^2.6.1",
+ "laminas/laminas-validator": "^2.10.1",
+ "mikey179/vfsstream": "^1.6.7",
+ "phpspec/prophecy-phpunit": "^2.0",
+ "phpunit/phpunit": "^9.4.1"
+ },
+ "suggest": {
+ "ext-mongo": "mongo extension to use Mongo writer",
+ "ext-mongodb": "mongodb extension to use MongoDB writer",
+ "laminas/laminas-db": "Laminas\\Db component to use the database log writer",
+ "laminas/laminas-escaper": "Laminas\\Escaper component, for use in the XML log formatter",
+ "laminas/laminas-mail": "Laminas\\Mail component to use the email log writer",
+ "laminas/laminas-validator": "Laminas\\Validator component to block invalid log messages"
+ },
+ "type": "library",
+ "extra": {
+ "laminas": {
+ "component": "Laminas\\Log",
+ "config-provider": "Laminas\\Log\\ConfigProvider"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Log\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Robust, composite logger with filtering, formatting, and PSR-3 support",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "log",
+ "logging"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-log/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-log/issues",
+ "rss": "https://github.com/laminas/laminas-log/releases.atom",
+ "source": "https://github.com/laminas/laminas-log"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-11-19T17:09:53+00:00"
+ },
+ {
+ "name": "laminas/laminas-modulemanager",
+ "version": "2.10.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-modulemanager.git",
+ "reference": "637aaaf2c85d13694b096e253e5884653f93bb92"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-modulemanager/zipball/637aaaf2c85d13694b096e253e5884653f93bb92",
+ "reference": "637aaaf2c85d13694b096e253e5884653f93bb92",
+ "shasum": ""
+ },
+ "require": {
+ "brick/varexporter": "^0.3.2",
+ "laminas/laminas-config": "^3.4",
+ "laminas/laminas-eventmanager": "^3.3",
+ "laminas/laminas-stdlib": "^3.3",
+ "laminas/laminas-zendframework-bridge": "^1.1",
+ "php": "^7.3 || ^8.0",
+ "webimpress/safe-writer": "^1.0.2 || ^2.1"
+ },
+ "replace": {
+ "zendframework/zend-modulemanager": "^2.8.4"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-console": "^2.8",
+ "laminas/laminas-di": "^2.6.1",
+ "laminas/laminas-loader": "^2.6.1",
+ "laminas/laminas-mvc": "^3.1.1",
+ "laminas/laminas-servicemanager": "^3.4.1",
+ "phpunit/phpunit": "^9.3.7"
+ },
+ "suggest": {
+ "laminas/laminas-console": "Laminas\\Console component",
+ "laminas/laminas-loader": "Laminas\\Loader component if you are not using Composer autoloading for your modules",
+ "laminas/laminas-mvc": "Laminas\\Mvc component",
+ "laminas/laminas-servicemanager": "Laminas\\ServiceManager component"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\ModuleManager\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Modular application system for laminas-mvc applications",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "modulemanager"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-modulemanager/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-modulemanager/issues",
+ "rss": "https://github.com/laminas/laminas-modulemanager/releases.atom",
+ "source": "https://github.com/laminas/laminas-modulemanager"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-09-01T22:26:46+00:00"
+ },
+ {
+ "name": "laminas/laminas-mvc",
+ "version": "3.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-mvc.git",
+ "reference": "88da7200cf8f5a970c35d91717a5c4db94981e5e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-mvc/zipball/88da7200cf8f5a970c35d91717a5c4db94981e5e",
+ "reference": "88da7200cf8f5a970c35d91717a5c4db94981e5e",
+ "shasum": ""
+ },
+ "require": {
+ "container-interop/container-interop": "^1.2",
+ "laminas/laminas-eventmanager": "^3.2",
+ "laminas/laminas-http": "^2.7",
+ "laminas/laminas-modulemanager": "^2.8",
+ "laminas/laminas-router": "^3.0.2",
+ "laminas/laminas-servicemanager": "^3.3",
+ "laminas/laminas-stdlib": "^3.2.1",
+ "laminas/laminas-view": "^2.11.3",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ~8.0.0"
+ },
+ "replace": {
+ "zendframework/zend-mvc": "^3.1.1"
+ },
+ "require-dev": {
+ "http-interop/http-middleware": "^0.4.1",
+ "laminas/laminas-coding-standard": "^1.0.0",
+ "laminas/laminas-json": "^2.6.1 || ^3.0",
+ "laminas/laminas-psr7bridge": "^1.0",
+ "laminas/laminas-stratigility": ">=2.0.1 <2.2",
+ "phpspec/prophecy-phpunit": "^2.0",
+ "phpunit/phpunit": "^9.4.2"
+ },
+ "suggest": {
+ "laminas/laminas-json": "(^2.6.1 || ^3.0) To auto-deserialize JSON body content in AbstractRestfulController extensions, when json_decode is unavailable",
+ "laminas/laminas-log": "^2.9.1 To provide log functionality via LogFilterManager, LogFormatterManager, and LogProcessorManager",
+ "laminas/laminas-mvc-console": "laminas-mvc-console provides the ability to expose laminas-mvc as a console application",
+ "laminas/laminas-mvc-i18n": "laminas-mvc-i18n provides integration with laminas-i18n, including a translation bridge and translatable route segments",
+ "laminas/laminas-mvc-middleware": "To dispatch middleware in your laminas-mvc application",
+ "laminas/laminas-mvc-plugin-fileprg": "To provide Post/Redirect/Get functionality around forms that container file uploads",
+ "laminas/laminas-mvc-plugin-flashmessenger": "To provide flash messaging capabilities between requests",
+ "laminas/laminas-mvc-plugin-identity": "To access the authenticated identity (per laminas-authentication) in controllers",
+ "laminas/laminas-mvc-plugin-prg": "To provide Post/Redirect/Get functionality within controllers",
+ "laminas/laminas-paginator": "^2.7 To provide pagination functionality via PaginatorPluginManager",
+ "laminas/laminas-servicemanager-di": "laminas-servicemanager-di provides utilities for integrating laminas-di and laminas-servicemanager in your laminas-mvc application"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Mvc\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Laminas's event-driven MVC layer, including MVC Applications, Controllers, and Plugins",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "mvc"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-mvc/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-mvc/issues",
+ "rss": "https://github.com/laminas/laminas-mvc/releases.atom",
+ "source": "https://github.com/laminas/laminas-mvc"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-12-14T21:54:40+00:00"
+ },
+ {
+ "name": "laminas/laminas-router",
+ "version": "3.4.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-router.git",
+ "reference": "2a7068508af4de67d80ea292e0cc7c37563a33c6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-router/zipball/2a7068508af4de67d80ea292e0cc7c37563a33c6",
+ "reference": "2a7068508af4de67d80ea292e0cc7c37563a33c6",
+ "shasum": ""
+ },
+ "require": {
+ "container-interop/container-interop": "^1.2",
+ "laminas/laminas-http": "^2.8.1",
+ "laminas/laminas-servicemanager": "^2.7.8 || ^3.3",
+ "laminas/laminas-stdlib": "^3.3",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ~8.0.0"
+ },
+ "replace": {
+ "zendframework/zend-router": "^3.3.0"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-i18n": "^2.7.4",
+ "phpunit/phpunit": "^9.4"
+ },
+ "suggest": {
+ "laminas/laminas-i18n": "^2.7.4, if defining translatable HTTP path segments"
+ },
+ "type": "library",
+ "extra": {
+ "laminas": {
+ "component": "Laminas\\Router",
+ "config-provider": "Laminas\\Router\\ConfigProvider"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Router\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Flexible routing system for HTTP and console applications",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "routing"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-router/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-router/issues",
+ "rss": "https://github.com/laminas/laminas-router/releases.atom",
+ "source": "https://github.com/laminas/laminas-router"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-12-16T22:10:51+00:00"
+ },
+ {
+ "name": "laminas/laminas-servicemanager",
+ "version": "3.6.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-servicemanager.git",
+ "reference": "69a33802574e34357da6937602622a8a8db69883"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/69a33802574e34357da6937602622a8a8db69883",
+ "reference": "69a33802574e34357da6937602622a8a8db69883",
+ "shasum": ""
+ },
+ "require": {
+ "container-interop/container-interop": "^1.2",
+ "laminas/laminas-stdlib": "^3.2.1",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ~8.0.0",
+ "psr/container": "^1.0"
+ },
+ "conflict": {
+ "laminas/laminas-code": "<3.3.1",
+ "zendframework/zend-code": "<3.3.1"
+ },
+ "provide": {
+ "container-interop/container-interop-implementation": "^1.2",
+ "psr/container-implementation": "^1.0"
+ },
+ "replace": {
+ "zendframework/zend-servicemanager": "^3.4.0"
+ },
+ "require-dev": {
+ "composer/package-versions-deprecated": "^1.0",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-container-config-test": "^0.3",
+ "laminas/laminas-dependency-plugin": "^2.1",
+ "mikey179/vfsstream": "^1.6.8",
+ "ocramius/proxy-manager": "^2.2.3",
+ "phpbench/phpbench": "^1.0.0-alpha3",
+ "phpspec/prophecy-phpunit": "^2.0",
+ "phpunit/phpunit": "^9.4"
+ },
+ "suggest": {
+ "ocramius/proxy-manager": "ProxyManager ^2.1.1 to handle lazy initialization of services"
+ },
+ "bin": [
+ "bin/generate-deps-for-config-factory",
+ "bin/generate-factory-for-class"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\ServiceManager\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Factory-Driven Dependency Injection Container",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "PSR-11",
+ "dependency-injection",
+ "di",
+ "dic",
+ "laminas",
+ "service-manager",
+ "servicemanager"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-servicemanager/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-servicemanager/issues",
+ "rss": "https://github.com/laminas/laminas-servicemanager/releases.atom",
+ "source": "https://github.com/laminas/laminas-servicemanager"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2021-01-17T17:08:19+00:00"
+ },
+ {
+ "name": "laminas/laminas-stdlib",
+ "version": "3.3.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-stdlib.git",
+ "reference": "d81c7ffe602ed0e6ecb18691019111c0f4bf1efe"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/d81c7ffe602ed0e6ecb18691019111c0f4bf1efe",
+ "reference": "d81c7ffe602ed0e6ecb18691019111c0f4bf1efe",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ^8.0"
+ },
+ "replace": {
+ "zendframework/zend-stdlib": "^3.2.1"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "phpbench/phpbench": "^0.17.1",
+ "phpunit/phpunit": "~9.3.7"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Stdlib\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "SPL extensions, array utilities, error handlers, and more",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "stdlib"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-stdlib/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-stdlib/issues",
+ "rss": "https://github.com/laminas/laminas-stdlib/releases.atom",
+ "source": "https://github.com/laminas/laminas-stdlib"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-11-19T20:18:59+00:00"
+ },
+ {
+ "name": "laminas/laminas-uri",
+ "version": "2.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-uri.git",
+ "reference": "8651611b6285529f25a4cb9a466c686d9b31468e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-uri/zipball/8651611b6285529f25a4cb9a466c686d9b31468e",
+ "reference": "8651611b6285529f25a4cb9a466c686d9b31468e",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-escaper": "^2.5",
+ "laminas/laminas-validator": "^2.10",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ~8.0.0"
+ },
+ "replace": {
+ "zendframework/zend-uri": "^2.7.1"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "^2.1",
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Uri\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "A component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "uri"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-uri/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-uri/issues",
+ "rss": "https://github.com/laminas/laminas-uri/releases.atom",
+ "source": "https://github.com/laminas/laminas-uri"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-10-31T20:20:07+00:00"
+ },
+ {
+ "name": "laminas/laminas-validator",
+ "version": "2.14.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-validator.git",
+ "reference": "270c210c5c2b589a4ce83ad422ad8a6698451344"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/270c210c5c2b589a4ce83ad422ad8a6698451344",
+ "reference": "270c210c5c2b589a4ce83ad422ad8a6698451344",
+ "shasum": ""
+ },
+ "require": {
+ "container-interop/container-interop": "^1.1",
+ "laminas/laminas-stdlib": "^3.3",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ~8.0.0"
+ },
+ "replace": {
+ "zendframework/zend-validator": "^2.13.0"
+ },
+ "require-dev": {
+ "laminas/laminas-cache": "^2.6.1",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-config": "^2.6",
+ "laminas/laminas-db": "^2.7",
+ "laminas/laminas-filter": "^2.6",
+ "laminas/laminas-http": "^2.14.2",
+ "laminas/laminas-i18n": "^2.6",
+ "laminas/laminas-math": "^2.6",
+ "laminas/laminas-servicemanager": "^2.7.11 || ^3.0.3",
+ "laminas/laminas-session": "^2.8",
+ "laminas/laminas-uri": "^2.7",
+ "phpspec/prophecy-phpunit": "^2.0",
+ "phpunit/phpunit": "^9.3",
+ "psalm/plugin-phpunit": "^0.15.0",
+ "psr/http-client": "^1.0",
+ "psr/http-factory": "^1.0",
+ "psr/http-message": "^1.0",
+ "vimeo/psalm": "^4.3"
+ },
+ "suggest": {
+ "laminas/laminas-db": "Laminas\\Db component, required by the (No)RecordExists validator",
+ "laminas/laminas-filter": "Laminas\\Filter component, required by the Digits validator",
+ "laminas/laminas-i18n": "Laminas\\I18n component to allow translation of validation error messages",
+ "laminas/laminas-i18n-resources": "Translations of validator messages",
+ "laminas/laminas-math": "Laminas\\Math component, required by the Csrf validator",
+ "laminas/laminas-servicemanager": "Laminas\\ServiceManager component to allow using the ValidatorPluginManager and validator chains",
+ "laminas/laminas-session": "Laminas\\Session component, ^2.8; required by the Csrf validator",
+ "laminas/laminas-uri": "Laminas\\Uri component, required by the Uri and Sitemap\\Loc validators",
+ "psr/http-message": "psr/http-message, required when validating PSR-7 UploadedFileInterface instances via the Upload and UploadFile validators"
+ },
+ "type": "library",
+ "extra": {
+ "laminas": {
+ "component": "Laminas\\Validator",
+ "config-provider": "Laminas\\Validator\\ConfigProvider"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Validator\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "validator"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-validator/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-validator/issues",
+ "rss": "https://github.com/laminas/laminas-validator/releases.atom",
+ "source": "https://github.com/laminas/laminas-validator"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2021-01-22T13:34:31+00:00"
+ },
+ {
+ "name": "laminas/laminas-view",
+ "version": "2.12.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-view.git",
+ "reference": "3ef103da6887809f08ecf52f42c31a76c9bf08b1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-view/zipball/3ef103da6887809f08ecf52f42c31a76c9bf08b1",
+ "reference": "3ef103da6887809f08ecf52f42c31a76c9bf08b1",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-eventmanager": "^3.0",
+ "laminas/laminas-json": "^2.6.1 || ^3.0",
+ "laminas/laminas-loader": "^2.5",
+ "laminas/laminas-stdlib": "^3.2.1",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^7.3 || ~8.0.0"
+ },
+ "conflict": {
+ "laminas/laminas-servicemanager": "<3.3"
+ },
+ "replace": {
+ "zendframework/zend-view": "^2.11.4"
+ },
+ "require-dev": {
+ "laminas/laminas-authentication": "^2.5",
+ "laminas/laminas-cache": "^2.6.1",
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-config": "^2.6",
+ "laminas/laminas-console": "^2.6",
+ "laminas/laminas-escaper": "^2.5",
+ "laminas/laminas-feed": "^2.7",
+ "laminas/laminas-filter": "^2.6.1",
+ "laminas/laminas-http": "^2.5.4",
+ "laminas/laminas-i18n": "^2.6",
+ "laminas/laminas-log": "^2.7",
+ "laminas/laminas-modulemanager": "^2.7.1",
+ "laminas/laminas-mvc": "^2.7.14 || ^3.0",
+ "laminas/laminas-navigation": "^2.5",
+ "laminas/laminas-paginator": "^2.5",
+ "laminas/laminas-permissions-acl": "^2.6",
+ "laminas/laminas-router": "^3.0.1",
+ "laminas/laminas-serializer": "^2.6.1",
+ "laminas/laminas-servicemanager": "^3.3",
+ "laminas/laminas-session": "^2.8.1",
+ "laminas/laminas-uri": "^2.5",
+ "phpspec/prophecy": "^1.12",
+ "phpspec/prophecy-phpunit": "^2.0",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "laminas/laminas-authentication": "Laminas\\Authentication component",
+ "laminas/laminas-escaper": "Laminas\\Escaper component",
+ "laminas/laminas-feed": "Laminas\\Feed component",
+ "laminas/laminas-filter": "Laminas\\Filter component",
+ "laminas/laminas-http": "Laminas\\Http component",
+ "laminas/laminas-i18n": "Laminas\\I18n component",
+ "laminas/laminas-mvc": "Laminas\\Mvc component",
+ "laminas/laminas-mvc-plugin-flashmessenger": "laminas-mvc-plugin-flashmessenger component, if you want to use the FlashMessenger view helper with laminas-mvc versions 3 and up",
+ "laminas/laminas-navigation": "Laminas\\Navigation component",
+ "laminas/laminas-paginator": "Laminas\\Paginator component",
+ "laminas/laminas-permissions-acl": "Laminas\\Permissions\\Acl component",
+ "laminas/laminas-servicemanager": "Laminas\\ServiceManager component",
+ "laminas/laminas-uri": "Laminas\\Uri component"
+ },
+ "bin": [
+ "bin/templatemap_generator.php"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\View\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Flexible view layer supporting and providing multiple view layers, helpers, and more",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "view"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-view/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-view/issues",
+ "rss": "https://github.com/laminas/laminas-view/releases.atom",
+ "source": "https://github.com/laminas/laminas-view"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2021-01-01T14:07:41+00:00"
+ },
+ {
+ "name": "laminas/laminas-zendframework-bridge",
+ "version": "1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-zendframework-bridge.git",
+ "reference": "6ede70583e101030bcace4dcddd648f760ddf642"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6ede70583e101030bcace4dcddd648f760ddf642",
+ "reference": "6ede70583e101030bcace4dcddd648f760ddf642",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0 || ^8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3",
+ "squizlabs/php_codesniffer": "^3.5"
+ },
+ "type": "library",
+ "extra": {
+ "laminas": {
+ "module": "Laminas\\ZendFrameworkBridge"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/autoload.php"
+ ],
+ "psr-4": {
+ "Laminas\\ZendFrameworkBridge\\": "src//"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Alias legacy ZF class names to Laminas Project equivalents.",
+ "keywords": [
+ "ZendFramework",
+ "autoloading",
+ "laminas",
+ "zf"
+ ],
+ "support": {
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues",
+ "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom",
+ "source": "https://github.com/laminas/laminas-zendframework-bridge"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2020-09-14T14:23:00+00:00"
+ },
+ {
+ "name": "nikic/php-parser",
+ "version": "v4.10.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e",
+ "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": ">=7.0"
+ },
+ "require-dev": {
+ "ircmaxell/php-yacc": "^0.0.7",
+ "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ },
+ "bin": [
+ "bin/php-parse"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "description": "A PHP parser written in PHP",
+ "keywords": [
+ "parser",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4"
+ },
+ "time": "2020-12-20T10:01:03+00:00"
+ },
+ {
+ "name": "psr/cache",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/cache.git",
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Cache\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for caching libraries",
+ "keywords": [
+ "cache",
+ "psr",
+ "psr-6"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/cache/tree/master"
+ },
+ "time": "2016-08-06T20:24:11+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "homepage": "https://github.com/php-fig/container",
+ "keywords": [
+ "PSR-11",
+ "container",
+ "container-interface",
+ "container-interop",
+ "psr"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/container/issues",
+ "source": "https://github.com/php-fig/container/tree/master"
+ },
+ "time": "2017-02-14T16:28:37+00:00"
+ },
+ {
+ "name": "psr/log",
+ "version": "1.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "Psr/Log/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/log/tree/1.1.3"
+ },
+ "time": "2020-03-23T09:12:05+00:00"
+ },
+ {
+ "name": "psr/simple-cache",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/simple-cache.git",
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\SimpleCache\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interfaces for simple caching",
+ "keywords": [
+ "cache",
+ "caching",
+ "psr",
+ "psr-16",
+ "simple-cache"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/simple-cache/tree/master"
+ },
+ "time": "2017-10-23T01:57:42+00:00"
+ },
+ {
+ "name": "webimpress/safe-writer",
+ "version": "2.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webimpress/safe-writer.git",
+ "reference": "5cfafdec5873c389036f14bf832a5efc9390dcdd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webimpress/safe-writer/zipball/5cfafdec5873c389036f14bf832a5efc9390dcdd",
+ "reference": "5cfafdec5873c389036f14bf832a5efc9390dcdd",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5.8 || ^9.3.7",
+ "vimeo/psalm": "^3.14.2",
+ "webimpress/coding-standard": "^1.1.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.1.x-dev",
+ "dev-develop": "2.2.x-dev",
+ "dev-release-1.0": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webimpress\\SafeWriter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "description": "Tool to write files safely, to avoid race conditions",
+ "keywords": [
+ "concurrent write",
+ "file writer",
+ "race condition",
+ "safe writer",
+ "webimpress"
+ ],
+ "support": {
+ "issues": "https://github.com/webimpress/safe-writer/issues",
+ "source": "https://github.com/webimpress/safe-writer/tree/master"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/michalbundyra",
+ "type": "github"
+ }
+ ],
+ "time": "2020-08-25T07:21:11+00:00"
+ }
+ ],
+ "packages-dev": [
+ {
+ "name": "composer/xdebug-handler",
+ "version": "1.4.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/xdebug-handler.git",
+ "reference": "f28d44c286812c714741478d968104c5e604a1d4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f28d44c286812c714741478d968104c5e604a1d4",
+ "reference": "f28d44c286812c714741478d968104c5e604a1d4",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3.2 || ^7.0 || ^8.0",
+ "psr/log": "^1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Composer\\XdebugHandler\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "John Stevenson",
+ "email": "john-stevenson@blueyonder.co.uk"
+ }
+ ],
+ "description": "Restarts a process without Xdebug.",
+ "keywords": [
+ "Xdebug",
+ "performance"
+ ],
+ "support": {
+ "irc": "irc://irc.freenode.org/composer",
+ "issues": "https://github.com/composer/xdebug-handler/issues",
+ "source": "https://github.com/composer/xdebug-handler/tree/1.4.5"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-13T08:04:11+00:00"
+ },
+ {
+ "name": "doctrine/instantiator",
+ "version": "1.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/instantiator.git",
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^8.0",
+ "ext-pdo": "*",
+ "ext-phar": "*",
+ "phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
+ "phpstan/phpstan": "^0.12",
+ "phpstan/phpstan-phpunit": "^0.12",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "https://ocramius.github.io/"
+ }
+ ],
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
+ "keywords": [
+ "constructor",
+ "instantiate"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/instantiator/issues",
+ "source": "https://github.com/doctrine/instantiator/tree/1.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-10T18:47:58+00:00"
+ },
+ {
+ "name": "laminas/laminas-serializer",
+ "version": "2.9.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-serializer.git",
+ "reference": "c1c9361f114271b0736db74e0083a919081af5e0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-serializer/zipball/c1c9361f114271b0736db74e0083a919081af5e0",
+ "reference": "c1c9361f114271b0736db74e0083a919081af5e0",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-json": "^2.5 || ^3.0",
+ "laminas/laminas-stdlib": "^2.7 || ^3.0",
+ "laminas/laminas-zendframework-bridge": "^1.0",
+ "php": "^5.6 || ^7.0"
+ },
+ "replace": {
+ "zendframework/zend-serializer": "self.version"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-math": "^2.6 || ^3.0",
+ "laminas/laminas-servicemanager": "^2.7.5 || ^3.0.3",
+ "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.16"
+ },
+ "suggest": {
+ "laminas/laminas-math": "(^2.6 || ^3.0) To support Python Pickle serialization",
+ "laminas/laminas-servicemanager": "(^2.7.5 || ^3.0.3) To support plugin manager support"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.9.x-dev",
+ "dev-develop": "2.10.x-dev"
+ },
+ "laminas": {
+ "component": "Laminas\\Serializer",
+ "config-provider": "Laminas\\Serializer\\ConfigProvider"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Serializer\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Serialize and deserialize PHP structures to a variety of representations",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "serializer"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-serializer/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-serializer/issues",
+ "rss": "https://github.com/laminas/laminas-serializer/releases.atom",
+ "source": "https://github.com/laminas/laminas-serializer"
+ },
+ "time": "2019-12-31T17:42:11+00:00"
+ },
+ {
+ "name": "mikey179/vfsstream",
+ "version": "v1.6.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/bovigo/vfsStream.git",
+ "reference": "231c73783ebb7dd9ec77916c10037eff5a2b6efe"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/bovigo/vfsStream/zipball/231c73783ebb7dd9ec77916c10037eff5a2b6efe",
+ "reference": "231c73783ebb7dd9ec77916c10037eff5a2b6efe",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.5|^5.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.6.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "org\\bovigo\\vfs\\": "src/main/php"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Frank Kleine",
+ "homepage": "http://frankkleine.de/",
+ "role": "Developer"
+ }
+ ],
+ "description": "Virtual file system to mock the real file system in unit tests.",
+ "homepage": "http://vfs.bovigo.org/",
+ "support": {
+ "issues": "https://github.com/bovigo/vfsStream/issues",
+ "source": "https://github.com/bovigo/vfsStream/tree/master",
+ "wiki": "https://github.com/bovigo/vfsStream/wiki"
+ },
+ "time": "2019-10-30T15:31:00+00:00"
+ },
+ {
+ "name": "myclabs/deep-copy",
+ "version": "1.10.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/myclabs/DeepCopy.git",
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "replace": {
+ "myclabs/deep-copy": "self.version"
+ },
+ "require-dev": {
+ "doctrine/collections": "^1.0",
+ "doctrine/common": "^2.6",
+ "phpunit/phpunit": "^7.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "DeepCopy\\": "src/DeepCopy/"
+ },
+ "files": [
+ "src/DeepCopy/deep_copy.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Create deep copies (clones) of your objects",
+ "keywords": [
+ "clone",
+ "copy",
+ "duplicate",
+ "object",
+ "object graph"
+ ],
+ "support": {
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2"
+ },
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-13T09:40:50+00:00"
+ },
+ {
+ "name": "pdepend/pdepend",
+ "version": "2.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pdepend/pdepend.git",
+ "reference": "c64472f8e76ca858c79ad9a4cf1e2734b3f8cc38"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pdepend/pdepend/zipball/c64472f8e76ca858c79ad9a4cf1e2734b3f8cc38",
+ "reference": "c64472f8e76ca858c79ad9a4cf1e2734b3f8cc38",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.7",
+ "symfony/config": "^2.3.0|^3|^4|^5",
+ "symfony/dependency-injection": "^2.3.0|^3|^4|^5",
+ "symfony/filesystem": "^2.3.0|^3|^4|^5"
+ },
+ "require-dev": {
+ "easy-doc/easy-doc": "0.0.0 || ^1.2.3",
+ "gregwar/rst": "^1.0",
+ "phpunit/phpunit": "^4.8.35|^5.7",
+ "squizlabs/php_codesniffer": "^2.0.0"
+ },
+ "bin": [
+ "src/bin/pdepend"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PDepend\\": "src/main/php/PDepend"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Official version of pdepend to be handled with Composer",
+ "support": {
+ "issues": "https://github.com/pdepend/pdepend/issues",
+ "source": "https://github.com/pdepend/pdepend/tree/master"
+ },
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/pdepend/pdepend",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-06-20T10:53:13+00:00"
+ },
+ {
+ "name": "phar-io/manifest",
+ "version": "2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
+ "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-phar": "*",
+ "ext-xmlwriter": "*",
+ "phar-io/version": "^3.0.1",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "support": {
+ "issues": "https://github.com/phar-io/manifest/issues",
+ "source": "https://github.com/phar-io/manifest/tree/master"
+ },
+ "time": "2020-06-27T14:33:11+00:00"
+ },
+ {
+ "name": "phar-io/version",
+ "version": "3.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "e4782611070e50613683d2b9a57730e9a3ba5451"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451",
+ "reference": "e4782611070e50613683d2b9a57730e9a3ba5451",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Library for handling version information and constraints",
+ "support": {
+ "issues": "https://github.com/phar-io/version/issues",
+ "source": "https://github.com/phar-io/version/tree/3.0.4"
+ },
+ "time": "2020-12-13T23:18:30+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-common",
+ "version": "2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-2.x": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "opensource@ijaap.nl"
+ }
+ ],
+ "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
+ "homepage": "http://www.phpdoc.org",
+ "keywords": [
+ "FQSEN",
+ "phpDocumentor",
+ "phpdoc",
+ "reflection",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ },
+ "time": "2020-06-27T09:03:43+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-docblock",
+ "version": "5.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+ "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
+ "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
+ "shasum": ""
+ },
+ "require": {
+ "ext-filter": "*",
+ "php": "^7.2 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.2",
+ "phpdocumentor/type-resolver": "^1.3",
+ "webmozart/assert": "^1.9.1"
+ },
+ "require-dev": {
+ "mockery/mockery": "~1.3.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ },
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "account@ijaap.nl"
+ }
+ ],
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
+ },
+ "time": "2020-09-03T19:13:55+00:00"
+ },
+ {
+ "name": "phpdocumentor/type-resolver",
+ "version": "1.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
+ "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
+ "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.0"
+ },
+ "require-dev": {
+ "ext-tokenizer": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-1.x": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ }
+ ],
+ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0"
+ },
+ "time": "2020-09-17T18:55:26+00:00"
+ },
+ {
+ "name": "phploc/phploc",
+ "version": "7.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phploc.git",
+ "reference": "af0d5fc84f3f7725513ba59cdcbe670ac2a4532a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phploc/zipball/af0d5fc84f3f7725513ba59cdcbe670ac2a4532a",
+ "reference": "af0d5fc84f3f7725513ba59cdcbe670ac2a4532a",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-json": "*",
+ "php": ">=7.3",
+ "phpunit/php-file-iterator": "^3.0",
+ "sebastian/cli-parser": "^1.0",
+ "sebastian/version": "^3.0"
+ },
+ "bin": [
+ "phploc"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "7.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "A tool for quickly measuring the size of a PHP project.",
+ "homepage": "https://github.com/sebastianbergmann/phploc",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phploc/issues",
+ "source": "https://github.com/sebastianbergmann/phploc/tree/7.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-12-07T05:51:20+00:00"
+ },
+ {
+ "name": "phpmd/phpmd",
+ "version": "2.9.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpmd/phpmd.git",
+ "reference": "ce10831d4ddc2686c1348a98069771dd314534a8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpmd/phpmd/zipball/ce10831d4ddc2686c1348a98069771dd314534a8",
+ "reference": "ce10831d4ddc2686c1348a98069771dd314534a8",
+ "shasum": ""
+ },
+ "require": {
+ "composer/xdebug-handler": "^1.0",
+ "ext-xml": "*",
+ "pdepend/pdepend": "^2.7.1",
+ "php": ">=5.3.9"
+ },
+ "require-dev": {
+ "easy-doc/easy-doc": "0.0.0 || ^1.3.2",
+ "ext-json": "*",
+ "ext-simplexml": "*",
+ "gregwar/rst": "^1.0",
+ "mikey179/vfsstream": "^1.6.4",
+ "phpunit/phpunit": "^4.8.36 || ^5.7.27",
+ "squizlabs/php_codesniffer": "^2.0"
+ },
+ "bin": [
+ "src/bin/phpmd"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "PHPMD\\": "src/main/php"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Manuel Pichler",
+ "email": "github@manuel-pichler.de",
+ "homepage": "https://github.com/manuelpichler",
+ "role": "Project Founder"
+ },
+ {
+ "name": "Marc Würth",
+ "email": "ravage@bluewin.ch",
+ "homepage": "https://github.com/ravage84",
+ "role": "Project Maintainer"
+ },
+ {
+ "name": "Other contributors",
+ "homepage": "https://github.com/phpmd/phpmd/graphs/contributors",
+ "role": "Contributors"
+ }
+ ],
+ "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.",
+ "homepage": "https://phpmd.org/",
+ "keywords": [
+ "mess detection",
+ "mess detector",
+ "pdepend",
+ "phpmd",
+ "pmd"
+ ],
+ "support": {
+ "irc": "irc://irc.freenode.org/phpmd",
+ "issues": "https://github.com/phpmd/phpmd/issues",
+ "source": "https://github.com/phpmd/phpmd/tree/2.9.1"
+ },
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpmd/phpmd",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-09-23T22:06:32+00:00"
+ },
+ {
+ "name": "phpspec/prophecy",
+ "version": "1.12.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpspec/prophecy.git",
+ "reference": "245710e971a030f42e08f4912863805570f23d39"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39",
+ "reference": "245710e971a030f42e08f4912863805570f23d39",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.2",
+ "php": "^7.2 || ~8.0, <8.1",
+ "phpdocumentor/reflection-docblock": "^5.2",
+ "sebastian/comparator": "^3.0 || ^4.0",
+ "sebastian/recursion-context": "^3.0 || ^4.0"
+ },
+ "require-dev": {
+ "phpspec/phpspec": "^6.0",
+ "phpunit/phpunit": "^8.0 || ^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.11.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Prophecy\\": "src/Prophecy"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com",
+ "homepage": "http://everzet.com"
+ },
+ {
+ "name": "Marcello Duarte",
+ "email": "marcello.duarte@gmail.com"
+ }
+ ],
+ "description": "Highly opinionated mocking framework for PHP 5.3+",
+ "homepage": "https://github.com/phpspec/prophecy",
+ "keywords": [
+ "Double",
+ "Dummy",
+ "fake",
+ "mock",
+ "spy",
+ "stub"
+ ],
+ "support": {
+ "issues": "https://github.com/phpspec/prophecy/issues",
+ "source": "https://github.com/phpspec/prophecy/tree/1.12.2"
+ },
+ "time": "2020-12-19T10:15:11+00:00"
+ },
+ {
+ "name": "phpunit/php-code-coverage",
+ "version": "9.2.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1",
+ "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-xmlwriter": "*",
+ "nikic/php-parser": "^4.10.2",
+ "php": ">=7.3",
+ "phpunit/php-file-iterator": "^3.0.3",
+ "phpunit/php-text-template": "^2.0.2",
+ "sebastian/code-unit-reverse-lookup": "^2.0.2",
+ "sebastian/complexity": "^2.0",
+ "sebastian/environment": "^5.1.2",
+ "sebastian/lines-of-code": "^1.0.3",
+ "sebastian/version": "^3.0.1",
+ "theseer/tokenizer": "^1.2.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcov": "*",
+ "ext-xdebug": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+ "keywords": [
+ "coverage",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-28T06:44:49+00:00"
+ },
+ {
+ "name": "phpunit/php-file-iterator",
+ "version": "3.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8",
+ "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+ "keywords": [
+ "filesystem",
+ "iterator"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:57:25+00:00"
+ },
+ {
+ "name": "phpunit/php-invoker",
+ "version": "3.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "ext-pcntl": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcntl": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Invoke callables with a timeout",
+ "homepage": "https://github.com/sebastianbergmann/php-invoker/",
+ "keywords": [
+ "process"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:58:55+00:00"
+ },
+ {
+ "name": "phpunit/php-text-template",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Simple template engine.",
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+ "keywords": [
+ "template"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T05:33:50+00:00"
+ },
+ {
+ "name": "phpunit/php-timer",
+ "version": "5.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "keywords": [
+ "timer"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:16:10+00:00"
+ },
+ {
+ "name": "phpunit/phpunit",
+ "version": "9.5.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "e7bdf4085de85a825f4424eae52c99a1cec2f360"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7bdf4085de85a825f4424eae52c99a1cec2f360",
+ "reference": "e7bdf4085de85a825f4424eae52c99a1cec2f360",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.3.1",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-xml": "*",
+ "ext-xmlwriter": "*",
+ "myclabs/deep-copy": "^1.10.1",
+ "phar-io/manifest": "^2.0.1",
+ "phar-io/version": "^3.0.2",
+ "php": ">=7.3",
+ "phpspec/prophecy": "^1.12.1",
+ "phpunit/php-code-coverage": "^9.2.3",
+ "phpunit/php-file-iterator": "^3.0.5",
+ "phpunit/php-invoker": "^3.1.1",
+ "phpunit/php-text-template": "^2.0.3",
+ "phpunit/php-timer": "^5.0.2",
+ "sebastian/cli-parser": "^1.0.1",
+ "sebastian/code-unit": "^1.0.6",
+ "sebastian/comparator": "^4.0.5",
+ "sebastian/diff": "^4.0.3",
+ "sebastian/environment": "^5.1.3",
+ "sebastian/exporter": "^4.0.3",
+ "sebastian/global-state": "^5.0.1",
+ "sebastian/object-enumerator": "^4.0.3",
+ "sebastian/resource-operations": "^3.0.3",
+ "sebastian/type": "^2.3",
+ "sebastian/version": "^3.0.2"
+ },
+ "require-dev": {
+ "ext-pdo": "*",
+ "phpspec/prophecy-phpunit": "^2.0.1"
+ },
+ "suggest": {
+ "ext-soap": "*",
+ "ext-xdebug": "*"
+ },
+ "bin": [
+ "phpunit"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.5-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ],
+ "files": [
+ "src/Framework/Assert/Functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "The PHP Unit Testing framework.",
+ "homepage": "https://phpunit.de/",
+ "keywords": [
+ "phpunit",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.1"
+ },
+ "funding": [
+ {
+ "url": "https://phpunit.de/donate.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-01-17T07:42:25+00:00"
+ },
+ {
+ "name": "sebastian/cli-parser",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for parsing CLI options",
+ "homepage": "https://github.com/sebastianbergmann/cli-parser",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:08:49+00:00"
+ },
+ {
+ "name": "sebastian/code-unit",
+ "version": "1.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:08:54+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Looks up which function or method a line of code belongs to",
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:30:19+00:00"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "4.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/diff": "^4.0",
+ "sebastian/exporter": "^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ }
+ ],
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
+ "keywords": [
+ "comparator",
+ "compare",
+ "equality"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/comparator/issues",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T15:49:45+00:00"
+ },
+ {
+ "name": "sebastian/complexity",
+ "version": "2.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/complexity.git",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.7",
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for calculating the complexity of PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/complexity",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/complexity/issues",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T15:52:27+00:00"
+ },
+ {
+ "name": "sebastian/diff",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3",
+ "symfony/process": "^4.2 || ^5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
+ }
+ ],
+ "description": "Diff implementation",
+ "homepage": "https://github.com/sebastianbergmann/diff",
+ "keywords": [
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:10:38+00:00"
+ },
+ {
+ "name": "sebastian/environment",
+ "version": "5.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "388b6ced16caa751030f6a69e588299fa09200ac"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac",
+ "reference": "388b6ced16caa751030f6a69e588299fa09200ac",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-posix": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides functionality to handle HHVM/PHP environments",
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "keywords": [
+ "Xdebug",
+ "environment",
+ "hhvm"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:52:38+00:00"
+ },
+ {
+ "name": "sebastian/exporter",
+ "version": "4.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65",
+ "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "ext-mbstring": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "http://www.github.com/sebastianbergmann/exporter",
+ "keywords": [
+ "export",
+ "exporter"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/exporter/issues",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:24:23+00:00"
+ },
+ {
+ "name": "sebastian/global-state",
+ "version": "5.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "reference": "a90ccbddffa067b51f574dea6eb25d5680839455"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455",
+ "reference": "a90ccbddffa067b51f574dea6eb25d5680839455",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "ext-dom": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-uopz": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Snapshotting of global state",
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "keywords": [
+ "global state"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T15:55:19+00:00"
+ },
+ {
+ "name": "sebastian/lines-of-code",
+ "version": "1.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.6",
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for counting the lines of code in PHP source code",
+ "homepage": "https://github.com/sebastianbergmann/lines-of-code",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-28T06:42:11+00:00"
+ },
+ {
+ "name": "sebastian/object-enumerator",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
+ "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:12:34+00:00"
+ },
+ {
+ "name": "sebastian/object-reflector",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:14:26+00:00"
+ },
+ {
+ "name": "sebastian/phpcpd",
+ "version": "6.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpcpd.git",
+ "reference": "f3683aa0db2e8e09287c2bb33a595b2873ea9176"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpcpd/zipball/f3683aa0db2e8e09287c2bb33a595b2873ea9176",
+ "reference": "f3683aa0db2e8e09287c2bb33a595b2873ea9176",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "php": ">=7.3",
+ "phpunit/php-file-iterator": "^3.0",
+ "phpunit/php-timer": "^5.0",
+ "sebastian/cli-parser": "^1.0",
+ "sebastian/version": "^3.0"
+ },
+ "bin": [
+ "phpcpd"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "6.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Copy/Paste Detector (CPD) for PHP code.",
+ "homepage": "https://github.com/sebastianbergmann/phpcpd",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phpcpd/issues",
+ "source": "https://github.com/sebastianbergmann/phpcpd/tree/6.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-12-07T05:39:23+00:00"
+ },
+ {
+ "name": "sebastian/recursion-context",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ }
+ ],
+ "description": "Provides functionality to recursively process PHP variables",
+ "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:17:30+00:00"
+ },
+ {
+ "name": "sebastian/resource-operations",
+ "version": "3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides a list of PHP built-in functions that operate on resources",
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:45:17+00:00"
+ },
+ {
+ "name": "sebastian/type",
+ "version": "2.3.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
+ "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.3-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the types of the PHP type system",
+ "homepage": "https://github.com/sebastianbergmann/type",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/type/issues",
+ "source": "https://github.com/sebastianbergmann/type/tree/2.3.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:18:59+00:00"
+ },
+ {
+ "name": "sebastian/version",
+ "version": "3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:39:44+00:00"
+ },
+ {
+ "name": "squizlabs/php_codesniffer",
+ "version": "3.5.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
+ "reference": "9d583721a7157ee997f235f327de038e7ea6dac4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4",
+ "reference": "9d583721a7157ee997f235f327de038e7ea6dac4",
+ "shasum": ""
+ },
+ "require": {
+ "ext-simplexml": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": ">=5.4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ },
+ "bin": [
+ "bin/phpcs",
+ "bin/phpcbf"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.x-dev"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Greg Sherwood",
+ "role": "lead"
+ }
+ ],
+ "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
+ "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "keywords": [
+ "phpcs",
+ "standards"
+ ],
+ "support": {
+ "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
+ "source": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ },
+ "time": "2020-10-23T02:01:07+00:00"
+ },
+ {
+ "name": "symfony/config",
+ "version": "v5.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/config.git",
+ "reference": "d0a82d965296083fe463d655a3644cbe49cbaa80"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/config/zipball/d0a82d965296083fe463d655a3644cbe49cbaa80",
+ "reference": "d0a82d965296083fe463d655a3644cbe49cbaa80",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1",
+ "symfony/filesystem": "^4.4|^5.0",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-php80": "^1.15"
+ },
+ "conflict": {
+ "symfony/finder": "<4.4"
+ },
+ "require-dev": {
+ "symfony/event-dispatcher": "^4.4|^5.0",
+ "symfony/finder": "^4.4|^5.0",
+ "symfony/messenger": "^4.4|^5.0",
+ "symfony/service-contracts": "^1.1|^2",
+ "symfony/yaml": "^4.4|^5.0"
+ },
+ "suggest": {
+ "symfony/yaml": "To use the yaml reference dumper"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Config\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Config Component",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/config/tree/v5.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-12-09T18:54:12+00:00"
+ },
+ {
+ "name": "symfony/dependency-injection",
+ "version": "v5.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/dependency-injection.git",
+ "reference": "7f8a9e9eff0581a33e20f6c5d41096fe22832d25"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/7f8a9e9eff0581a33e20f6c5d41096fe22832d25",
+ "reference": "7f8a9e9eff0581a33e20f6c5d41096fe22832d25",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "psr/container": "^1.0",
+ "symfony/deprecation-contracts": "^2.1",
+ "symfony/polyfill-php80": "^1.15",
+ "symfony/service-contracts": "^1.1.6|^2"
+ },
+ "conflict": {
+ "symfony/config": "<5.1",
+ "symfony/finder": "<4.4",
+ "symfony/proxy-manager-bridge": "<4.4",
+ "symfony/yaml": "<4.4"
+ },
+ "provide": {
+ "psr/container-implementation": "1.0",
+ "symfony/service-implementation": "1.0"
+ },
+ "require-dev": {
+ "symfony/config": "^5.1",
+ "symfony/expression-language": "^4.4|^5.0",
+ "symfony/yaml": "^4.4|^5.0"
+ },
+ "suggest": {
+ "symfony/config": "",
+ "symfony/expression-language": "For using expressions in service container configuration",
+ "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
+ "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
+ "symfony/yaml": ""
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\DependencyInjection\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony DependencyInjection Component",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/dependency-injection/tree/v5.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-12-18T08:03:05+00:00"
+ },
+ {
+ "name": "symfony/deprecation-contracts",
+ "version": "v2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665",
+ "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.2-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "files": [
+ "function.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "A generic function and convention to trigger deprecation notices",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/deprecation-contracts/tree/master"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-09-07T11:33:47+00:00"
+ },
+ {
+ "name": "symfony/filesystem",
+ "version": "v5.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/filesystem.git",
+ "reference": "fa8f8cab6b65e2d99a118e082935344c5ba8c60d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/fa8f8cab6b65e2d99a118e082935344c5ba8c60d",
+ "reference": "fa8f8cab6b65e2d99a118e082935344c5ba8c60d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/polyfill-ctype": "~1.8"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Filesystem\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Filesystem Component",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/filesystem/tree/v5.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-30T17:05:38+00:00"
+ },
+ {
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.22.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
+ "reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-ctype": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.22-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for ctype functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "ctype",
+ "polyfill",
+ "portable"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-01-07T16:49:33+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php80",
+ "version": "v1.22.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php80.git",
+ "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91",
+ "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.22-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Php80\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ],
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ion Bazan",
+ "email": "ion.bazan@gmail.com"
+ },
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-01-07T16:49:33+00:00"
+ },
+ {
+ "name": "symfony/service-contracts",
+ "version": "v2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/service-contracts.git",
+ "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
+ "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "psr/container": "^1.0"
+ },
+ "suggest": {
+ "symfony/service-implementation": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.2-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\Service\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to writing services",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/service-contracts/tree/master"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-09-07T11:33:47+00:00"
+ },
+ {
+ "name": "theseer/tokenizer",
+ "version": "1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/theseer/tokenizer.git",
+ "reference": "75a63c33a8577608444246075ea0af0d052e452a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a",
+ "reference": "75a63c33a8577608444246075ea0af0d052e452a",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+ "support": {
+ "issues": "https://github.com/theseer/tokenizer/issues",
+ "source": "https://github.com/theseer/tokenizer/tree/master"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2020-07-12T23:59:07+00:00"
+ },
+ {
+ "name": "webmozart/assert",
+ "version": "1.9.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webmozarts/assert.git",
+ "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
+ "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3.3 || ^7.0 || ^8.0",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "conflict": {
+ "phpstan/phpstan": "<0.12.20",
+ "vimeo/psalm": "<3.9.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.36 || ^7.5.13"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\Assert\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Assertions to validate method input/output with nice error messages.",
+ "keywords": [
+ "assert",
+ "check",
+ "validate"
+ ],
+ "support": {
+ "issues": "https://github.com/webmozarts/assert/issues",
+ "source": "https://github.com/webmozarts/assert/tree/1.9.1"
+ },
+ "time": "2020-07-08T17:02:28+00:00"
+ }
+ ],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": [],
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": {
+ "php": "^7.2 || ^8.0"
+ },
+ "platform-dev": [],
+ "plugin-api-version": "2.0.0"
+}
diff --git a/config/module.config.php b/config/module.config.php
index b9ef4ad..ca12e41 100644
--- a/config/module.config.php
+++ b/config/module.config.php
@@ -1,6 +1,6 @@
[
@@ -59,8 +59,11 @@
],
],
'view_helpers' => [
- 'invokables' => [
+ 'aliases' => [
'resize' => View\Helper\Resize::class,
],
+ 'factories' => [
+ View\Helper\Resize::class => InvokableFactory::class,
+ ],
],
];
diff --git a/phpunit.xml b/phpunit.xml
index c3aac5a..465354d 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -1,42 +1,41 @@
-
- ./test/TckImageResizerTest/Controller
+ ./tests/TckImageResizerTest/Controller
- ./test/TckImageResizerTest/Service
+ ./tests/TckImageResizerTest/Service
- ./test/TckImageResizerTest/Util
+ ./tests/TckImageResizerTest/Util
- ./test/TckImageResizerTest/View
+ ./tests/TckImageResizerTest/View
-
-
-
-
-
-
-
-
-
-
-
+
+
+
./src
-
-
+
+
+
./vendor
- ./test
- ./Module.php
-
-
+ ./tests
+
+
+
+
+
+
+
+
+
diff --git a/src/TckImageResizer/Controller/IndexController.php b/src/Controller/IndexController.php
similarity index 92%
rename from src/TckImageResizer/Controller/IndexController.php
rename to src/Controller/IndexController.php
index 3aaf5cb..8b1d652 100644
--- a/src/TckImageResizer/Controller/IndexController.php
+++ b/src/Controller/IndexController.php
@@ -1,6 +1,6 @@
getResponse();
$response->setContent(file_get_contents($target));
$response->setStatusCode($source ? 200 : 404);
diff --git a/src/TckImageResizer/Controller/IndexControllerFactory.php b/src/Controller/IndexControllerFactory.php
similarity index 86%
rename from src/TckImageResizer/Controller/IndexControllerFactory.php
rename to src/Controller/IndexControllerFactory.php
index 0ee9be4..9e21892 100644
--- a/src/TckImageResizer/Controller/IndexControllerFactory.php
+++ b/src/Controller/IndexControllerFactory.php
@@ -1,6 +1,6 @@
[
+ 'Laminas\Loader\StandardAutoloader' => [
'namespaces' => [
- __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
+ __NAMESPACE__ => __DIR__,
],
],
];
@@ -35,6 +35,6 @@ public function getAutoloaderConfig()
*/
public function getConfig()
{
- return include __DIR__ . '/config/module.config.php';
+ return include __DIR__ . '/../config/module.config.php';
}
}
diff --git a/src/TckImageResizer/Service/CommandRegistry.php b/src/Service/CommandRegistry.php
similarity index 97%
rename from src/TckImageResizer/Service/CommandRegistry.php
rename to src/Service/CommandRegistry.php
index 49e4f3f..1a91543 100644
--- a/src/TckImageResizer/Service/CommandRegistry.php
+++ b/src/Service/CommandRegistry.php
@@ -1,6 +1,6 @@
image = $this->getImagineService()->open($source);
foreach ($this->analyseCommands($commands) as $command) {
@@ -111,8 +111,8 @@ public function process404($target, $commands)
}
$targetFolder = pathinfo($target, PATHINFO_DIRNAME);
- if (!file_exists($targetFolder)) {
- mkdir($targetFolder, 0777, true);
+ if (!is_dir($targetFolder) && !mkdir($targetFolder, 0777, true) && !is_dir($targetFolder)) {
+ throw new \RuntimeException(sprintf('Directory "%s" was not created', $targetFolder));
}
$text = 'Not found';
@@ -292,7 +292,7 @@ protected function imageGamma($correction)
*/
protected function imageColorize($hexColor)
{
- if (strlen($hexColor) != 6 || !preg_match('![0-9abcdef]!i', $hexColor)) {
+ if (strlen($hexColor) !== 6 || !preg_match('![0-9abcdef]!i', $hexColor)) {
throw new BadMethodCallException('Invalid parameter color for command "colorize"');
}
$color = $this->image->palette()->color('#' . $hexColor);
@@ -392,7 +392,7 @@ protected function drawCenteredText($text, $color)
$heightFactor = $height > 160 ? 0.8 : 0.9;
do {
$font = $this->getImagineService()
- ->font(__DIR__ . '/../../../data/font/Roboto-Regular.ttf', $fontSize, $fontColor);
+ ->font(__DIR__ . '/../../data/font/Roboto-Regular.ttf', $fontSize, $fontColor);
$fontBox = $font->box($text);
$fontSize = round($fontSize * 0.8);
diff --git a/src/TckImageResizer/Service/ImageProcessingFactory.php b/src/Service/ImageProcessingFactory.php
similarity index 86%
rename from src/TckImageResizer/Service/ImageProcessingFactory.php
rename to src/Service/ImageProcessingFactory.php
index 9ff6ee5..6a96f96 100644
--- a/src/TckImageResizer/Service/ImageProcessingFactory.php
+++ b/src/Service/ImageProcessingFactory.php
@@ -1,6 +1,6 @@
[
+ 'Laminas\Loader\StandardAutoloader' => [
'autoregister_zf' => true,
'namespaces' => [
__NAMESPACE__ => __DIR__ . '/' . __NAMESPACE__,
diff --git a/test/TckImageResizerTest/Controller/IndexControllerTest.php b/tests/TckImageResizerTest/Controller/IndexControllerTest.php
similarity index 83%
rename from test/TckImageResizerTest/Controller/IndexControllerTest.php
rename to tests/TckImageResizerTest/Controller/IndexControllerTest.php
index 255ba66..b6e56b9 100644
--- a/test/TckImageResizerTest/Controller/IndexControllerTest.php
+++ b/tests/TckImageResizerTest/Controller/IndexControllerTest.php
@@ -1,6 +1,6 @@
controller->dispatch($this->request);
$response = $this->controller->getResponse();
- $this->assertEquals(200, $response->getStatusCode());
+ self::assertEquals(200, $response->getStatusCode());
}
public function testResizeActionContentTypeImageJpeg()
@@ -82,8 +82,8 @@ public function testResizeActionContentTypeImageJpeg()
$result = $this->controller->dispatch($this->request);
$response = $this->controller->getResponse();
-
- $this->assertStringStartsWith('image/jpeg', $response->getHeaders()->get('Content-Type')->getFieldValue());
+
+ self::assertStringStartsWith('image/jpeg', $response->getHeaders()->get('Content-Type')->getFieldValue());
}
public function testResizeActionResponseFileSignatureJpeg()
@@ -95,8 +95,8 @@ public function testResizeActionResponseFileSignatureJpeg()
$result = $this->controller->dispatch($this->request);
$response = $this->controller->getResponse();
-
- $this->assertEquals(pack('H*', 'ffd8ff'), substr($response->getBody(), 0, 3)); // ÿØÿ
+
+ self::assertEquals(pack('H*', 'ffd8ff'), substr($response->getBody(), 0, 3)); // ÿØÿ
}
public function testResizeActionFileNotFound()
@@ -109,6 +109,6 @@ public function testResizeActionFileNotFound()
$result = $this->controller->dispatch($this->request);
$response = $this->controller->getResponse();
- $this->assertEquals(404, $response->getStatusCode());
+ self::assertEquals(404, $response->getStatusCode());
}
}
diff --git a/test/TckImageResizerTest/Service/CommandRegistryTest.php b/tests/TckImageResizerTest/Service/CommandRegistryTest.php
similarity index 60%
rename from test/TckImageResizerTest/Service/CommandRegistryTest.php
rename to tests/TckImageResizerTest/Service/CommandRegistryTest.php
index cf002f2..725b029 100644
--- a/test/TckImageResizerTest/Service/CommandRegistryTest.php
+++ b/tests/TckImageResizerTest/Service/CommandRegistryTest.php
@@ -1,6 +1,6 @@
assertInstanceOf('TckImageResizer\Service\CommandRegistry', CommandRegistry::getInstance());
+
+ self::assertInstanceOf('TckImageResizer\Service\CommandRegistry', CommandRegistry::getInstance());
}
public function testRegisterIsCallable()
{
$commandRegistry = CommandRegistry::register('test', function () {
});
-
- $this->assertInstanceOf('TckImageResizer\Service\CommandRegistry', $commandRegistry);
+
+ self::assertInstanceOf('TckImageResizer\Service\CommandRegistry', $commandRegistry);
}
-
- /**
- * @expectedException BadMethodCallException
- */
+
public function testExceptionRegisterParamCommand()
{
+ $this->expectException(\TckImageResizer\Exception\BadMethodCallException::class);
+
CommandRegistry::register('', function () {
});
}
- /**
- * @expectedException BadMethodCallException
- */
public function testExceptionRegisterParamCallback()
{
+ $this->expectException(\TckImageResizer\Exception\BadMethodCallException::class);
+
CommandRegistry::register('test', '');
}
@@ -60,24 +58,22 @@ public function testGetCommand()
});
$command = CommandRegistry::getCommand('test');
-
- $this->assertTrue(is_callable($command));
+
+ self::assertTrue(is_callable($command));
}
- /**
- * @expectedException BadMethodCallException
- */
public function testExceptionGetCommandParamWrong()
{
+ $this->expectException(\TckImageResizer\Exception\BadMethodCallException::class);
+
CommandRegistry::getCommand('');
}
- /**
- * @expectedException BadMethodCallException
- * @expectedExceptionMessage testname
- */
public function testExceptionGetCommandParamTestname()
{
+ $this->expectException(\TckImageResizer\Exception\BadMethodCallException::class);
+ $this->expectExceptionMessageMatches('!testname!');
+
CommandRegistry::getCommand('testname');
}
@@ -85,16 +81,15 @@ public function testHasCommand()
{
CommandRegistry::register('test', function () {
});
-
- $this->assertTrue(CommandRegistry::hasCommand('test'));
- $this->assertFalse(CommandRegistry::hasCommand('testabc'));
+
+ self::assertTrue(CommandRegistry::hasCommand('test'));
+ self::assertFalse(CommandRegistry::hasCommand('testabc'));
}
- /**
- * @expectedException BadMethodCallException
- */
public function testExceptionHasCommandParamWrong()
{
+ $this->expectException(\TckImageResizer\Exception\BadMethodCallException::class);
+
CommandRegistry::hasCommand('');
}
@@ -107,8 +102,8 @@ public function testGetCommands()
$commands = CommandRegistry::getCommands();
- $this->assertArrayHasKey('test1', $commands);
- $this->assertArrayHasKey('test2', $commands);
- $this->assertEquals(2, count($commands));
+ self::assertArrayHasKey('test1', $commands);
+ self::assertArrayHasKey('test2', $commands);
+ self::assertEquals(2, count($commands));
}
}
diff --git a/test/TckImageResizerTest/Service/ImageProcessingFactoryTest.php b/tests/TckImageResizerTest/Service/ImageProcessingFactoryTest.php
similarity index 74%
rename from test/TckImageResizerTest/Service/ImageProcessingFactoryTest.php
rename to tests/TckImageResizerTest/Service/ImageProcessingFactoryTest.php
index b83421c..bf497c2 100644
--- a/test/TckImageResizerTest/Service/ImageProcessingFactoryTest.php
+++ b/tests/TckImageResizerTest/Service/ImageProcessingFactoryTest.php
@@ -1,6 +1,6 @@
serviceManager = Bootstrap::getServiceManager();
$this->imageProcessingFactory = new ImageProcessingFactory();
@@ -32,6 +32,6 @@ public function testCreateService()
{
$imageProcessing = $this->imageProcessingFactory->createService($this->serviceManager);
- $this->assertInstanceOf('TckImageResizer\Service\ImageProcessing', $imageProcessing);
+ self::assertInstanceOf('TckImageResizer\Service\ImageProcessing', $imageProcessing);
}
}
diff --git a/test/TckImageResizerTest/Service/ImageProcessingTest.php b/tests/TckImageResizerTest/Service/ImageProcessingTest.php
similarity index 74%
rename from test/TckImageResizerTest/Service/ImageProcessingTest.php
rename to tests/TckImageResizerTest/Service/ImageProcessingTest.php
index 26d7fe4..d1186eb 100644
--- a/test/TckImageResizerTest/Service/ImageProcessingTest.php
+++ b/tests/TckImageResizerTest/Service/ImageProcessingTest.php
@@ -1,6 +1,6 @@
serviceManager = Bootstrap::getServiceManager();
@@ -48,15 +48,15 @@ protected function setUp()
public function testGetImagineService()
{
$imagine = $this->imageProcessing->getImagineService();
-
- $this->assertInstanceOf('Imagine\Image\AbstractImagine', $imagine);
+
+ self::assertInstanceOf('Imagine\Image\AbstractImagine', $imagine);
}
public function testSetImagineService()
{
$imageProcessing = $this->imageProcessing->setImagineService($this->imagine);
-
- $this->assertInstanceOf('TckImageResizer\Service\ImageProcessing', $imageProcessing);
+
+ self::assertInstanceOf('TckImageResizer\Service\ImageProcessing', $imageProcessing);
}
public function testProcessCommandThumb()
@@ -69,27 +69,26 @@ public function testProcessCommandThumb()
$this->imageProcessing->process($source, $target, $commands);
$folder = vfsStreamWrapper::getRoot()->getChild('processed')->getChild('img');
-
- $this->assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
+
+ self::assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
$content = $folder->getChild('test.$' . $commands . '.jpg')->getContent();
-
- $this->assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
+
+ self::assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
$imageInfo = getimagesizefromstring($content);
-
- $this->assertEquals(100, $imageInfo[0]);
-
- $this->assertGreaterThan(0, $imageInfo[1]);
- $this->assertLessThan(100, $imageInfo[1]);
+
+ self::assertEquals(100, $imageInfo[0]);
+
+ self::assertGreaterThan(0, $imageInfo[1]);
+ self::assertLessThan(100, $imageInfo[1]);
}
- /**
- * @expectedException BadMethodCallException
- * @expectedExceptionMessage thumb
- */
public function testExceptionProcessCommandThumbWidth()
{
+ $this->expectException(\TckImageResizer\Exception\BadMethodCallException::class);
+ $this->expectExceptionMessageMatches('!thumb!');
+
$commands = 'thumb,0,100';
$source = vfsStream::url('public') . '/img/test.jpg';
@@ -98,12 +97,11 @@ public function testExceptionProcessCommandThumbWidth()
$this->imageProcessing->process($source, $target, $commands);
}
- /**
- * @expectedException BadMethodCallException
- * @expectedExceptionMessage thumb
- */
public function testExceptionProcessCommandThumbHeight()
{
+ $this->expectException(\TckImageResizer\Exception\BadMethodCallException::class);
+ $this->expectExceptionMessageMatches('!thumb!');
+
$commands = 'thumb,100,0';
$source = vfsStream::url('public') . '/img/test.jpg';
@@ -122,25 +120,24 @@ public function testProcessCommandResize()
$this->imageProcessing->process($source, $target, $commands);
$folder = vfsStreamWrapper::getRoot()->getChild('processed')->getChild('img');
-
- $this->assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
+
+ self::assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
$content = $folder->getChild('test.$' . $commands . '.jpg')->getContent();
-
- $this->assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
+
+ self::assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
$imageInfo = getimagesizefromstring($content);
-
- $this->assertEquals(100, $imageInfo[0]);
- $this->assertEquals(100, $imageInfo[1]);
+
+ self::assertEquals(100, $imageInfo[0]);
+ self::assertEquals(100, $imageInfo[1]);
}
- /**
- * @expectedException BadMethodCallException
- * @expectedExceptionMessage resize
- */
public function testExceptionProcessCommandResizeWidth()
{
+ $this->expectException(\TckImageResizer\Exception\BadMethodCallException::class);
+ $this->expectExceptionMessageMatches('!resize!');
+
$commands = 'resize,0,100';
$source = vfsStream::url('public') . '/img/test.jpg';
@@ -149,12 +146,11 @@ public function testExceptionProcessCommandResizeWidth()
$this->imageProcessing->process($source, $target, $commands);
}
- /**
- * @expectedException BadMethodCallException
- * @expectedExceptionMessage resize
- */
public function testExceptionProcessCommandResizeHeight()
{
+ $this->expectException(\TckImageResizer\Exception\BadMethodCallException::class);
+ $this->expectExceptionMessageMatches('!resize!');
+
$commands = 'resize,100,0';
$source = vfsStream::url('public') . '/img/test.jpg';
@@ -173,12 +169,12 @@ public function testProcessCommandGrayscale()
$this->imageProcessing->process($source, $target, $commands);
$folder = vfsStreamWrapper::getRoot()->getChild('processed')->getChild('img');
-
- $this->assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
+
+ self::assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
$content = $folder->getChild('test.$' . $commands . '.jpg')->getContent();
-
- $this->assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
+
+ self::assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
}
public function testProcessCommandNegative()
@@ -191,12 +187,12 @@ public function testProcessCommandNegative()
$this->imageProcessing->process($source, $target, $commands);
$folder = vfsStreamWrapper::getRoot()->getChild('processed')->getChild('img');
-
- $this->assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
+
+ self::assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
$content = $folder->getChild('test.$' . $commands . '.jpg')->getContent();
-
- $this->assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
+
+ self::assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
}
public function testProcessCommandGamma()
@@ -209,12 +205,12 @@ public function testProcessCommandGamma()
$this->imageProcessing->process($source, $target, $commands);
$folder = vfsStreamWrapper::getRoot()->getChild('processed')->getChild('img');
-
- $this->assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
+
+ self::assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
$content = $folder->getChild('test.$' . $commands . '.jpg')->getContent();
-
- $this->assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
+
+ self::assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
}
public function testProcessCommandColorize()
@@ -227,20 +223,19 @@ public function testProcessCommandColorize()
$this->imageProcessing->process($source, $target, $commands);
$folder = vfsStreamWrapper::getRoot()->getChild('processed')->getChild('img');
-
- $this->assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
+
+ self::assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
$content = $folder->getChild('test.$' . $commands . '.jpg')->getContent();
-
- $this->assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
+
+ self::assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
}
- /**
- * @expectedException BadMethodCallException
- * @expectedExceptionMessage colorize
- */
public function testExceptionProcessCommandColorizeColor()
{
+ $this->expectException(\TckImageResizer\Exception\BadMethodCallException::class);
+ $this->expectExceptionMessageMatches('!colorize!');
+
$commands = 'colorize,nohexcolor';
$source = vfsStream::url('public') . '/img/test.jpg';
@@ -259,12 +254,12 @@ public function testProcessCommandSharpen()
$this->imageProcessing->process($source, $target, $commands);
$folder = vfsStreamWrapper::getRoot()->getChild('processed')->getChild('img');
-
- $this->assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
+
+ self::assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
$content = $folder->getChild('test.$' . $commands . '.jpg')->getContent();
-
- $this->assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
+
+ self::assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
}
public function testProcessCommandBlur()
@@ -277,12 +272,12 @@ public function testProcessCommandBlur()
$this->imageProcessing->process($source, $target, $commands);
$folder = vfsStreamWrapper::getRoot()->getChild('processed')->getChild('img');
-
- $this->assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
+
+ self::assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
$content = $folder->getChild('test.$' . $commands . '.jpg')->getContent();
-
- $this->assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
+
+ self::assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
}
public function testProcessCustomCommand()
@@ -298,24 +293,23 @@ public function testProcessCustomCommand()
$target = vfsStream::url('public') . '/processed/img/test.$' . $commands . '.jpg';
$this->imageProcessing->process($source, $target, $commands);
-
- $this->assertTrue($callCheck);
+
+ self::assertTrue($callCheck);
$folder = vfsStreamWrapper::getRoot()->getChild('processed')->getChild('img');
-
- $this->assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
+
+ self::assertTrue($folder->hasChild('test.$' . $commands . '.jpg'));
$content = $folder->getChild('test.$' . $commands . '.jpg')->getContent();
-
- $this->assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
+
+ self::assertEquals(pack('H*', 'ffd8ff'), substr($content, 0, 3)); // ÿØÿ
}
- /**
- * @expectedException BadMethodCallException
- * @expectedExceptionMessage nonexistentcommand
- */
public function testExceptionProcessCustomCommand()
{
+ $this->expectException(\TckImageResizer\Exception\BadMethodCallException::class);
+ $this->expectExceptionMessageMatches('!nonexistentcommand!');
+
$commands = 'nonexistentcommand';
$source = vfsStream::url('public') . '/img/test.jpg';
@@ -333,8 +327,8 @@ public function testProcess404()
$this->imageProcessing->process404($target, $commands);
$folder = vfsStreamWrapper::getRoot()->getChild('processed')->getChild('img');
-
- $this->assertTrue($folder->hasChild('nonexistentimage.$' . $commands . '.jpg.404.png'));
+
+ self::assertTrue($folder->hasChild('nonexistentimage.$' . $commands . '.jpg.404.png'));
$mTimeBefore = $folder->getChild('nonexistentimage.$' . $commands . '.jpg.404.png')->filemtime();
@@ -343,8 +337,8 @@ public function testProcess404()
$this->imageProcessing->process404($target, $commands);
$mTimeAfter = $folder->getChild('nonexistentimage.$' . $commands . '.jpg.404.png')->filemtime();
-
- $this->assertTrue($mTimeBefore === $mTimeAfter);
+
+ self::assertTrue($mTimeBefore === $mTimeAfter);
$noSizeCommands = 'blur';
@@ -353,7 +347,7 @@ public function testProcess404()
. '/processed/img/nonexistentimage.$' . $noSizeCommands . '.jpg.404.png';
$this->imageProcessing->process404($noSizeTarget, $noSizeCommands);
-
- $this->assertTrue($folder->hasChild('nonexistentimage.$' . $noSizeCommands . '.jpg.404.png'));
+
+ self::assertTrue($folder->hasChild('nonexistentimage.$' . $noSizeCommands . '.jpg.404.png'));
}
}
diff --git a/test/TckImageResizerTest/Util/UrlSafeBase64Test.php b/tests/TckImageResizerTest/Util/UrlSafeBase64Test.php
similarity index 65%
rename from test/TckImageResizerTest/Util/UrlSafeBase64Test.php
rename to tests/TckImageResizerTest/Util/UrlSafeBase64Test.php
index 9f252bf..d0fc486 100644
--- a/test/TckImageResizerTest/Util/UrlSafeBase64Test.php
+++ b/tests/TckImageResizerTest/Util/UrlSafeBase64Test.php
@@ -1,6 +1,6 @@
assertEquals('dGVzdA', $actual);
+
+ self::assertEquals('dGVzdA', $actual);
}
public function testDecode()
{
$actual = UrlSafeBase64::decode('dGVzdA');
-
- $this->assertEquals('test', $actual);
+
+ self::assertEquals('test', $actual);
}
public function testVaild()
{
$validTrue = UrlSafeBase64::valid('dGVzdA');
-
- $this->assertTrue($validTrue);
+
+ self::assertTrue($validTrue);
$validFalse = UrlSafeBase64::valid('test!');
-
- $this->assertFalse($validFalse);
+
+ self::assertFalse($validFalse);
}
}
diff --git a/test/TckImageResizerTest/View/Helper/ResizeTest.php b/tests/TckImageResizerTest/View/Helper/ResizeTest.php
similarity index 68%
rename from test/TckImageResizerTest/View/Helper/ResizeTest.php
rename to tests/TckImageResizerTest/View/Helper/ResizeTest.php
index 144cc3a..a8b45a7 100644
--- a/test/TckImageResizerTest/View/Helper/ResizeTest.php
+++ b/tests/TckImageResizerTest/View/Helper/ResizeTest.php
@@ -1,6 +1,6 @@
view = new PhpRenderer();
$this->view->getHelperPluginManager()->get('basePath')->setBasePath('/');
@@ -34,71 +34,71 @@ protected function setUp()
public function testInvoke()
{
$resizeObject = $this->helper->__invoke('test.jpg');
-
- $this->assertInstanceOf('TckImageResizer\View\Helper\Resize', $resizeObject);
+
+ self::assertInstanceOf('TckImageResizer\View\Helper\Resize', $resizeObject);
}
public function testFileInFolder()
{
$actual = $this->helper->__invoke('folder/test.jpg')->__toString();
-
- $this->assertEquals('/processed/folder/test..jpg', $actual);
+
+ self::assertEquals('/processed/folder/test..jpg', $actual);
}
public function testThumb()
{
$actual = $this->helper->__invoke('test.jpg')->thumb(300, 200)->__toString();
-
- $this->assertEquals('/processed/test.$thumb,300,200.jpg', $actual);
+
+ self::assertEquals('/processed/test.$thumb,300,200.jpg', $actual);
}
public function testResize()
{
$actual = $this->helper->__invoke('test.jpg')->resize(300, 200)->__toString();
-
- $this->assertEquals('/processed/test.$resize,300,200.jpg', $actual);
+
+ self::assertEquals('/processed/test.$resize,300,200.jpg', $actual);
}
public function testGrayscale()
{
$actual = $this->helper->__invoke('test.jpg')->grayscale()->__toString();
-
- $this->assertEquals('/processed/test.$grayscale.jpg', $actual);
+
+ self::assertEquals('/processed/test.$grayscale.jpg', $actual);
}
public function testNegative()
{
$actual = $this->helper->__invoke('test.jpg')->negative()->__toString();
-
- $this->assertEquals('/processed/test.$negative.jpg', $actual);
+
+ self::assertEquals('/processed/test.$negative.jpg', $actual);
}
public function testGamma()
{
$actual = $this->helper->__invoke('test.jpg')->gamma(1)->__toString();
-
- $this->assertEquals('/processed/test.$gamma,1.jpg', $actual);
+
+ self::assertEquals('/processed/test.$gamma,1.jpg', $actual);
}
public function testColorize()
{
$actual = $this->helper->__invoke('test.jpg')->colorize('ff00ff')->__toString();
-
- $this->assertEquals('/processed/test.$colorize,ff00ff.jpg', $actual);
+
+ self::assertEquals('/processed/test.$colorize,ff00ff.jpg', $actual);
}
public function testSharpen()
{
$actual = $this->helper->__invoke('test.jpg')->sharpen()->__toString();
-
- $this->assertEquals('/processed/test.$sharpen.jpg', $actual);
+
+ self::assertEquals('/processed/test.$sharpen.jpg', $actual);
}
public function testBlur()
{
$actual = $this->helper->__invoke('test.jpg')->blur(1)->__toString();
-
- $this->assertEquals('/processed/test.$blur,1.jpg', $actual);
+
+ self::assertEquals('/processed/test.$blur,1.jpg', $actual);
}
public function test404()
@@ -106,7 +106,7 @@ public function test404()
$actual = $this->helper->__invoke('test.jpg')
->x404('File not found', 'ffffff', 'ff00ff', 400, 200)
->__toString();
-
- $this->assertEquals('/processed/test.$404,RmlsZSBub3QgZm91bmQ,ffffff,ff00ff,400,200.jpg', $actual);
+
+ self::assertEquals('/processed/test.$404,RmlsZSBub3QgZm91bmQ,ffffff,ff00ff,400,200.jpg', $actual);
}
}
diff --git a/test/TestConfig.php.dist b/tests/TestConfig.php.dist
similarity index 91%
rename from test/TestConfig.php.dist
rename to tests/TestConfig.php.dist
index 9cbc2db..264c345 100644
--- a/test/TestConfig.php.dist
+++ b/tests/TestConfig.php.dist
@@ -1,7 +1,7 @@
[
- 'Zend\\Router',
+ 'Laminas\\Router',
'TckImageResizer',
],
'module_listener_options' => [
diff --git a/test/_files/test.jpg b/tests/_files/test.jpg
similarity index 100%
rename from test/_files/test.jpg
rename to tests/_files/test.jpg