diff --git a/composer.lock b/composer.lock
index 58c6e8e73dd538705edf9b3a288704716a04307a..025d5bf798625537cb6a0fa5c5ce20b22a1e4d11 100644
--- a/composer.lock
+++ b/composer.lock
@@ -2197,24 +2197,82 @@
],
"time": "2015-08-04 21:39:18"
},
+ {
+ "name": "zendframework/zend-hydrator",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/zendframework/zend-hydrator.git",
+ "reference": "f3ed8b833355140350bbed98d8a7b8b66875903f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/f3ed8b833355140350bbed98d8a7b8b66875903f",
+ "reference": "f3ed8b833355140350bbed98d8a7b8b66875903f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5",
+ "zendframework/zend-stdlib": "^2.5.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.0",
+ "squizlabs/php_codesniffer": "^2.0@dev",
+ "zendframework/zend-eventmanager": "^2.5.1",
+ "zendframework/zend-filter": "^2.5.1",
+ "zendframework/zend-inputfilter": "^2.5.1",
+ "zendframework/zend-serializer": "^2.5.1",
+ "zendframework/zend-servicemanager": "^2.5.1"
+ },
+ "suggest": {
+ "zendframework/zend-eventmanager": "^2.5.1, to support aggregate hydrator usage",
+ "zendframework/zend-filter": "^2.5.1, to support naming strategy hydrator usage",
+ "zendframework/zend-serializer": "^2.5.1, to use the SerializableStrategy",
+ "zendframework/zend-servicemanager": "^2.5.1, to support hydrator plugin manager usage"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev",
+ "dev-develop": "1.1-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Zend\\Hydrator\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "homepage": "https://github.com/zendframework/zend-hydrator",
+ "keywords": [
+ "hydrator",
+ "zf2"
+ ],
+ "time": "2015-09-17 14:06:43"
+ },
{
"name": "zendframework/zend-stdlib",
- "version": "2.6.0",
+ "version": "2.7.3",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-stdlib.git",
- "reference": "a35758803fc9051ec1aff43989e679b6b451b1b4"
+ "reference": "8ac0c77ff567fcf49b58689ee3bfa7595be102bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/a35758803fc9051ec1aff43989e679b6b451b1b4",
- "reference": "a35758803fc9051ec1aff43989e679b6b451b1b4",
+ "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/8ac0c77ff567fcf49b58689ee3bfa7595be102bc",
+ "reference": "8ac0c77ff567fcf49b58689ee3bfa7595be102bc",
"shasum": ""
},
"require": {
- "php": ">=5.5"
+ "php": ">=5.5",
+ "zendframework/zend-hydrator": "~1.0"
},
"require-dev": {
+ "athletic/athletic": "~0.1",
"fabpot/php-cs-fixer": "1.7.*",
"phpunit/phpunit": "~4.0",
"zendframework/zend-config": "~2.5",
@@ -2233,8 +2291,8 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.6-dev",
- "dev-develop": "2.7-dev"
+ "dev-master": "2.7-dev",
+ "dev-develop": "2.8-dev"
}
},
"autoload": {
@@ -2251,7 +2309,7 @@
"stdlib",
"zf2"
],
- "time": "2015-07-21 17:08:05"
+ "time": "2015-09-25 04:06:33"
}
],
"packages-dev": [
@@ -2529,16 +2587,16 @@
},
{
"name": "mikey179/vfsStream",
- "version": "v1.5.0",
+ "version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/mikey179/vfsStream.git",
- "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a"
+ "reference": "73bcb605b741a7d5044b47592338c633788b0eb7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/4dc0d2f622412f561f5b242b19b98068bbbc883a",
- "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a",
+ "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/73bcb605b741a7d5044b47592338c633788b0eb7",
+ "reference": "73bcb605b741a7d5044b47592338c633788b0eb7",
"shasum": ""
},
"require": {
@@ -2550,7 +2608,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.5.x-dev"
+ "dev-master": "1.6.x-dev"
}
},
"autoload": {
@@ -2571,7 +2629,7 @@
],
"description": "Virtual file system to mock the real file system in unit tests.",
"homepage": "http://vfs.bovigo.org/",
- "time": "2015-03-29 11:19:49"
+ "time": "2015-10-06 16:59:57"
},
{
"name": "phpdocumentor/reflection-docblock",
@@ -2684,16 +2742,16 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "2.2.3",
+ "version": "2.2.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "ef1ca6835468857944d5c3b48fa503d5554cff2f"
+ "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef1ca6835468857944d5c3b48fa503d5554cff2f",
- "reference": "ef1ca6835468857944d5c3b48fa503d5554cff2f",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
+ "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
"shasum": ""
},
"require": {
@@ -2742,7 +2800,7 @@
"testing",
"xunit"
],
- "time": "2015-09-14 06:51:16"
+ "time": "2015-10-06 15:47:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -2924,16 +2982,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "4.8.10",
+ "version": "4.8.11",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "463163747474815c5ccd4ae12b5b355ec12158e8"
+ "reference": "bdd199472410fd7e32751f9c814c7e06f2c21bd5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/463163747474815c5ccd4ae12b5b355ec12158e8",
- "reference": "463163747474815c5ccd4ae12b5b355ec12158e8",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bdd199472410fd7e32751f9c814c7e06f2c21bd5",
+ "reference": "bdd199472410fd7e32751f9c814c7e06f2c21bd5",
"shasum": ""
},
"require": {
@@ -2992,7 +3050,7 @@
"testing",
"xunit"
],
- "time": "2015-10-01 09:14:30"
+ "time": "2015-10-07 10:39:46"
},
{
"name": "phpunit/phpunit-mock-objects",
diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
index f3dd55e5435021b3d60d3b6b22a31e850204f0e4..8d5b5ef27e423b41ea0f84bdc5fdaac939e4d98a 100644
--- a/vendor/composer/autoload_psr4.php
+++ b/vendor/composer/autoload_psr4.php
@@ -7,6 +7,7 @@
return array(
'Zend\\Stdlib\\' => array($vendorDir . '/zendframework/zend-stdlib/src'),
+ 'Zend\\Hydrator\\' => array($vendorDir . '/zendframework/zend-hydrator/src'),
'Zend\\Feed\\' => array($vendorDir . '/zendframework/zend-feed/src'),
'Zend\\Escaper\\' => array($vendorDir . '/zendframework/zend-escaper/src'),
'Zend\\Diactoros\\' => array($vendorDir . '/zendframework/zend-diactoros/src'),
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index c29170ad1b75c8d5059d1370c6c939d1b4f53ea8..fdd91a9b42b12c99b0fae16e26b3c69d85d777bd 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -256,54 +256,6 @@
}
]
},
- {
- "name": "mikey179/vfsStream",
- "version": "v1.5.0",
- "version_normalized": "1.5.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/mikey179/vfsStream.git",
- "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/4dc0d2f622412f561f5b242b19b98068bbbc883a",
- "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.5"
- },
- "time": "2015-03-29 11:19:49",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.5.x-dev"
- }
- },
- "installation-source": "dist",
- "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/"
- },
{
"name": "doctrine/lexer",
"version": "v1.0.1",
@@ -1204,64 +1156,6 @@
"sparql"
]
},
- {
- "name": "zendframework/zend-stdlib",
- "version": "2.6.0",
- "version_normalized": "2.6.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/zendframework/zend-stdlib.git",
- "reference": "a35758803fc9051ec1aff43989e679b6b451b1b4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/a35758803fc9051ec1aff43989e679b6b451b1b4",
- "reference": "a35758803fc9051ec1aff43989e679b6b451b1b4",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5"
- },
- "require-dev": {
- "fabpot/php-cs-fixer": "1.7.*",
- "phpunit/phpunit": "~4.0",
- "zendframework/zend-config": "~2.5",
- "zendframework/zend-eventmanager": "~2.5",
- "zendframework/zend-filter": "~2.5",
- "zendframework/zend-inputfilter": "~2.5",
- "zendframework/zend-serializer": "~2.5",
- "zendframework/zend-servicemanager": "~2.5"
- },
- "suggest": {
- "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
- "zendframework/zend-filter": "To support naming strategy hydrator usage",
- "zendframework/zend-serializer": "Zend\\Serializer component",
- "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
- },
- "time": "2015-07-21 17:08:05",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.6-dev",
- "dev-develop": "2.7-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Zend\\Stdlib\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "homepage": "https://github.com/zendframework/zend-stdlib",
- "keywords": [
- "stdlib",
- "zf2"
- ]
- },
{
"name": "zendframework/zend-escaper",
"version": "2.5.1",
@@ -2530,144 +2424,6 @@
"tokenizer"
]
},
- {
- "name": "phpunit/php-code-coverage",
- "version": "2.2.3",
- "version_normalized": "2.2.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "ef1ca6835468857944d5c3b48fa503d5554cff2f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef1ca6835468857944d5c3b48fa503d5554cff2f",
- "reference": "ef1ca6835468857944d5c3b48fa503d5554cff2f",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "phpunit/php-file-iterator": "~1.3",
- "phpunit/php-text-template": "~1.2",
- "phpunit/php-token-stream": "~1.3",
- "sebastian/environment": "^1.3.2",
- "sebastian/version": "~1.0"
- },
- "require-dev": {
- "ext-xdebug": ">=2.1.4",
- "phpunit/phpunit": "~4"
- },
- "suggest": {
- "ext-dom": "*",
- "ext-xdebug": ">=2.2.1",
- "ext-xmlwriter": "*"
- },
- "time": "2015-09-14 06:51:16",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.2.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.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"
- ]
- },
- {
- "name": "phpunit/phpunit",
- "version": "4.8.10",
- "version_normalized": "4.8.10.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "463163747474815c5ccd4ae12b5b355ec12158e8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/463163747474815c5ccd4ae12b5b355ec12158e8",
- "reference": "463163747474815c5ccd4ae12b5b355ec12158e8",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-json": "*",
- "ext-pcre": "*",
- "ext-reflection": "*",
- "ext-spl": "*",
- "php": ">=5.3.3",
- "phpspec/prophecy": "^1.3.1",
- "phpunit/php-code-coverage": "~2.1",
- "phpunit/php-file-iterator": "~1.4",
- "phpunit/php-text-template": "~1.2",
- "phpunit/php-timer": ">=1.0.6",
- "phpunit/phpunit-mock-objects": "~2.3",
- "sebastian/comparator": "~1.1",
- "sebastian/diff": "~1.2",
- "sebastian/environment": "~1.3",
- "sebastian/exporter": "~1.2",
- "sebastian/global-state": "~1.0",
- "sebastian/version": "~1.0",
- "symfony/yaml": "~2.1|~3.0"
- },
- "suggest": {
- "phpunit/php-invoker": "~1.1"
- },
- "time": "2015-10-01 09:14:30",
- "bin": [
- "phpunit"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.8.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "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"
- ]
- },
{
"name": "symfony/class-loader",
"version": "v2.7.5",
@@ -3697,5 +3453,309 @@
"validation",
"versioning"
]
+ },
+ {
+ "name": "mikey179/vfsStream",
+ "version": "v1.6.0",
+ "version_normalized": "1.6.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mikey179/vfsStream.git",
+ "reference": "73bcb605b741a7d5044b47592338c633788b0eb7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/73bcb605b741a7d5044b47592338c633788b0eb7",
+ "reference": "73bcb605b741a7d5044b47592338c633788b0eb7",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.5"
+ },
+ "time": "2015-10-06 16:59:57",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.6.x-dev"
+ }
+ },
+ "installation-source": "dist",
+ "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/"
+ },
+ {
+ "name": "phpunit/php-code-coverage",
+ "version": "2.2.4",
+ "version_normalized": "2.2.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
+ "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3",
+ "phpunit/php-file-iterator": "~1.3",
+ "phpunit/php-text-template": "~1.2",
+ "phpunit/php-token-stream": "~1.3",
+ "sebastian/environment": "^1.3.2",
+ "sebastian/version": "~1.0"
+ },
+ "require-dev": {
+ "ext-xdebug": ">=2.1.4",
+ "phpunit/phpunit": "~4"
+ },
+ "suggest": {
+ "ext-dom": "*",
+ "ext-xdebug": ">=2.2.1",
+ "ext-xmlwriter": "*"
+ },
+ "time": "2015-10-06 15:47:00",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.2.x-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sb@sebastian-bergmann.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"
+ ]
+ },
+ {
+ "name": "phpunit/phpunit",
+ "version": "4.8.11",
+ "version_normalized": "4.8.11.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "bdd199472410fd7e32751f9c814c7e06f2c21bd5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/bdd199472410fd7e32751f9c814c7e06f2c21bd5",
+ "reference": "bdd199472410fd7e32751f9c814c7e06f2c21bd5",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-pcre": "*",
+ "ext-reflection": "*",
+ "ext-spl": "*",
+ "php": ">=5.3.3",
+ "phpspec/prophecy": "^1.3.1",
+ "phpunit/php-code-coverage": "~2.1",
+ "phpunit/php-file-iterator": "~1.4",
+ "phpunit/php-text-template": "~1.2",
+ "phpunit/php-timer": ">=1.0.6",
+ "phpunit/phpunit-mock-objects": "~2.3",
+ "sebastian/comparator": "~1.1",
+ "sebastian/diff": "~1.2",
+ "sebastian/environment": "~1.3",
+ "sebastian/exporter": "~1.2",
+ "sebastian/global-state": "~1.0",
+ "sebastian/version": "~1.0",
+ "symfony/yaml": "~2.1|~3.0"
+ },
+ "suggest": {
+ "phpunit/php-invoker": "~1.1"
+ },
+ "time": "2015-10-07 10:39:46",
+ "bin": [
+ "phpunit"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.8.x-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "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"
+ ]
+ },
+ {
+ "name": "zendframework/zend-hydrator",
+ "version": "1.0.0",
+ "version_normalized": "1.0.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/zendframework/zend-hydrator.git",
+ "reference": "f3ed8b833355140350bbed98d8a7b8b66875903f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/f3ed8b833355140350bbed98d8a7b8b66875903f",
+ "reference": "f3ed8b833355140350bbed98d8a7b8b66875903f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5",
+ "zendframework/zend-stdlib": "^2.5.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.0",
+ "squizlabs/php_codesniffer": "^2.0@dev",
+ "zendframework/zend-eventmanager": "^2.5.1",
+ "zendframework/zend-filter": "^2.5.1",
+ "zendframework/zend-inputfilter": "^2.5.1",
+ "zendframework/zend-serializer": "^2.5.1",
+ "zendframework/zend-servicemanager": "^2.5.1"
+ },
+ "suggest": {
+ "zendframework/zend-eventmanager": "^2.5.1, to support aggregate hydrator usage",
+ "zendframework/zend-filter": "^2.5.1, to support naming strategy hydrator usage",
+ "zendframework/zend-serializer": "^2.5.1, to use the SerializableStrategy",
+ "zendframework/zend-servicemanager": "^2.5.1, to support hydrator plugin manager usage"
+ },
+ "time": "2015-09-17 14:06:43",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev",
+ "dev-develop": "1.1-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Zend\\Hydrator\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "homepage": "https://github.com/zendframework/zend-hydrator",
+ "keywords": [
+ "hydrator",
+ "zf2"
+ ]
+ },
+ {
+ "name": "zendframework/zend-stdlib",
+ "version": "2.7.3",
+ "version_normalized": "2.7.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/zendframework/zend-stdlib.git",
+ "reference": "8ac0c77ff567fcf49b58689ee3bfa7595be102bc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/8ac0c77ff567fcf49b58689ee3bfa7595be102bc",
+ "reference": "8ac0c77ff567fcf49b58689ee3bfa7595be102bc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5",
+ "zendframework/zend-hydrator": "~1.0"
+ },
+ "require-dev": {
+ "athletic/athletic": "~0.1",
+ "fabpot/php-cs-fixer": "1.7.*",
+ "phpunit/phpunit": "~4.0",
+ "zendframework/zend-config": "~2.5",
+ "zendframework/zend-eventmanager": "~2.5",
+ "zendframework/zend-filter": "~2.5",
+ "zendframework/zend-inputfilter": "~2.5",
+ "zendframework/zend-serializer": "~2.5",
+ "zendframework/zend-servicemanager": "~2.5"
+ },
+ "suggest": {
+ "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
+ "zendframework/zend-filter": "To support naming strategy hydrator usage",
+ "zendframework/zend-serializer": "Zend\\Serializer component",
+ "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
+ },
+ "time": "2015-09-25 04:06:33",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.7-dev",
+ "dev-develop": "2.8-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Zend\\Stdlib\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "homepage": "https://github.com/zendframework/zend-stdlib",
+ "keywords": [
+ "stdlib",
+ "zf2"
+ ]
}
]
diff --git a/vendor/mikey179/vfsStream/CHANGELOG.md b/vendor/mikey179/vfsStream/CHANGELOG.md
index b3f2eb1cb60897f980c56400d91e320103e0cdcc..126c5ff1d534567f286c2f45ae68d25f70bc470a 100644
--- a/vendor/mikey179/vfsStream/CHANGELOG.md
+++ b/vendor/mikey179/vfsStream/CHANGELOG.md
@@ -1,3 +1,10 @@
+1.6.0 (2015-10-06)
+------------------
+
+ * added `vfsStreamWrapper::unregister()`, provided by @malkusch with #114
+ * fixed #115: incorrect handling of `..` in root directory on PHP 5.5, fix provided by @acoulton with #116
+
+
1.5.0 (2015-03-29)
------------------
diff --git a/vendor/mikey179/vfsStream/readme.md b/vendor/mikey179/vfsStream/README.md
similarity index 73%
rename from vendor/mikey179/vfsStream/readme.md
rename to vendor/mikey179/vfsStream/README.md
index 9eb78c506f688aec603354c6f412bfe4e8cf2f24..74554bf728adf94f873f143b7fe314f77c251eb5 100644
--- a/vendor/mikey179/vfsStream/readme.md
+++ b/vendor/mikey179/vfsStream/README.md
@@ -1,4 +1,7 @@
-For more information have a look in the [wiki](https://github.com/mikey179/vfsStream/wiki).
+You can find documentation in the [wiki](https://github.com/mikey179/vfsStream/wiki).
+
+Also you might want to check [vfsStream examples](https://github.com/mikey179/vfsStream-examples).
+
[![Build Status](https://secure.travis-ci.org/mikey179/vfsStream.png)](http://travis-ci.org/mikey179/vfsStream) [![Coverage Status](https://coveralls.io/repos/mikey179/vfsStream/badge.png?branch=master)](https://coveralls.io/r/mikey179/vfsStream?branch=master)
diff --git a/vendor/mikey179/vfsStream/composer.json b/vendor/mikey179/vfsStream/composer.json
index c87f5fe6bce091546f49122311325a2e655deab1..c18e37ddd3163f349e02ec72a3d51edd520de921 100644
--- a/vendor/mikey179/vfsStream/composer.json
+++ b/vendor/mikey179/vfsStream/composer.json
@@ -27,7 +27,7 @@
},
"extra": {
"branch-alias": {
- "dev-master": "1.5.x-dev"
+ "dev-master": "1.6.x-dev"
}
}
}
diff --git a/vendor/mikey179/vfsStream/composer.lock b/vendor/mikey179/vfsStream/composer.lock
new file mode 100644
index 0000000000000000000000000000000000000000..99e11306cd883562dbad8cc7489f0008d6836701
--- /dev/null
+++ b/vendor/mikey179/vfsStream/composer.lock
@@ -0,0 +1,972 @@
+{
+ "_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#composer-lock-the-lock-file",
+ "This file is @generated automatically"
+ ],
+ "hash": "e3c2dd0d4b4daf3d2c9e0bedd344592a",
+ "content-hash": "59c3102c5db7e3c4d78a920d4712790d",
+ "packages": [],
+ "packages-dev": [
+ {
+ "name": "doctrine/instantiator",
+ "version": "1.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/instantiator.git",
+ "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
+ "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3,<8.0-DEV"
+ },
+ "require-dev": {
+ "athletic/athletic": "~0.1.8",
+ "ext-pdo": "*",
+ "ext-phar": "*",
+ "phpunit/phpunit": "~4.0",
+ "squizlabs/php_codesniffer": "~2.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "http://ocramius.github.com/"
+ }
+ ],
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "homepage": "https://github.com/doctrine/instantiator",
+ "keywords": [
+ "constructor",
+ "instantiate"
+ ],
+ "time": "2015-06-14 21:17:01"
+ },
+ {
+ "name": "phpdocumentor/reflection-docblock",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+ "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
+ "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.0"
+ },
+ "suggest": {
+ "dflydev/markdown": "~1.0",
+ "erusev/parsedown": "~1.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "phpDocumentor": [
+ "src/"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "mike.vanriel@naenius.com"
+ }
+ ],
+ "time": "2015-02-03 12:10:50"
+ },
+ {
+ "name": "phpspec/prophecy",
+ "version": "v1.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpspec/prophecy.git",
+ "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7",
+ "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.0.2",
+ "phpdocumentor/reflection-docblock": "~2.0",
+ "sebastian/comparator": "~1.1"
+ },
+ "require-dev": {
+ "phpspec/phpspec": "~2.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Prophecy\\": "src/"
+ }
+ },
+ "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"
+ ],
+ "time": "2015-08-13 10:07:40"
+ },
+ {
+ "name": "phpunit/php-code-coverage",
+ "version": "2.2.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "ef1ca6835468857944d5c3b48fa503d5554cff2f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef1ca6835468857944d5c3b48fa503d5554cff2f",
+ "reference": "ef1ca6835468857944d5c3b48fa503d5554cff2f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3",
+ "phpunit/php-file-iterator": "~1.3",
+ "phpunit/php-text-template": "~1.2",
+ "phpunit/php-token-stream": "~1.3",
+ "sebastian/environment": "^1.3.2",
+ "sebastian/version": "~1.0"
+ },
+ "require-dev": {
+ "ext-xdebug": ">=2.1.4",
+ "phpunit/phpunit": "~4"
+ },
+ "suggest": {
+ "ext-dom": "*",
+ "ext-xdebug": ">=2.2.1",
+ "ext-xmlwriter": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.2.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sb@sebastian-bergmann.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"
+ ],
+ "time": "2015-09-14 06:51:16"
+ },
+ {
+ "name": "phpunit/php-file-iterator",
+ "version": "1.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
+ "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sb@sebastian-bergmann.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"
+ ],
+ "time": "2015-06-21 13:08:43"
+ },
+ {
+ "name": "phpunit/php-text-template",
+ "version": "1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+ "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "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"
+ ],
+ "time": "2015-06-21 13:50:34"
+ },
+ {
+ "name": "phpunit/php-timer",
+ "version": "1.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
+ "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sb@sebastian-bergmann.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "keywords": [
+ "timer"
+ ],
+ "time": "2015-06-21 08:01:12"
+ },
+ {
+ "name": "phpunit/php-token-stream",
+ "version": "1.4.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-token-stream.git",
+ "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
+ "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Wrapper around PHP's tokenizer extension.",
+ "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
+ "keywords": [
+ "tokenizer"
+ ],
+ "time": "2015-09-15 10:49:45"
+ },
+ {
+ "name": "phpunit/phpunit",
+ "version": "4.8.10",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "463163747474815c5ccd4ae12b5b355ec12158e8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/463163747474815c5ccd4ae12b5b355ec12158e8",
+ "reference": "463163747474815c5ccd4ae12b5b355ec12158e8",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-pcre": "*",
+ "ext-reflection": "*",
+ "ext-spl": "*",
+ "php": ">=5.3.3",
+ "phpspec/prophecy": "^1.3.1",
+ "phpunit/php-code-coverage": "~2.1",
+ "phpunit/php-file-iterator": "~1.4",
+ "phpunit/php-text-template": "~1.2",
+ "phpunit/php-timer": ">=1.0.6",
+ "phpunit/phpunit-mock-objects": "~2.3",
+ "sebastian/comparator": "~1.1",
+ "sebastian/diff": "~1.2",
+ "sebastian/environment": "~1.3",
+ "sebastian/exporter": "~1.2",
+ "sebastian/global-state": "~1.0",
+ "sebastian/version": "~1.0",
+ "symfony/yaml": "~2.1|~3.0"
+ },
+ "suggest": {
+ "phpunit/php-invoker": "~1.1"
+ },
+ "bin": [
+ "phpunit"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.8.x-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": "The PHP Unit Testing framework.",
+ "homepage": "https://phpunit.de/",
+ "keywords": [
+ "phpunit",
+ "testing",
+ "xunit"
+ ],
+ "time": "2015-10-01 09:14:30"
+ },
+ {
+ "name": "phpunit/phpunit-mock-objects",
+ "version": "2.3.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
+ "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
+ "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.0.2",
+ "php": ">=5.3.3",
+ "phpunit/php-text-template": "~1.2",
+ "sebastian/exporter": "~1.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.4"
+ },
+ "suggest": {
+ "ext-soap": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.3.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sb@sebastian-bergmann.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Mock Object library for PHPUnit",
+ "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
+ "keywords": [
+ "mock",
+ "xunit"
+ ],
+ "time": "2015-10-02 06:51:40"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
+ "reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3",
+ "sebastian/diff": "~1.2",
+ "sebastian/exporter": "~1.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.2.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "http://www.github.com/sebastianbergmann/comparator",
+ "keywords": [
+ "comparator",
+ "compare",
+ "equality"
+ ],
+ "time": "2015-07-26 15:48:44"
+ },
+ {
+ "name": "sebastian/diff",
+ "version": "1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3",
+ "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.3-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Diff implementation",
+ "homepage": "http://www.github.com/sebastianbergmann/diff",
+ "keywords": [
+ "diff"
+ ],
+ "time": "2015-02-22 15:13:53"
+ },
+ {
+ "name": "sebastian/environment",
+ "version": "1.3.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44",
+ "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.3.x-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"
+ ],
+ "time": "2015-08-03 06:14:51"
+ },
+ {
+ "name": "sebastian/exporter",
+ "version": "1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "7ae5513327cb536431847bcc0c10edba2701064e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e",
+ "reference": "7ae5513327cb536431847bcc0c10edba2701064e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3",
+ "sebastian/recursion-context": "~1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.2.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ }
+ ],
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "http://www.github.com/sebastianbergmann/exporter",
+ "keywords": [
+ "export",
+ "exporter"
+ ],
+ "time": "2015-06-21 07:55:53"
+ },
+ {
+ "name": "sebastian/global-state",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
+ "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.2"
+ },
+ "suggest": {
+ "ext-uopz": "*"
+ },
+ "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"
+ }
+ ],
+ "description": "Snapshotting of global state",
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "keywords": [
+ "global state"
+ ],
+ "time": "2014-10-06 09:23:50"
+ },
+ {
+ "name": "sebastian/recursion-context",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "994d4a811bafe801fb06dccbee797863ba2792ba"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba",
+ "reference": "994d4a811bafe801fb06dccbee797863ba2792ba",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ }
+ ],
+ "description": "Provides functionality to recursively process PHP variables",
+ "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+ "time": "2015-06-21 08:04:50"
+ },
+ {
+ "name": "sebastian/version",
+ "version": "1.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
+ "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
+ "shasum": ""
+ },
+ "type": "library",
+ "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",
+ "time": "2015-06-21 13:59:46"
+ },
+ {
+ "name": "symfony/yaml",
+ "version": "v2.7.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/yaml.git",
+ "reference": "31cb2ad0155c95b88ee55fe12bc7ff92232c1770"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/31cb2ad0155c95b88ee55fe12bc7ff92232c1770",
+ "reference": "31cb2ad0155c95b88ee55fe12bc7ff92232c1770",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.9"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "~2.7"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Yaml\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Yaml Component",
+ "homepage": "https://symfony.com",
+ "time": "2015-09-14 14:14:09"
+ }
+ ],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": [],
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": {
+ "php": ">=5.3.0"
+ },
+ "platform-dev": []
+}
diff --git a/vendor/mikey179/vfsStream/phpunit.xml.dist b/vendor/mikey179/vfsStream/phpunit.xml.dist
new file mode 100644
index 0000000000000000000000000000000000000000..f5e0556375bb08ba64ee66d736fac0606a884c0d
--- /dev/null
+++ b/vendor/mikey179/vfsStream/phpunit.xml.dist
@@ -0,0 +1,43 @@
+
+
+ * $composite->addFilter("servicelocator",
+ * function ($property) {
+ * list($class, $method) = explode('::', $property);
+ * if ($method === 'getServiceLocator') {
+ * return false;
+ * }
+ * return true;
+ * }, FilterComposite::CONDITION_AND
+ * );
+ *
+ *
+ * @param string $name Index in the composite
+ * @param callable|Filter\FilterInterface $filter
+ * @param int $condition
+ * @return Filter\FilterComposite
+ */
+ public function addFilter($name, $filter, $condition = Filter\FilterComposite::CONDITION_OR)
+ {
+ return $this->filterComposite->addFilter($name, $filter, $condition);
+ }
+
+ /**
+ * Check whether a specific filter exists at key $name or not
+ *
+ * @param string $name Index in the composite
+ * @return bool
+ */
+ public function hasFilter($name)
+ {
+ return $this->filterComposite->hasFilter($name);
+ }
+
+ /**
+ * Remove a filter from the composition.
+ * To not extract "has" methods, you simply need to unregister it
+ *
+ *
+ * $filterComposite->removeFilter('has');
+ *
+ *
+ * @param $name
+ * @return Filter\FilterComposite
+ */
+ public function removeFilter($name)
+ {
+ return $this->filterComposite->removeFilter($name);
+ }
+
+ /**
+ * Adds the given naming strategy
+ *
+ * @param NamingStrategy\NamingStrategyInterface $strategy The naming to register.
+ * @return self
+ */
+ public function setNamingStrategy(NamingStrategy\NamingStrategyInterface $strategy)
+ {
+ $this->namingStrategy = $strategy;
+
+ return $this;
+ }
+
+ /**
+ * Gets the naming strategy.
+ *
+ * @return NamingStrategy\NamingStrategyInterface
+ */
+ public function getNamingStrategy()
+ {
+ return $this->namingStrategy;
+ }
+
+ /**
+ * Checks if a naming strategy exists.
+ *
+ * @return bool
+ */
+ public function hasNamingStrategy()
+ {
+ return isset($this->namingStrategy);
+ }
+
+ /**
+ * Removes the naming strategy
+ *
+ * @return self
+ */
+ public function removeNamingStrategy()
+ {
+ $this->namingStrategy = null;
+
+ return $this;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Aggregate/AggregateHydrator.php b/vendor/zendframework/zend-hydrator/src/Aggregate/AggregateHydrator.php
new file mode 100644
index 0000000000000000000000000000000000000000..fa384adbda0c38793ecf9f6869fefe73ddb83479
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Aggregate/AggregateHydrator.php
@@ -0,0 +1,85 @@
+getEventManager()->attachAggregate(new HydratorListener($hydrator), $priority);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function extract($object)
+ {
+ $event = new ExtractEvent($this, $object);
+
+ $this->getEventManager()->trigger($event);
+
+ return $event->getExtractedData();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function hydrate(array $data, $object)
+ {
+ $event = new HydrateEvent($this, $object, $data);
+
+ $this->getEventManager()->trigger($event);
+
+ return $event->getHydratedObject();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function setEventManager(EventManagerInterface $eventManager)
+ {
+ $eventManager->setIdentifiers([__CLASS__, get_class($this)]);
+
+ $this->eventManager = $eventManager;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function getEventManager()
+ {
+ if (null === $this->eventManager) {
+ $this->setEventManager(new EventManager());
+ }
+
+ return $this->eventManager;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Aggregate/ExtractEvent.php b/vendor/zendframework/zend-hydrator/src/Aggregate/ExtractEvent.php
new file mode 100644
index 0000000000000000000000000000000000000000..13959175a86137270a64076d5ccab9c119e4f0ee
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Aggregate/ExtractEvent.php
@@ -0,0 +1,98 @@
+target = $target;
+ $this->extractionObject = $extractionObject;
+ }
+
+ /**
+ * Retrieves the object from which data is extracted
+ *
+ * @return object
+ */
+ public function getExtractionObject()
+ {
+ return $this->extractionObject;
+ }
+
+ /**
+ * @param object $extractionObject
+ *
+ * @return void
+ */
+ public function setExtractionObject($extractionObject)
+ {
+ $this->extractionObject = $extractionObject;
+ }
+
+ /**
+ * Retrieves the data that has been extracted
+ *
+ * @return array
+ */
+ public function getExtractedData()
+ {
+ return $this->extractedData;
+ }
+
+ /**
+ * @param array $extractedData
+ *
+ * @return void
+ */
+ public function setExtractedData(array $extractedData)
+ {
+ $this->extractedData = $extractedData;
+ }
+
+ /**
+ * Merge provided data with the extracted data
+ *
+ * @param array $additionalData
+ *
+ * @return void
+ */
+ public function mergeExtractedData(array $additionalData)
+ {
+ $this->extractedData = array_merge($this->extractedData, $additionalData);
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Aggregate/HydrateEvent.php b/vendor/zendframework/zend-hydrator/src/Aggregate/HydrateEvent.php
new file mode 100644
index 0000000000000000000000000000000000000000..7865964d701fb01234cd97920b069d22bfdf1ee2
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Aggregate/HydrateEvent.php
@@ -0,0 +1,84 @@
+target = $target;
+ $this->hydratedObject = $hydratedObject;
+ $this->hydrationData = $hydrationData;
+ }
+
+ /**
+ * Retrieves the object that is being hydrated
+ *
+ * @return object
+ */
+ public function getHydratedObject()
+ {
+ return $this->hydratedObject;
+ }
+
+ /**
+ * @param object $hydratedObject
+ */
+ public function setHydratedObject($hydratedObject)
+ {
+ $this->hydratedObject = $hydratedObject;
+ }
+
+ /**
+ * Retrieves the data that is being used for hydration
+ *
+ * @return array
+ */
+ public function getHydrationData()
+ {
+ return $this->hydrationData;
+ }
+
+ /**
+ * @param array $hydrationData
+ */
+ public function setHydrationData(array $hydrationData)
+ {
+ $this->hydrationData = $hydrationData;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Aggregate/HydratorListener.php b/vendor/zendframework/zend-hydrator/src/Aggregate/HydratorListener.php
new file mode 100644
index 0000000000000000000000000000000000000000..c8260a43c5489d11b878eba5b2e2c8f9e82b3337
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Aggregate/HydratorListener.php
@@ -0,0 +1,72 @@
+hydrator = $hydrator;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function attach(EventManagerInterface $events, $priority = 1)
+ {
+ $this->listeners[] = $events->attach(HydrateEvent::EVENT_HYDRATE, [$this, 'onHydrate'], $priority);
+ $this->listeners[] = $events->attach(ExtractEvent::EVENT_EXTRACT, [$this, 'onExtract'], $priority);
+ }
+
+ /**
+ * Callback to be used when {@see HydrateEvent::EVENT_HYDRATE} is triggered
+ *
+ * @param HydrateEvent $event
+ * @return object
+ * @internal
+ */
+ public function onHydrate(HydrateEvent $event)
+ {
+ $object = $this->hydrator->hydrate($event->getHydrationData(), $event->getHydratedObject());
+ $event->setHydratedObject($object);
+ return $object;
+ }
+
+ /**
+ * Callback to be used when {@see ExtractEvent::EVENT_EXTRACT} is triggered
+ *
+ * @param ExtractEvent $event
+ * @return array
+ * @internal
+ */
+ public function onExtract(ExtractEvent $event)
+ {
+ $data = $this->hydrator->extract($event->getExtractionObject());
+ $event->mergeExtractedData($data);
+ return $data;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/ArraySerializable.php b/vendor/zendframework/zend-hydrator/src/ArraySerializable.php
new file mode 100644
index 0000000000000000000000000000000000000000..24edee5c2ed71cdde699428967eb469dc955a6db
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/ArraySerializable.php
@@ -0,0 +1,81 @@
+getArrayCopy();
+ $filter = $this->getFilter();
+
+ foreach ($data as $name => $value) {
+ if (!$filter->filter($name)) {
+ unset($data[$name]);
+ continue;
+ }
+ $extractedName = $this->extractName($name, $object);
+ // replace the original key with extracted, if differ
+ if ($extractedName !== $name) {
+ unset($data[$name]);
+ $name = $extractedName;
+ }
+ $data[$name] = $this->extractValue($name, $value, $object);
+ }
+
+ return $data;
+ }
+
+ /**
+ * Hydrate an object
+ *
+ * Hydrates an object by passing $data to either its exchangeArray() or
+ * populate() method.
+ *
+ * @param array $data
+ * @param object $object
+ * @return object
+ * @throws Exception\BadMethodCallException for an $object not implementing exchangeArray() or populate()
+ */
+ public function hydrate(array $data, $object)
+ {
+ $replacement = [];
+ foreach ($data as $key => $value) {
+ $name = $this->hydrateName($key, $data);
+ $replacement[$name] = $this->hydrateValue($name, $value, $data);
+ }
+
+ if (is_callable([$object, 'exchangeArray'])) {
+ $object->exchangeArray($replacement);
+ } elseif (is_callable([$object, 'populate'])) {
+ $object->populate($replacement);
+ } else {
+ throw new Exception\BadMethodCallException(
+ sprintf('%s expects the provided object to implement exchangeArray() or populate()', __METHOD__)
+ );
+ }
+ return $object;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/ClassMethods.php b/vendor/zendframework/zend-hydrator/src/ClassMethods.php
new file mode 100644
index 0000000000000000000000000000000000000000..80cce848284ddc249899360e86b87f09251d664c
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/ClassMethods.php
@@ -0,0 +1,268 @@
+setUnderscoreSeparatedKeys($underscoreSeparatedKeys);
+
+ $this->callableMethodFilter = new Filter\OptionalParametersFilter();
+
+ $this->filterComposite->addFilter('is', new Filter\IsFilter());
+ $this->filterComposite->addFilter('has', new Filter\HasFilter());
+ $this->filterComposite->addFilter('get', new Filter\GetFilter());
+ $this->filterComposite->addFilter(
+ 'parameter',
+ new Filter\OptionalParametersFilter(),
+ Filter\FilterComposite::CONDITION_AND
+ );
+ }
+
+ /**
+ * @param array|Traversable $options
+ * @return ClassMethods
+ * @throws Exception\InvalidArgumentException
+ */
+ public function setOptions($options)
+ {
+ if ($options instanceof Traversable) {
+ $options = ArrayUtils::iteratorToArray($options);
+ } elseif (!is_array($options)) {
+ throw new Exception\InvalidArgumentException(
+ 'The options parameter must be an array or a Traversable'
+ );
+ }
+ if (isset($options['underscoreSeparatedKeys'])) {
+ $this->setUnderscoreSeparatedKeys($options['underscoreSeparatedKeys']);
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param bool $underscoreSeparatedKeys
+ * @return ClassMethods
+ */
+ public function setUnderscoreSeparatedKeys($underscoreSeparatedKeys)
+ {
+ $this->underscoreSeparatedKeys = (bool) $underscoreSeparatedKeys;
+
+ if ($this->underscoreSeparatedKeys) {
+ $this->setNamingStrategy(new NamingStrategy\UnderscoreNamingStrategy);
+ } elseif ($this->getNamingStrategy() instanceof NamingStrategy\UnderscoreNamingStrategy) {
+ $this->removeNamingStrategy();
+ }
+
+ return $this;
+ }
+
+ /**
+ * @return bool
+ */
+ public function getUnderscoreSeparatedKeys()
+ {
+ return $this->underscoreSeparatedKeys;
+ }
+
+ /**
+ * Extract values from an object with class methods
+ *
+ * Extracts the getter/setter of the given $object.
+ *
+ * @param object $object
+ * @return array
+ * @throws Exception\BadMethodCallException for a non-object $object
+ */
+ public function extract($object)
+ {
+ if (!is_object($object)) {
+ throw new Exception\BadMethodCallException(sprintf(
+ '%s expects the provided $object to be a PHP object)',
+ __METHOD__
+ ));
+ }
+
+ $objectClass = get_class($object);
+
+ // reset the hydrator's hydrator's cache for this object, as the filter may be per-instance
+ if ($object instanceof Filter\FilterProviderInterface) {
+ $this->extractionMethodsCache[$objectClass] = null;
+ }
+
+ // pass 1 - finding out which properties can be extracted, with which methods (populate hydration cache)
+ if (! isset($this->extractionMethodsCache[$objectClass])) {
+ $this->extractionMethodsCache[$objectClass] = [];
+ $filter = $this->filterComposite;
+ $methods = get_class_methods($object);
+
+ if ($object instanceof Filter\FilterProviderInterface) {
+ $filter = new Filter\FilterComposite(
+ [$object->getFilter()],
+ [new Filter\MethodMatchFilter('getFilter')]
+ );
+ }
+
+ foreach ($methods as $method) {
+ $methodFqn = $objectClass . '::' . $method;
+
+ if (! ($filter->filter($methodFqn) && $this->callableMethodFilter->filter($methodFqn))) {
+ continue;
+ }
+
+ $attribute = $method;
+
+ if (strpos($method, 'get') === 0) {
+ $attribute = substr($method, 3);
+ if (!property_exists($object, $attribute)) {
+ $attribute = lcfirst($attribute);
+ }
+ }
+
+ $this->extractionMethodsCache[$objectClass][$method] = $attribute;
+ }
+ }
+
+ $values = [];
+
+ // pass 2 - actually extract data
+ foreach ($this->extractionMethodsCache[$objectClass] as $methodName => $attributeName) {
+ $realAttributeName = $this->extractName($attributeName, $object);
+ $values[$realAttributeName] = $this->extractValue($realAttributeName, $object->$methodName(), $object);
+ }
+
+ return $values;
+ }
+
+ /**
+ * Hydrate an object by populating getter/setter methods
+ *
+ * Hydrates an object by getter/setter methods of the object.
+ *
+ * @param array $data
+ * @param object $object
+ * @return object
+ * @throws Exception\BadMethodCallException for a non-object $object
+ */
+ public function hydrate(array $data, $object)
+ {
+ if (!is_object($object)) {
+ throw new Exception\BadMethodCallException(sprintf(
+ '%s expects the provided $object to be a PHP object)',
+ __METHOD__
+ ));
+ }
+
+ $objectClass = get_class($object);
+
+ foreach ($data as $property => $value) {
+ $propertyFqn = $objectClass . '::$' . $property;
+
+ if (! isset($this->hydrationMethodsCache[$propertyFqn])) {
+ $setterName = 'set' . ucfirst($this->hydrateName($property, $data));
+
+ $this->hydrationMethodsCache[$propertyFqn] = is_callable([$object, $setterName])
+ ? $setterName
+ : false;
+ }
+
+ if ($this->hydrationMethodsCache[$propertyFqn]) {
+ $object->{$this->hydrationMethodsCache[$propertyFqn]}($this->hydrateValue($property, $value, $data));
+ }
+ }
+
+ return $object;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function addFilter($name, $filter, $condition = Filter\FilterComposite::CONDITION_OR)
+ {
+ $this->resetCaches();
+
+ return parent::addFilter($name, $filter, $condition);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function removeFilter($name)
+ {
+ $this->resetCaches();
+
+ return parent::removeFilter($name);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function setNamingStrategy(NamingStrategy\NamingStrategyInterface $strategy)
+ {
+ $this->resetCaches();
+
+ return parent::setNamingStrategy($strategy);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function removeNamingStrategy()
+ {
+ $this->resetCaches();
+
+ return parent::removeNamingStrategy();
+ }
+
+ /**
+ * Reset all local hydration/extraction caches
+ */
+ private function resetCaches()
+ {
+ $this->hydrationMethodsCache = $this->extractionMethodsCache = [];
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/DelegatingHydrator.php b/vendor/zendframework/zend-hydrator/src/DelegatingHydrator.php
new file mode 100644
index 0000000000000000000000000000000000000000..a6f3f9472f8d8016d72e3480cd905ff20b421432
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/DelegatingHydrator.php
@@ -0,0 +1,57 @@
+hydrators = $hydrators;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function hydrate(array $data, $object)
+ {
+ return $this->getHydrator($object)->hydrate($data, $object);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function extract($object)
+ {
+ return $this->getHydrator($object)->extract($object);
+ }
+
+ /**
+ * Gets hydrator of an object
+ *
+ * @param object $object
+ * @return HydratorInterface
+ */
+ protected function getHydrator($object)
+ {
+ return $this->hydrators->get(get_class($object));
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/DelegatingHydratorFactory.php b/vendor/zendframework/zend-hydrator/src/DelegatingHydratorFactory.php
new file mode 100644
index 0000000000000000000000000000000000000000..89f284179b7a33935531bcc97d6b26cb69abc14d
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/DelegatingHydratorFactory.php
@@ -0,0 +1,29 @@
+orFilter = new ArrayObject($orFilter);
+ $this->andFilter = new ArrayObject($andFilter);
+ }
+
+ /**
+ * Add a filter to the composite. Has to be indexed with $name in
+ * order to identify a specific filter.
+ *
+ * This example will exclude all methods from the hydration, that starts with 'getService'
+ *
+ * $composite->addFilter('exclude',
+ * function ($method) {
+ * if (preg_match('/^getService/', $method) {
+ * return false;
+ * }
+ * return true;
+ * }, FilterComposite::CONDITION_AND
+ * );
+ *
+ *
+ * @param string $name
+ * @param callable|FilterInterface $filter
+ * @param int $condition Can be either
+ * FilterComposite::CONDITION_OR or FilterComposite::CONDITION_AND
+ * @throws InvalidArgumentException
+ * @return FilterComposite
+ */
+ public function addFilter($name, $filter, $condition = self::CONDITION_OR)
+ {
+ if (!is_callable($filter) && !($filter instanceof FilterInterface)) {
+ throw new InvalidArgumentException(
+ 'The value of ' . $name . ' should be either a callable or ' .
+ 'an instance of Zend\Stdlib\Hydrator\Filter\FilterInterface'
+ );
+ }
+
+ if ($condition === self::CONDITION_OR) {
+ $this->orFilter[$name] = $filter;
+ } elseif ($condition === self::CONDITION_AND) {
+ $this->andFilter[$name] = $filter;
+ }
+
+ return $this;
+ }
+
+ /**
+ * Remove a filter from the composition
+ *
+ * @param $name string Identifier for the filter
+ * @return FilterComposite
+ */
+ public function removeFilter($name)
+ {
+ if (isset($this->orFilter[$name])) {
+ unset($this->orFilter[$name]);
+ }
+
+ if (isset($this->andFilter[$name])) {
+ unset($this->andFilter[$name]);
+ }
+
+ return $this;
+ }
+
+ /**
+ * Check if $name has a filter registered
+ *
+ * @param $name string Identifier for the filter
+ * @return bool
+ */
+ public function hasFilter($name)
+ {
+ return isset($this->orFilter[$name]) || isset($this->andFilter[$name]);
+ }
+
+ /**
+ * Filter the composite based on the AND and OR condition
+ * Will return true if one from the "or conditions" and all from
+ * the "and condition" returns true. Otherwise false
+ *
+ * @param $property string Parameter will be e.g. Parent\Namespace\Class::method
+ * @return bool
+ */
+ public function filter($property)
+ {
+ $andCount = count($this->andFilter);
+ $orCount = count($this->orFilter);
+ // return true if no filters are registered
+ if ($orCount === 0 && $andCount === 0) {
+ return true;
+ } elseif ($orCount === 0 && $andCount !== 0) {
+ $returnValue = true;
+ } else {
+ $returnValue = false;
+ }
+
+ // Check if 1 from the or filters return true
+ foreach ($this->orFilter as $filter) {
+ if (is_callable($filter)) {
+ if ($filter($property) === true) {
+ $returnValue = true;
+ break;
+ }
+ continue;
+ } else {
+ if ($filter->filter($property) === true) {
+ $returnValue = true;
+ break;
+ }
+ }
+ }
+
+ // Check if all of the and condition return true
+ foreach ($this->andFilter as $filter) {
+ if (is_callable($filter)) {
+ if ($filter($property) === false) {
+ return false;
+ }
+ continue;
+ } else {
+ if ($filter->filter($property) === false) {
+ return false;
+ }
+ }
+ }
+
+ return $returnValue;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Filter/FilterInterface.php b/vendor/zendframework/zend-hydrator/src/Filter/FilterInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..fb49918f27274e28f95c289b2ebb8fcaf069d47d
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Filter/FilterInterface.php
@@ -0,0 +1,22 @@
+method = $method;
+ $this->exclude = $exclude;
+ }
+
+ public function filter($property)
+ {
+ $pos = strpos($property, '::');
+ if ($pos !== false) {
+ $pos += 2;
+ } else {
+ $pos = 0;
+ }
+ if (substr($property, $pos) === $this->method) {
+ return !$this->exclude;
+ }
+ return $this->exclude;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Filter/NumberOfParameterFilter.php b/vendor/zendframework/zend-hydrator/src/Filter/NumberOfParameterFilter.php
new file mode 100644
index 0000000000000000000000000000000000000000..abd8ee67c0e024e3a5a51b49e3bcb68cb91b98e1
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Filter/NumberOfParameterFilter.php
@@ -0,0 +1,49 @@
+numberOfParameters = (int) $numberOfParameters;
+ }
+
+ /**
+ * @param string $property the name of the property
+ * @return bool
+ * @throws InvalidArgumentException
+ */
+ public function filter($property)
+ {
+ try {
+ $reflectionMethod = new ReflectionMethod($property);
+ } catch (ReflectionException $exception) {
+ throw new InvalidArgumentException(
+ "Method $property doesn't exist"
+ );
+ }
+
+ return $reflectionMethod->getNumberOfParameters() === $this->numberOfParameters;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Filter/OptionalParametersFilter.php b/vendor/zendframework/zend-hydrator/src/Filter/OptionalParametersFilter.php
new file mode 100644
index 0000000000000000000000000000000000000000..25775d7e58c42bf90533e0b8d1c70a3fefb63a09
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Filter/OptionalParametersFilter.php
@@ -0,0 +1,55 @@
+getParameters(),
+ function (ReflectionParameter $parameter) {
+ return ! $parameter->isOptional();
+ }
+ );
+
+ return static::$propertiesCache[$property] = empty($mandatoryParameters);
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/FilterEnabledInterface.php b/vendor/zendframework/zend-hydrator/src/FilterEnabledInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..f95f8b4b91e4b329da827b30d9d6501059189567
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/FilterEnabledInterface.php
@@ -0,0 +1,59 @@
+
+ * $composite->addFilter(
+ * "servicelocator",
+ * function ($property) {
+ * list($class, $method) = explode('::', $property);
+ * if ($method === 'getServiceLocator') {
+ * return false;
+ * }
+ * return true;
+ * },
+ * FilterComposite::CONDITION_AND
+ * );
+ *
+ *
+ * @param string $name Index in the composite
+ * @param callable|Filter\FilterInterface $filter
+ * @param int $condition
+ * @return Filter\FilterComposite
+ */
+ public function addFilter($name, $filter, $condition = Filter\FilterComposite::CONDITION_OR);
+
+ /**
+ * Check whether a specific filter exists at key $name or not
+ *
+ * @param string $name Index in the composite
+ * @return bool
+ */
+ public function hasFilter($name);
+
+ /**
+ * Remove a filter from the composition.
+ * To not extract "has" methods, you simply need to unregister it
+ *
+ *
+ * $filterComposite->removeFilter('has');
+ *
+ *
+ * @param $name
+ * @return Filter\FilterComposite
+ */
+ public function removeFilter($name);
+}
diff --git a/vendor/zendframework/zend-hydrator/src/HydrationInterface.php b/vendor/zendframework/zend-hydrator/src/HydrationInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..ca28983483f7b382802fee23d2b94965c9db2aba
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/HydrationInterface.php
@@ -0,0 +1,22 @@
+hydrator = $hydrator;
+
+ return $this;
+ }
+
+ /**
+ * Retrieve hydrator
+ *
+ * @param void
+ * @return null|HydratorInterface
+ * @access public
+ */
+ public function getHydrator()
+ {
+ return $this->hydrator;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/HydratorInterface.php b/vendor/zendframework/zend-hydrator/src/HydratorInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..a48effa8cc8e29fdcb9e03dcd8fcc4b3607e9bac
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/HydratorInterface.php
@@ -0,0 +1,14 @@
+ 'Zend\Hydrator\DelegatingHydrator',
+ ];
+
+ /**
+ * Default set of adapters
+ *
+ * @var array
+ */
+ protected $invokableClasses = [
+ 'arrayserializable' => 'Zend\Hydrator\ArraySerializable',
+ 'classmethods' => 'Zend\Hydrator\ClassMethods',
+ 'objectproperty' => 'Zend\Hydrator\ObjectProperty',
+ 'reflection' => 'Zend\Hydrator\Reflection'
+ ];
+
+ /**
+ * Default factory-based adapters
+ *
+ * @var array
+ */
+ protected $factories = [
+ 'Zend\Hydrator\DelegatingHydrator' => 'Zend\Hydrator\DelegatingHydratorFactory',
+ ];
+
+ /**
+ * {@inheritDoc}
+ */
+ public function validatePlugin($plugin)
+ {
+ if ($plugin instanceof HydratorInterface) {
+ // we're okay
+ return;
+ }
+
+ throw new Exception\RuntimeException(sprintf(
+ 'Plugin of type %s is invalid; must implement Zend\Hydrator\HydratorInterface',
+ (is_object($plugin) ? get_class($plugin) : gettype($plugin))
+ ));
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Iterator/HydratingArrayIterator.php b/vendor/zendframework/zend-hydrator/src/Iterator/HydratingArrayIterator.php
new file mode 100644
index 0000000000000000000000000000000000000000..8e14f035f067b312fa8ae4158724d00fc19c1dd3
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Iterator/HydratingArrayIterator.php
@@ -0,0 +1,36 @@
+setHydrator($hydrator);
+ $this->setPrototype($prototype);
+ parent::__construct($data);
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function setPrototype($prototype)
+ {
+ if (is_object($prototype)) {
+ $this->prototype = $prototype;
+ return;
+ }
+
+ if (!class_exists($prototype)) {
+ throw new InvalidArgumentException(
+ sprintf('Method %s was passed an invalid class name: %s', __METHOD__, $prototype)
+ );
+ }
+
+ $this->prototype = new $prototype;
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function setHydrator(HydratorInterface $hydrator)
+ {
+ $this->hydrator = $hydrator;
+ }
+
+ /**
+ * @return object Returns hydrated clone of $prototype
+ */
+ public function current()
+ {
+ $currentValue = parent::current();
+ $object = clone $this->prototype;
+ $this->hydrator->hydrate($currentValue, $object);
+ return $object;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/NamingStrategy/ArrayMapNamingStrategy.php b/vendor/zendframework/zend-hydrator/src/NamingStrategy/ArrayMapNamingStrategy.php
new file mode 100644
index 0000000000000000000000000000000000000000..c6333e2dcc614e11049b85d8449314bfb16b06ed
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/NamingStrategy/ArrayMapNamingStrategy.php
@@ -0,0 +1,51 @@
+extractionMap = $extractionMap;
+ $this->hydrationMap = array_flip($extractionMap);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function hydrate($name)
+ {
+ return isset($this->hydrationMap[$name]) ? $this->hydrationMap[$name] : $name;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function extract($name)
+ {
+ return isset($this->extractionMap[$name]) ? $this->extractionMap[$name] : $name;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/NamingStrategy/CompositeNamingStrategy.php b/vendor/zendframework/zend-hydrator/src/NamingStrategy/CompositeNamingStrategy.php
new file mode 100644
index 0000000000000000000000000000000000000000..c2bae8c29fe3a975d0f48fab753c1961ef8799c5
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/NamingStrategy/CompositeNamingStrategy.php
@@ -0,0 +1,64 @@
+namingStrategies = array_map(
+ function (NamingStrategyInterface $strategy) {
+ // this callback is here only to ensure type-safety
+ return $strategy;
+ },
+ $strategies
+ );
+
+ $this->defaultNamingStrategy = $defaultNamingStrategy ?: new IdentityNamingStrategy();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function extract($name)
+ {
+ $strategy = isset($this->namingStrategies[$name])
+ ? $this->namingStrategies[$name]
+ : $this->defaultNamingStrategy;
+
+ return $strategy->extract($name);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function hydrate($name)
+ {
+ $strategy = isset($this->namingStrategies[$name])
+ ? $this->namingStrategies[$name]
+ : $this->defaultNamingStrategy;
+
+ return $strategy->hydrate($name);
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/NamingStrategy/IdentityNamingStrategy.php b/vendor/zendframework/zend-hydrator/src/NamingStrategy/IdentityNamingStrategy.php
new file mode 100644
index 0000000000000000000000000000000000000000..59e3feda5f76a66632e6b6d6e3d2ea3883ac4a3c
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/NamingStrategy/IdentityNamingStrategy.php
@@ -0,0 +1,29 @@
+mapping = $mapping;
+ $this->reverse = $reverse ?: $this->flipMapping($mapping);
+ }
+
+ /**
+ * Safelly flip mapping array.
+ *
+ * @param array $array Array to flip
+ * @return array Flipped array
+ * @throws InvalidArgumentException
+ */
+ protected function flipMapping(array $array)
+ {
+ array_walk($array, function ($value) {
+ if (!is_string($value) && !is_int($value)) {
+ throw new InvalidArgumentException('Mapping array can\'t be flipped because of invalid value');
+ }
+ });
+
+ return array_flip($array);
+ }
+
+ /**
+ * Converts the given name so that it can be extracted by the hydrator.
+ *
+ * @param string $name The original name
+ * @return mixed The hydrated name
+ */
+ public function hydrate($name)
+ {
+ if (array_key_exists($name, $this->mapping)) {
+ return $this->mapping[$name];
+ }
+
+ return $name;
+ }
+
+ /**
+ * Converts the given name so that it can be hydrated by the hydrator.
+ *
+ * @param string $name The original name
+ * @return mixed The extracted name
+ */
+ public function extract($name)
+ {
+ if (array_key_exists($name, $this->reverse)) {
+ return $this->reverse[$name];
+ }
+
+ return $name;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/NamingStrategy/NamingStrategyInterface.php b/vendor/zendframework/zend-hydrator/src/NamingStrategy/NamingStrategyInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..cb7ca94ef2d8ebce7520872a92de6ca2aede4e7b
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/NamingStrategy/NamingStrategyInterface.php
@@ -0,0 +1,34 @@
+getUnderscoreToStudlyCaseFilter()->filter($name);
+ }
+
+ /**
+ * Remove capitalized letters and prepend underscores.
+ *
+ * @param string $name
+ * @return string
+ */
+ public function extract($name)
+ {
+ return $this->getCamelCaseToUnderscoreFilter()->filter($name);
+ }
+
+ /**
+ * @return FilterChain
+ */
+ protected function getUnderscoreToStudlyCaseFilter()
+ {
+ if (static::$underscoreToStudlyCaseFilter instanceof FilterChain) {
+ return static::$underscoreToStudlyCaseFilter;
+ }
+
+ $filter = new FilterChain();
+
+ $filter->attachByName('WordUnderscoreToStudlyCase');
+
+ return static::$underscoreToStudlyCaseFilter = $filter;
+ }
+
+ /**
+ * @return FilterChain
+ */
+ protected function getCamelCaseToUnderscoreFilter()
+ {
+ if (static::$camelCaseToUnderscoreFilter instanceof FilterChain) {
+ return static::$camelCaseToUnderscoreFilter;
+ }
+
+ $filter = new FilterChain();
+
+ $filter->attachByName('WordCamelCaseToUnderscore');
+ $filter->attachByName('StringToLower');
+
+ return static::$camelCaseToUnderscoreFilter = $filter;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/NamingStrategyEnabledInterface.php b/vendor/zendframework/zend-hydrator/src/NamingStrategyEnabledInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..c01a5272f5916e359362eb8c3096f064945e9792
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/NamingStrategyEnabledInterface.php
@@ -0,0 +1,42 @@
+getFilter();
+
+ foreach ($data as $name => $value) {
+ // Filter keys, removing any we don't want
+ if (! $filter->filter($name)) {
+ unset($data[$name]);
+ continue;
+ }
+
+ // Replace name if extracted differ
+ $extracted = $this->extractName($name, $object);
+
+ if ($extracted !== $name) {
+ unset($data[$name]);
+ $name = $extracted;
+ }
+
+ $data[$name] = $this->extractValue($name, $value, $object);
+ }
+
+ return $data;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * Hydrate an object by populating public properties
+ *
+ * Hydrates an object by setting public properties of the object.
+ *
+ * @throws Exception\BadMethodCallException for a non-object $object
+ */
+ public function hydrate(array $data, $object)
+ {
+ if (!is_object($object)) {
+ throw new Exception\BadMethodCallException(
+ sprintf('%s expects the provided $object to be a PHP object)', __METHOD__)
+ );
+ }
+
+ $properties = & self::$skippedPropertiesCache[get_class($object)];
+
+ if (! isset($properties)) {
+ $reflection = new ReflectionClass($object);
+ $properties = array_fill_keys(
+ array_map(
+ function (ReflectionProperty $property) {
+ return $property->getName();
+ },
+ $reflection->getProperties(
+ ReflectionProperty::IS_PRIVATE
+ + ReflectionProperty::IS_PROTECTED
+ + ReflectionProperty::IS_STATIC
+ )
+ ),
+ true
+ );
+ }
+
+ foreach ($data as $name => $value) {
+ $property = $this->hydrateName($name, $data);
+
+ if (isset($properties[$property])) {
+ continue;
+ }
+
+ $object->$property = $this->hydrateValue($property, $value, $data);
+ }
+
+ return $object;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Reflection.php b/vendor/zendframework/zend-hydrator/src/Reflection.php
new file mode 100644
index 0000000000000000000000000000000000000000..019748b1f4fa0b56b722c0d4b89908752b1ad6de
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Reflection.php
@@ -0,0 +1,95 @@
+extractName($property->getName(), $object);
+ if (!$this->filterComposite->filter($propertyName)) {
+ continue;
+ }
+
+ $value = $property->getValue($object);
+ $result[$propertyName] = $this->extractValue($propertyName, $value, $object);
+ }
+
+ return $result;
+ }
+
+ /**
+ * Hydrate $object with the provided $data.
+ *
+ * @param array $data
+ * @param object $object
+ * @return object
+ */
+ public function hydrate(array $data, $object)
+ {
+ $reflProperties = self::getReflProperties($object);
+ foreach ($data as $key => $value) {
+ $name = $this->hydrateName($key, $data);
+ if (isset($reflProperties[$name])) {
+ $reflProperties[$name]->setValue($object, $this->hydrateValue($name, $value, $data));
+ }
+ }
+ return $object;
+ }
+
+ /**
+ * Get a reflection properties from in-memory cache and lazy-load if
+ * class has not been loaded.
+ *
+ * @param string|object $input
+ * @throws Exception\InvalidArgumentException
+ * @return ReflectionProperty[]
+ */
+ protected static function getReflProperties($input)
+ {
+ if (is_object($input)) {
+ $input = get_class($input);
+ } elseif (!is_string($input)) {
+ throw new Exception\InvalidArgumentException('Input must be a string or an object.');
+ }
+
+ if (isset(static::$reflProperties[$input])) {
+ return static::$reflProperties[$input];
+ }
+
+ static::$reflProperties[$input] = [];
+ $reflClass = new ReflectionClass($input);
+ $reflProperties = $reflClass->getProperties();
+
+ foreach ($reflProperties as $property) {
+ $property->setAccessible(true);
+ static::$reflProperties[$input][$property->getName()] = $property;
+ }
+
+ return static::$reflProperties[$input];
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/BooleanStrategy.php b/vendor/zendframework/zend-hydrator/src/Strategy/BooleanStrategy.php
new file mode 100644
index 0000000000000000000000000000000000000000..dcb3a429caf2168bec54210469ff94def7ec0f4e
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/BooleanStrategy.php
@@ -0,0 +1,104 @@
+trueValue = $trueValue;
+ $this->falseValue = $falseValue;
+ }
+
+ /**
+ * Converts the given value so that it can be extracted by the hydrator.
+ *
+ * @param bool $value The original value.
+ * @throws InvalidArgumentException
+ * @return int|string Returns the value that should be extracted.
+ */
+ public function extract($value)
+ {
+ if (!is_bool($value)) {
+ throw new InvalidArgumentException(sprintf(
+ 'Unable to extract. Expected bool. %s was given.',
+ is_object($value) ? get_class($value) : gettype($value)
+ ));
+ }
+
+ return $value === true ? $this->trueValue : $this->falseValue;
+ }
+
+ /**
+ * Converts the given value so that it can be hydrated by the hydrator.
+ *
+ * @param int|string $value The original value.
+ * @throws InvalidArgumentException
+ * @return bool Returns the value that should be hydrated.
+ */
+ public function hydrate($value)
+ {
+ if (!is_string($value) && !is_int($value)) {
+ throw new InvalidArgumentException(sprintf(
+ 'Unable to hydrate. Expected string or int. %s was given.',
+ is_object($value) ? get_class($value) : gettype($value)
+ ));
+ }
+
+ if ($value === $this->trueValue) {
+ return true;
+ }
+
+ if ($value === $this->falseValue) {
+ return false;
+ }
+
+ throw new InvalidArgumentException(sprintf(
+ 'Unexpected value %s can\'t be hydrated. Expect %s or %s as Value.',
+ $value,
+ $this->trueValue,
+ $this->falseValue
+ ));
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/ClosureStrategy.php b/vendor/zendframework/zend-hydrator/src/Strategy/ClosureStrategy.php
new file mode 100644
index 0000000000000000000000000000000000000000..1f6526de39f58c2732c1b2ac8ac3286731bc9b53
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/ClosureStrategy.php
@@ -0,0 +1,113 @@
+
+ * function ($value) {
+ * return $value;
+ * };
+ *
+ *
+ * @var callable
+ */
+ protected $extractFunc = null;
+
+ /**
+ * Function, used in hydrate method, default:
+ *
+ *
+ * function ($value) {
+ * return $value;
+ * };
+ *
+ *
+ * @var callable
+ */
+ protected $hydrateFunc = null;
+
+ /**
+ * You can describe how your values will extract and hydrate, like this:
+ *
+ *
+ * $hydrator->addStrategy('category', new ClosureStrategy(
+ * function (Category $value) {
+ * return (int) $value->id;
+ * },
+ * function ($value) {
+ * return new Category((int) $value);
+ * }
+ * ));
+ *
+ *
+ * @param callable $extractFunc - anonymous function, that extract values
+ * from object
+ * @param callable $hydrateFunc - anonymous function, that hydrate values
+ * into object
+ */
+ public function __construct($extractFunc = null, $hydrateFunc = null)
+ {
+ if (isset($extractFunc)) {
+ if (!is_callable($extractFunc)) {
+ throw new \Exception('$extractFunc must be callable');
+ }
+
+ $this->extractFunc = $extractFunc;
+ } else {
+ $this->extractFunc = function ($value) {
+ return $value;
+ };
+ }
+
+ if (isset($hydrateFunc)) {
+ if (!is_callable($hydrateFunc)) {
+ throw new \Exception('$hydrateFunc must be callable');
+ }
+
+ $this->hydrateFunc = $hydrateFunc;
+ } else {
+ $this->hydrateFunc = function ($value) {
+ return $value;
+ };
+ }
+ }
+
+ /**
+ * Converts the given value so that it can be extracted by the hydrator.
+ *
+ * @param mixed $value The original value.
+ * @param array $object The object is optionally provided as context.
+ * @return mixed Returns the value that should be extracted.
+ */
+ public function extract($value, $object = null)
+ {
+ $func = $this->extractFunc;
+
+ return $func($value, $object);
+ }
+
+ /**
+ * Converts the given value so that it can be hydrated by the hydrator.
+ *
+ * @param mixed $value The original value.
+ * @param array $data The whole data is optionally provided as context.
+ * @return mixed Returns the value that should be hydrated.
+ */
+ public function hydrate($value, $data = null)
+ {
+ $func = $this->hydrateFunc;
+
+ return $func($value, $data);
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/DateTimeFormatterStrategy.php b/vendor/zendframework/zend-hydrator/src/Strategy/DateTimeFormatterStrategy.php
new file mode 100644
index 0000000000000000000000000000000000000000..62dda714817d56f8f0c71b9eeb3ed740944a7cd8
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/DateTimeFormatterStrategy.php
@@ -0,0 +1,80 @@
+format = (string) $format;
+ $this->timezone = $timezone;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * Converts to date time string
+ *
+ * @param mixed|DateTime $value
+ *
+ * @return mixed|string
+ */
+ public function extract($value)
+ {
+ if ($value instanceof DateTime) {
+ return $value->format($this->format);
+ }
+
+ return $value;
+ }
+
+ /**
+ * Converts date time string to DateTime instance for injecting to object
+ *
+ * {@inheritDoc}
+ *
+ * @param mixed|string $value
+ *
+ * @return mixed|DateTime
+ */
+ public function hydrate($value)
+ {
+ if ($value === '' || $value === null) {
+ return;
+ }
+
+ if ($this->timezone) {
+ $hydrated = DateTime::createFromFormat($this->format, $value, $this->timezone);
+ } else {
+ $hydrated = DateTime::createFromFormat($this->format, $value);
+ }
+
+ return $hydrated ?: $value;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/DefaultStrategy.php b/vendor/zendframework/zend-hydrator/src/Strategy/DefaultStrategy.php
new file mode 100644
index 0000000000000000000000000000000000000000..6fb8f4588ff397d475ffe5694b3e3951dbd855f9
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/DefaultStrategy.php
@@ -0,0 +1,35 @@
+setValueDelimiter($delimiter);
+
+ $this->explodeLimit = ($explodeLimit === null) ? null : (int) $explodeLimit;
+ }
+
+ /**
+ * Sets the delimiter string that the values will be split upon
+ *
+ * @param string $delimiter
+ * @return self
+ */
+ private function setValueDelimiter($delimiter)
+ {
+ if (!is_string($delimiter)) {
+ throw new Exception\InvalidArgumentException(sprintf(
+ '%s expects Delimiter to be string, %s provided instead',
+ __METHOD__,
+ is_object($delimiter) ? get_class($delimiter) : gettype($delimiter)
+ ));
+ }
+
+ if (empty($delimiter)) {
+ throw new Exception\InvalidArgumentException('Delimiter cannot be empty.');
+ }
+
+ $this->valueDelimiter = $delimiter;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * Split a string by delimiter
+ *
+ * @param string|null $value
+ *
+ * @return string[]
+ *
+ * @throws Exception\InvalidArgumentException
+ */
+ public function hydrate($value)
+ {
+ if (null === $value) {
+ return [];
+ }
+
+ if (!(is_string($value) || is_numeric($value))) {
+ throw new Exception\InvalidArgumentException(sprintf(
+ '%s expects argument 1 to be string, %s provided instead',
+ __METHOD__,
+ is_object($value) ? get_class($value) : gettype($value)
+ ));
+ }
+
+ if ($this->explodeLimit !== null) {
+ return explode($this->valueDelimiter, $value, $this->explodeLimit);
+ }
+
+ return explode($this->valueDelimiter, $value);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * Join array elements with delimiter
+ *
+ * @param string[] $value The original value.
+ *
+ * @return string|null
+ */
+ public function extract($value)
+ {
+ if (!is_array($value)) {
+ throw new Exception\InvalidArgumentException(sprintf(
+ '%s expects argument 1 to be array, %s provided instead',
+ __METHOD__,
+ is_object($value) ? get_class($value) : gettype($value)
+ ));
+ }
+
+ return empty($value) ? null : implode($this->valueDelimiter, $value);
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/SerializableStrategy.php b/vendor/zendframework/zend-hydrator/src/Strategy/SerializableStrategy.php
new file mode 100644
index 0000000000000000000000000000000000000000..bc49e7b206b2f324ac91c5a6aed32bdea43f9236
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/SerializableStrategy.php
@@ -0,0 +1,123 @@
+setSerializer($serializer);
+ if ($serializerOptions) {
+ $this->setSerializerOptions($serializerOptions);
+ }
+ }
+
+ /**
+ * Serialize the given value so that it can be extracted by the hydrator.
+ *
+ * @param mixed $value The original value.
+ * @return mixed Returns the value that should be extracted.
+ */
+ public function extract($value)
+ {
+ $serializer = $this->getSerializer();
+ return $serializer->serialize($value);
+ }
+
+ /**
+ * Unserialize the given value so that it can be hydrated by the hydrator.
+ *
+ * @param mixed $value The original value.
+ * @return mixed Returns the value that should be hydrated.
+ */
+ public function hydrate($value)
+ {
+ $serializer = $this->getSerializer();
+ return $serializer->unserialize($value);
+ }
+
+ /**
+ * Set serializer
+ *
+ * @param string|SerializerAdapter $serializer
+ * @return SerializableStrategy
+ */
+ public function setSerializer($serializer)
+ {
+ if (!is_string($serializer) && !$serializer instanceof SerializerAdapter) {
+ throw new InvalidArgumentException(sprintf(
+ '%s expects either a string serializer name or Zend\Serializer\Adapter\AdapterInterface instance; '
+ . 'received "%s"',
+ __METHOD__,
+ (is_object($serializer) ? get_class($serializer) : gettype($serializer))
+ ));
+ }
+ $this->serializer = $serializer;
+ return $this;
+ }
+
+ /**
+ * Get serializer
+ *
+ * @return SerializerAdapter
+ */
+ public function getSerializer()
+ {
+ if (is_string($this->serializer)) {
+ $options = $this->getSerializerOptions();
+ $this->setSerializer(SerializerFactory::factory($this->serializer, $options));
+ } elseif (null === $this->serializer) {
+ $this->setSerializer(SerializerFactory::getDefaultAdapter());
+ }
+
+ return $this->serializer;
+ }
+
+ /**
+ * Set configuration options for instantiating a serializer adapter
+ *
+ * @param mixed $serializerOptions
+ * @return SerializableStrategy
+ */
+ public function setSerializerOptions($serializerOptions)
+ {
+ $this->serializerOptions = $serializerOptions;
+ return $this;
+ }
+
+ /**
+ * Get configuration options for instantiating a serializer adapter
+ *
+ * @return mixed
+ */
+ public function getSerializerOptions()
+ {
+ return $this->serializerOptions;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/StrategyChain.php b/vendor/zendframework/zend-hydrator/src/Strategy/StrategyChain.php
new file mode 100644
index 0000000000000000000000000000000000000000..49d514d30f0f753719a4896123c3ca690124096f
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/StrategyChain.php
@@ -0,0 +1,73 @@
+extractionStrategies = array_map(
+ function (StrategyInterface $strategy) {
+ // this callback is here only to ensure type-safety
+ return $strategy;
+ },
+ $extractionStrategies
+ );
+
+ $this->hydrationStrategies = array_reverse($extractionStrategies);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function extract($value)
+ {
+ foreach ($this->extractionStrategies as $strategy) {
+ $value = $strategy->extract($value);
+ }
+
+ return $value;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function hydrate($value)
+ {
+ foreach ($this->hydrationStrategies as $strategy) {
+ $value = $strategy->hydrate($value);
+ }
+
+ return $value;
+ }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/StrategyInterface.php b/vendor/zendframework/zend-hydrator/src/Strategy/StrategyInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..a70559338a8e5d21c4f27c6fc643e91cd4f9128a
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/StrategyInterface.php
@@ -0,0 +1,34 @@
+splPriorityQueue = new SplPriorityQueue();
+ $this->fastPriorityQueue = new FastPriorityQueue();
+ $this->priorityQueue = new PriorityQueue();
+
+ for ($i = 0; $i < 5000; $i += 1) {
+ $priority = rand(1, 100);
+ $this->splPriorityQueue->insert('foo', $priority);
+ $this->fastPriorityQueue->insert('foo', $priority);
+ $this->priorityQueue->insert('foo', $priority);
+ }
+ }
+
+ /**
+ * @iterations 5000
+ */
+ public function extractSplPriorityQueue()
+ {
+ $this->splPriorityQueue->extract();
+ }
+
+ /**
+ * @iterations 5000
+ */
+ public function extractPriorityQueue()
+ {
+ $this->priorityQueue->extract();
+ }
+
+ /**
+ * @iterations 5000
+ */
+ public function extractFastPriorityQueue()
+ {
+ $this->fastPriorityQueue->extract();
+ }
+}
diff --git a/vendor/zendframework/zend-stdlib/benchmark/InsertPriorityQueue.php b/vendor/zendframework/zend-stdlib/benchmark/InsertPriorityQueue.php
new file mode 100644
index 0000000000000000000000000000000000000000..561c53597566b07d829432485298ced58f5f25ee
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/benchmark/InsertPriorityQueue.php
@@ -0,0 +1,49 @@
+splPriorityQueue = new SplPriorityQueue();
+ $this->fastPriorityQueue = new FastPriorityQueue();
+ $this->priorityQueue = new PriorityQueue();
+ }
+
+ /**
+ * @iterations 5000
+ */
+ public function insertSplPriorityQueue()
+ {
+ $this->splPriorityQueue->insert('foo', rand(1, 100));
+ }
+
+ /**
+ * @iterations 5000
+ */
+ public function insertPriorityQueue()
+ {
+ $this->priorityQueue->insert('foo', rand(1, 100));
+ }
+
+ /**
+ * @iterations 5000
+ */
+ public function insertFastPriorityQueue()
+ {
+ $this->fastPriorityQueue->insert('foo', rand(1, 100));
+ }
+}
diff --git a/vendor/zendframework/zend-stdlib/benchmark/RemovePriorityQueue.php b/vendor/zendframework/zend-stdlib/benchmark/RemovePriorityQueue.php
new file mode 100644
index 0000000000000000000000000000000000000000..1cfd35b74f94b949e331e681242f86c746309b61
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/benchmark/RemovePriorityQueue.php
@@ -0,0 +1,45 @@
+fastPriorityQueue = new FastPriorityQueue();
+ $this->priorityQueue = new PriorityQueue();
+
+ for ($i = 0; $i < 1000; $i += 1) {
+ $priority = rand(1, 100);
+ $this->fastPriorityQueue->insert('foo', $priority);
+ $this->priorityQueue->insert('foo', $priority);
+ }
+ }
+
+ /**
+ * @iterations 1000
+ */
+ public function removePriorityQueue()
+ {
+ $this->priorityQueue->remove('foo');
+ }
+
+ /**
+ * @iterations 1000
+ */
+ public function removeFastPriorityQueue()
+ {
+ $this->fastPriorityQueue->remove('foo');
+ }
+}
diff --git a/vendor/zendframework/zend-stdlib/composer.json b/vendor/zendframework/zend-stdlib/composer.json
index 056ce3f596dc8f622054e1f9fc62eaf1d60d1e19..4a5ecd55d3a878ab78076395a6fb54419cb7ab8a 100644
--- a/vendor/zendframework/zend-stdlib/composer.json
+++ b/vendor/zendframework/zend-stdlib/composer.json
@@ -13,7 +13,8 @@
}
},
"require": {
- "php": ">=5.5"
+ "php": ">=5.5",
+ "zendframework/zend-hydrator": "~1.0"
},
"require-dev": {
"zendframework/zend-config": "~2.5",
@@ -23,7 +24,8 @@
"zendframework/zend-servicemanager": "~2.5",
"zendframework/zend-filter": "~2.5",
"fabpot/php-cs-fixer": "1.7.*",
- "phpunit/PHPUnit": "~4.0"
+ "phpunit/PHPUnit": "~4.0",
+ "athletic/athletic": "~0.1"
},
"suggest": {
"zendframework/zend-eventmanager": "To support aggregate hydrator usage",
@@ -35,13 +37,14 @@
"prefer-stable": true,
"extra": {
"branch-alias": {
- "dev-master": "2.6-dev",
- "dev-develop": "2.7-dev"
+ "dev-master": "2.7-dev",
+ "dev-develop": "2.8-dev"
}
},
"autoload-dev": {
"psr-4": {
- "ZendTest\\Stdlib\\": "test/"
+ "ZendTest\\Stdlib\\": "test/",
+ "ZendBench\\Stdlib\\": "benchmark/"
}
}
}
diff --git a/vendor/zendframework/zend-stdlib/src/Extractor/ExtractionInterface.php b/vendor/zendframework/zend-stdlib/src/Extractor/ExtractionInterface.php
index 297d557746cc20c46a9b0f285213249f82176484..6c84720c83ee99634408e84b1c08cff9bd2155e1 100644
--- a/vendor/zendframework/zend-stdlib/src/Extractor/ExtractionInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Extractor/ExtractionInterface.php
@@ -9,13 +9,11 @@
namespace Zend\Stdlib\Extractor;
-interface ExtractionInterface
+use Zend\Hydrator\ExtractionInterface as BaseExtractionInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\ExtractionInterface from zendframework/zend-hydrator instead.
+ */
+interface ExtractionInterface extends BaseExtractionInterface
{
- /**
- * Extract values from an object
- *
- * @param object $object
- * @return array
- */
- public function extract($object);
}
diff --git a/vendor/zendframework/zend-stdlib/src/FastPriorityQueue.php b/vendor/zendframework/zend-stdlib/src/FastPriorityQueue.php
new file mode 100644
index 0000000000000000000000000000000000000000..16d2bcceba2ef6088a5ced445dbea167793b7f14
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/FastPriorityQueue.php
@@ -0,0 +1,343 @@
+values[$priority][] = $value;
+ if (! isset($this->priorities[$priority])) {
+ $this->priorities[$priority] = $priority;
+ $this->maxPriority = max($priority, $this->maxPriority);
+ }
+ ++$this->count;
+ }
+
+ /**
+ * Extract an element in the queue according to the priority and the
+ * order of insertion
+ *
+ * @return mixed
+ */
+ public function extract()
+ {
+ if (! $this->valid()) {
+ return false;
+ }
+ $value = $this->current();
+ $this->nextAndRemove();
+ return $value;
+ }
+
+ /**
+ * Remove an item from the queue
+ *
+ * This is different than {@link extract()}; its purpose is to dequeue an
+ * item.
+ *
+ * Note: this removes the first item matching the provided item found. If
+ * the same item has been added multiple times, it will not remove other
+ * instances.
+ *
+ * @param mixed $datum
+ * @return bool False if the item was not found, true otherwise.
+ */
+ public function remove($datum)
+ {
+ $this->rewind();
+ while ($this->valid()) {
+ if (current($this->values[$this->maxPriority]) === $datum) {
+ $index = key($this->values[$this->maxPriority]);
+ unset($this->values[$this->maxPriority][$index]);
+ --$this->count;
+ return true;
+ }
+ $this->next();
+ }
+ return false;
+ }
+
+ /**
+ * Get the total number of elements in the queue
+ *
+ * @return integer
+ */
+ public function count()
+ {
+ return $this->count;
+ }
+
+ /**
+ * Get the current element in the queue
+ *
+ * @return mixed
+ */
+ public function current()
+ {
+ switch ($this->extractFlag) {
+ case self::EXTR_DATA:
+ return current($this->values[$this->maxPriority]);
+ case self::EXTR_PRIORITY:
+ return $this->maxPriority;
+ case self::EXTR_BOTH:
+ return [
+ 'data' => current($this->values[$this->maxPriority]),
+ 'priority' => $this->maxPriority
+ ];
+ }
+ }
+
+ /**
+ * Get the index of the current element in the queue
+ *
+ * @return integer
+ */
+ public function key()
+ {
+ return $this->index;
+ }
+
+ /**
+ * Set the iterator pointer to the next element in the queue
+ * removing the previous element
+ */
+ protected function nextAndRemove()
+ {
+ if (false === next($this->values[$this->maxPriority])) {
+ unset($this->priorities[$this->maxPriority]);
+ unset($this->values[$this->maxPriority]);
+ $this->maxPriority = empty($this->priorities) ? 0 : max($this->priorities);
+ $this->subIndex = -1;
+ }
+ ++$this->index;
+ ++$this->subIndex;
+ --$this->count;
+ }
+
+ /**
+ * Set the iterator pointer to the next element in the queue
+ * without removing the previous element
+ */
+ public function next()
+ {
+ if (false === next($this->values[$this->maxPriority])) {
+ unset($this->subPriorities[$this->maxPriority]);
+ reset($this->values[$this->maxPriority]);
+ $this->maxPriority = empty($this->subPriorities) ? 0 : max($this->subPriorities);
+ $this->subIndex = -1;
+ }
+ ++$this->index;
+ ++$this->subIndex;
+ }
+
+ /**
+ * Check if the current iterator is valid
+ *
+ * @return boolean
+ */
+ public function valid()
+ {
+ return isset($this->values[$this->maxPriority]);
+ }
+
+ /**
+ * Rewind the current iterator
+ */
+ public function rewind()
+ {
+ $this->subPriorities = $this->priorities;
+ $this->maxPriority = empty($this->priorities) ? 0 : max($this->priorities);
+ $this->index = 0;
+ $this->subIndex = 0;
+ }
+
+ /**
+ * Serialize to an array
+ *
+ * Array will be priority => data pairs
+ *
+ * @return array
+ */
+ public function toArray()
+ {
+ $array = [];
+ foreach (clone $this as $item) {
+ $array[] = $item;
+ }
+ return $array;
+ }
+
+ /**
+ * Serialize
+ *
+ * @return string
+ */
+ public function serialize()
+ {
+ $clone = clone $this;
+ $clone->setExtractFlags(self::EXTR_BOTH);
+
+ $data = [];
+ foreach ($clone as $item) {
+ $data[] = $item;
+ }
+
+ return serialize($data);
+ }
+
+ /**
+ * Deserialize
+ *
+ * @param string $data
+ * @return void
+ */
+ public function unserialize($data)
+ {
+ foreach (unserialize($data) as $item) {
+ $this->insert($item['data'], $item['priority']);
+ }
+ }
+
+ /**
+ * Set the extract flag
+ *
+ * @param integer $flag
+ */
+ public function setExtractFlags($flag)
+ {
+ switch ($flag) {
+ case self::EXTR_DATA:
+ case self::EXTR_PRIORITY:
+ case self::EXTR_BOTH:
+ $this->extractFlag = $flag;
+ break;
+ default:
+ throw new Exception\InvalidArgumentException("The extract flag specified is not valid");
+ }
+ }
+
+ /**
+ * Check if the queue is empty
+ *
+ * @return boolean
+ */
+ public function isEmpty()
+ {
+ return empty($this->values);
+ }
+
+ /**
+ * Does the queue contain the given datum?
+ *
+ * @param mixed $datum
+ * @return bool
+ */
+ public function contains($datum)
+ {
+ foreach ($this->values as $values) {
+ if (in_array($datum, $values)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Does the queue have an item with the given priority?
+ *
+ * @param int $priority
+ * @return bool
+ */
+ public function hasPriority($priority)
+ {
+ return isset($this->values[$priority]);
+ }
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/AbstractHydrator.php b/vendor/zendframework/zend-stdlib/src/Hydrator/AbstractHydrator.php
index 338ed804422f19e6e3e3897cee4e934afee6d97b..a4cf08a5ad89b5290828b89690d02b08463745d7 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/AbstractHydrator.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/AbstractHydrator.php
@@ -9,279 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-use ArrayObject;
-use Zend\Stdlib\Exception;
-use Zend\Stdlib\Hydrator\Filter\FilterComposite;
-use Zend\Stdlib\Hydrator\NamingStrategy\NamingStrategyInterface;
-use Zend\Stdlib\Hydrator\Strategy\StrategyInterface;
+use Zend\Hydrator\AbstractHydrator as BaseAbstractHydrator;
-abstract class AbstractHydrator implements
- HydratorInterface,
- StrategyEnabledInterface,
- FilterEnabledInterface,
- NamingStrategyEnabledInterface
+/**
+ * @deprecated Use Zend\Hydrator\AbstractHydrator from zendframework/zend-hydrator instead.
+ */
+abstract class AbstractHydrator extends BaseAbstractHydrator implements HydratorInterface
{
- /**
- * The list with strategies that this hydrator has.
- *
- * @var ArrayObject
- */
- protected $strategies;
-
- /**
- * An instance of NamingStrategyInterface
- *
- * @var NamingStrategyInterface
- */
- protected $namingStrategy;
-
- /**
- * Composite to filter the methods, that need to be hydrated
- *
- * @var Filter\FilterComposite
- */
- protected $filterComposite;
-
- /**
- * Initializes a new instance of this class.
- */
- public function __construct()
- {
- $this->strategies = new ArrayObject();
- $this->filterComposite = new FilterComposite();
- }
-
- /**
- * Gets the strategy with the given name.
- *
- * @param string $name The name of the strategy to get.
- *
- * @throws \Zend\Stdlib\Exception\InvalidArgumentException
- * @return StrategyInterface
- */
- public function getStrategy($name)
- {
- if (isset($this->strategies[$name])) {
- return $this->strategies[$name];
- }
-
- if (!isset($this->strategies['*'])) {
- throw new Exception\InvalidArgumentException(sprintf(
- '%s: no strategy by name of "%s", and no wildcard strategy present',
- __METHOD__,
- $name
- ));
- }
-
- return $this->strategies['*'];
- }
-
- /**
- * Checks if the strategy with the given name exists.
- *
- * @param string $name The name of the strategy to check for.
- * @return bool
- */
- public function hasStrategy($name)
- {
- return array_key_exists($name, $this->strategies)
- || array_key_exists('*', $this->strategies);
- }
-
- /**
- * Adds the given strategy under the given name.
- *
- * @param string $name The name of the strategy to register.
- * @param StrategyInterface $strategy The strategy to register.
- * @return HydratorInterface
- */
- public function addStrategy($name, StrategyInterface $strategy)
- {
- $this->strategies[$name] = $strategy;
- return $this;
- }
-
- /**
- * Removes the strategy with the given name.
- *
- * @param string $name The name of the strategy to remove.
- * @return HydratorInterface
- */
- public function removeStrategy($name)
- {
- unset($this->strategies[$name]);
- return $this;
- }
-
- /**
- * Converts a value for extraction. If no strategy exists the plain value is returned.
- *
- * @param string $name The name of the strategy to use.
- * @param mixed $value The value that should be converted.
- * @param mixed $object The object is optionally provided as context.
- * @return mixed
- */
- public function extractValue($name, $value, $object = null)
- {
- if ($this->hasStrategy($name)) {
- $strategy = $this->getStrategy($name);
- $value = $strategy->extract($value, $object);
- }
- return $value;
- }
-
- /**
- * Converts a value for hydration. If no strategy exists the plain value is returned.
- *
- * @param string $name The name of the strategy to use.
- * @param mixed $value The value that should be converted.
- * @param array $data The whole data is optionally provided as context.
- * @return mixed
- */
- public function hydrateValue($name, $value, $data = null)
- {
- if ($this->hasStrategy($name)) {
- $strategy = $this->getStrategy($name);
- $value = $strategy->hydrate($value, $data);
- }
- return $value;
- }
-
- /**
- * Convert a name for extraction. If no naming strategy exists, the plain value is returned.
- *
- * @param string $name The name to convert.
- * @param null $object The object is optionally provided as context.
- * @return mixed
- */
- public function extractName($name, $object = null)
- {
- if ($this->hasNamingStrategy()) {
- $name = $this->getNamingStrategy()->extract($name, $object);
- }
- return $name;
- }
-
- /**
- * Converts a value for hydration. If no naming strategy exists, the plain value is returned.
- *
- * @param string $name The name to convert.
- * @param array $data The whole data is optionally provided as context.
- * @return mixed
- */
- public function hydrateName($name, $data = null)
- {
- if ($this->hasNamingStrategy()) {
- $name = $this->getNamingStrategy()->hydrate($name, $data);
- }
- return $name;
- }
-
- /**
- * Get the filter instance
- *
- * @return Filter\FilterComposite
- */
- public function getFilter()
- {
- return $this->filterComposite;
- }
-
- /**
- * Add a new filter to take care of what needs to be hydrated.
- * To exclude e.g. the method getServiceLocator:
- *
- *
- * $composite->addFilter("servicelocator",
- * function ($property) {
- * list($class, $method) = explode('::', $property);
- * if ($method === 'getServiceLocator') {
- * return false;
- * }
- * return true;
- * }, FilterComposite::CONDITION_AND
- * );
- *
- *
- * @param string $name Index in the composite
- * @param callable|Filter\FilterInterface $filter
- * @param int $condition
- * @return Filter\FilterComposite
- */
- public function addFilter($name, $filter, $condition = FilterComposite::CONDITION_OR)
- {
- return $this->filterComposite->addFilter($name, $filter, $condition);
- }
-
- /**
- * Check whether a specific filter exists at key $name or not
- *
- * @param string $name Index in the composite
- * @return bool
- */
- public function hasFilter($name)
- {
- return $this->filterComposite->hasFilter($name);
- }
-
- /**
- * Remove a filter from the composition.
- * To not extract "has" methods, you simply need to unregister it
- *
- *
- * $filterComposite->removeFilter('has');
- *
- *
- * @param $name
- * @return Filter\FilterComposite
- */
- public function removeFilter($name)
- {
- return $this->filterComposite->removeFilter($name);
- }
-
- /**
- * Adds the given naming strategy
- *
- * @param NamingStrategyInterface $strategy The naming to register.
- * @return self
- */
- public function setNamingStrategy(NamingStrategyInterface $strategy)
- {
- $this->namingStrategy = $strategy;
-
- return $this;
- }
-
- /**
- * Gets the naming strategy.
- *
- * @return NamingStrategyInterface
- */
- public function getNamingStrategy()
- {
- return $this->namingStrategy;
- }
-
- /**
- * Checks if a naming strategy exists.
- *
- * @return bool
- */
- public function hasNamingStrategy()
- {
- return isset($this->namingStrategy);
- }
-
- /**
- * Removes the naming strategy
- *
- * @return self
- */
- public function removeNamingStrategy()
- {
- $this->namingStrategy = null;
-
- return $this;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/AggregateHydrator.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/AggregateHydrator.php
index 6bba864d2982fa9b22ef60e746fbbbf52fe7ebec..62c6b32a780cd1665dbc67e12e100e86db7a55e9 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/AggregateHydrator.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/AggregateHydrator.php
@@ -9,77 +9,14 @@
namespace Zend\Stdlib\Hydrator\Aggregate;
-use Zend\EventManager\EventManager;
-use Zend\EventManager\EventManagerAwareInterface;
-use Zend\EventManager\EventManagerInterface;
+use Zend\Hydrator\Aggregate\AggregateHydrator as BaseAggregateHydrator;
use Zend\Stdlib\Hydrator\HydratorInterface;
/**
* Aggregate hydrator that composes multiple hydrators via events
+ *
+ * @deprecated Use Zend\Hydrator\Aggregate\AggregateHydrator from zendframework/zend-hydrator instead.
*/
-class AggregateHydrator implements HydratorInterface, EventManagerAwareInterface
+class AggregateHydrator extends BaseAggregateHydrator implements HydratorInterface
{
- const DEFAULT_PRIORITY = 1;
-
- /**
- * @var \Zend\EventManager\EventManagerInterface|null
- */
- protected $eventManager;
-
- /**
- * Attaches the provided hydrator to the list of hydrators to be used while hydrating/extracting data
- *
- * @param \Zend\Stdlib\Hydrator\HydratorInterface $hydrator
- * @param int $priority
- */
- public function add(HydratorInterface $hydrator, $priority = self::DEFAULT_PRIORITY)
- {
- $this->getEventManager()->attachAggregate(new HydratorListener($hydrator), $priority);
- }
-
- /**
- * {@inheritDoc}
- */
- public function extract($object)
- {
- $event = new ExtractEvent($this, $object);
-
- $this->getEventManager()->trigger($event);
-
- return $event->getExtractedData();
- }
-
- /**
- * {@inheritDoc}
- */
- public function hydrate(array $data, $object)
- {
- $event = new HydrateEvent($this, $object, $data);
-
- $this->getEventManager()->trigger($event);
-
- return $event->getHydratedObject();
- }
-
- /**
- * {@inheritDoc}
- */
- public function setEventManager(EventManagerInterface $eventManager)
- {
- $eventManager->setIdentifiers([__CLASS__, get_class($this)]);
-
- $this->eventManager = $eventManager;
- }
-
- /**
- * {@inheritDoc}
- */
- public function getEventManager()
- {
- if (null === $this->eventManager) {
- $this->setEventManager(new EventManager());
- }
-
- return $this->eventManager;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/ExtractEvent.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/ExtractEvent.php
index a826710333b8d39e8e40cef2869f329848f625e1..9563efb2cd5a5d8e82c72ce15057f58e9430f31d 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/ExtractEvent.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/ExtractEvent.php
@@ -9,90 +9,14 @@
namespace Zend\Stdlib\Hydrator\Aggregate;
-use Zend\EventManager\Event;
+use Zend\Hydrator\Aggregate\ExtractEvent as BaseExtractEvent;
/**
* Event triggered when the {@see \Zend\Stdlib\Hydrator\Aggregate\AggregateHydrator} extracts
* data from an object
+ *
+ * @deprecated Use Zend\Hydrator\Aggregate\ExtractEvent from zendframework/zend-hydrator instead.
*/
-class ExtractEvent extends Event
+class ExtractEvent extends BaseExtractEvent
{
- const EVENT_EXTRACT = 'extract';
-
- /**
- * {@inheritDoc}
- */
- protected $name = self::EVENT_EXTRACT;
-
- /**
- * @var object
- */
- protected $extractionObject;
-
- /**
- * @var array
- */
- protected $extractedData = [];
-
- /**
- * @param object $target
- * @param object $extractionObject
- */
- public function __construct($target, $extractionObject)
- {
- $this->target = $target;
- $this->extractionObject = $extractionObject;
- }
-
- /**
- * Retrieves the object from which data is extracted
- *
- * @return object
- */
- public function getExtractionObject()
- {
- return $this->extractionObject;
- }
-
- /**
- * @param object $extractionObject
- *
- * @return void
- */
- public function setExtractionObject($extractionObject)
- {
- $this->extractionObject = $extractionObject;
- }
-
- /**
- * Retrieves the data that has been extracted
- *
- * @return array
- */
- public function getExtractedData()
- {
- return $this->extractedData;
- }
-
- /**
- * @param array $extractedData
- *
- * @return void
- */
- public function setExtractedData(array $extractedData)
- {
- $this->extractedData = $extractedData;
- }
-
- /**
- * Merge provided data with the extracted data
- *
- * @param array $additionalData
- *
- * @return void
- */
- public function mergeExtractedData(array $additionalData)
- {
- $this->extractedData = array_merge($this->extractedData, $additionalData);
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydrateEvent.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydrateEvent.php
index a7c91eec261194793a1a1fc001db658d72ac017d..29c9fd67b87563cf684c4b68fd472350b5edcdfb 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydrateEvent.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydrateEvent.php
@@ -9,76 +9,14 @@
namespace Zend\Stdlib\Hydrator\Aggregate;
-use Zend\EventManager\Event;
+use Zend\Hydrator\Aggregate\HydrateEvent as BaseHydrateEvent;
/**
* Event triggered when the {@see \Zend\Stdlib\Hydrator\Aggregate\AggregateHydrator} hydrates
* data into an object
+ *
+ * @deprecated Use Zend\Hydrator\Aggregate\HydrateEvent from zendframework/zend-hydrator instead.
*/
-class HydrateEvent extends Event
+class HydrateEvent extends BaseHydrateEvent
{
- const EVENT_HYDRATE = 'hydrate';
-
- /**
- * {@inheritDoc}
- */
- protected $name = self::EVENT_HYDRATE;
-
- /**
- * @var object
- */
- protected $hydratedObject;
-
- /**
- * @var array
- */
- protected $hydrationData;
-
- /**
- * @param object $target
- * @param object $hydratedObject
- * @param array $hydrationData
- */
- public function __construct($target, $hydratedObject, array $hydrationData)
- {
- $this->target = $target;
- $this->hydratedObject = $hydratedObject;
- $this->hydrationData = $hydrationData;
- }
-
- /**
- * Retrieves the object that is being hydrated
- *
- * @return object
- */
- public function getHydratedObject()
- {
- return $this->hydratedObject;
- }
-
- /**
- * @param object $hydratedObject
- */
- public function setHydratedObject($hydratedObject)
- {
- $this->hydratedObject = $hydratedObject;
- }
-
- /**
- * Retrieves the data that is being used for hydration
- *
- * @return array
- */
- public function getHydrationData()
- {
- return $this->hydrationData;
- }
-
- /**
- * @param array $hydrationData
- */
- public function setHydrationData(array $hydrationData)
- {
- $this->hydrationData = $hydrationData;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydratorListener.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydratorListener.php
index 84c8c1289c549fd6380b16e7b2b093d764d794bd..e15cae4762667ddb9ba7cece389d9c31a2c3ae82 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydratorListener.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydratorListener.php
@@ -9,72 +9,15 @@
namespace Zend\Stdlib\Hydrator\Aggregate;
-use Zend\EventManager\AbstractListenerAggregate;
-use Zend\EventManager\EventManagerInterface;
-use Zend\Stdlib\Hydrator\HydratorInterface;
+use Zend\Hydrator\Aggregate\HydratorListener as BaseHydratorListener;
/**
* Aggregate listener wrapping around a hydrator. Listens
* to {@see \Zend\Stdlib\Hydrator\Aggregate::EVENT_HYDRATE} and
* {@see \Zend\Stdlib\Hydrator\Aggregate::EVENT_EXTRACT}
+ *
+ * @deprecated Use Zend\Hydrator\Aggregate\HydratorListener from zendframework/zend-hydrator instead.
*/
-class HydratorListener extends AbstractListenerAggregate
+class HydratorListener extends BaseHydratorListener
{
- /**
- * @var \Zend\Stdlib\Hydrator\HydratorInterface
- */
- protected $hydrator;
-
- /**
- * @param \Zend\Stdlib\Hydrator\HydratorInterface $hydrator
- */
- public function __construct(HydratorInterface $hydrator)
- {
- $this->hydrator = $hydrator;
- }
-
- /**
- * {@inheritDoc}
- */
- public function attach(EventManagerInterface $events, $priority = 1)
- {
- $this->listeners[] = $events->attach(HydrateEvent::EVENT_HYDRATE, [$this, 'onHydrate'], $priority);
- $this->listeners[] = $events->attach(ExtractEvent::EVENT_EXTRACT, [$this, 'onExtract'], $priority);
- }
-
- /**
- * Callback to be used when {@see \Zend\Stdlib\Hydrator\Aggregate\HydrateEvent::EVENT_HYDRATE} is triggered
- *
- * @param \Zend\Stdlib\Hydrator\Aggregate\HydrateEvent $event
- *
- * @return object
- *
- * @internal
- */
- public function onHydrate(HydrateEvent $event)
- {
- $object = $this->hydrator->hydrate($event->getHydrationData(), $event->getHydratedObject());
-
- $event->setHydratedObject($object);
-
- return $object;
- }
-
- /**
- * Callback to be used when {@see \Zend\Stdlib\Hydrator\Aggregate\ExtractEvent::EVENT_EXTRACT} is triggered
- *
- * @param \Zend\Stdlib\Hydrator\Aggregate\ExtractEvent $event
- *
- * @return array
- *
- * @internal
- */
- public function onExtract(ExtractEvent $event)
- {
- $data = $this->hydrator->extract($event->getExtractionObject());
-
- $event->mergeExtractedData($data);
-
- return $data;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php b/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php
index eb75e22285d7b3c1d503b99d1025ad27d5152fcb..415a44d1ae77b7dedc6c94e3adff3a069ec18c0e 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php
@@ -9,75 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-use Zend\Stdlib\Exception;
+use Zend\Hydrator\ArraySerializable as BaseArraySerializable;
-class ArraySerializable extends AbstractHydrator
+/**
+ * @deprecated Use Zend\Hydrator\ArraySerializable from zendframework/zend-hydrator instead.
+ */
+class ArraySerializable extends BaseArraySerializable implements HydratorInterface
{
- /**
- * Extract values from the provided object
- *
- * Extracts values via the object's getArrayCopy() method.
- *
- * @param object $object
- * @return array
- * @throws Exception\BadMethodCallException for an $object not implementing getArrayCopy()
- */
- public function extract($object)
- {
- if (!is_callable([$object, 'getArrayCopy'])) {
- throw new Exception\BadMethodCallException(
- sprintf('%s expects the provided object to implement getArrayCopy()', __METHOD__)
- );
- }
-
- $data = $object->getArrayCopy();
- $filter = $this->getFilter();
-
- foreach ($data as $name => $value) {
- if (!$filter->filter($name)) {
- unset($data[$name]);
- continue;
- }
- $extractedName = $this->extractName($name, $object);
- // replace the original key with extracted, if differ
- if ($extractedName !== $name) {
- unset($data[$name]);
- $name = $extractedName;
- }
- $data[$name] = $this->extractValue($name, $value, $object);
- }
-
- return $data;
- }
-
- /**
- * Hydrate an object
- *
- * Hydrates an object by passing $data to either its exchangeArray() or
- * populate() method.
- *
- * @param array $data
- * @param object $object
- * @return object
- * @throws Exception\BadMethodCallException for an $object not implementing exchangeArray() or populate()
- */
- public function hydrate(array $data, $object)
- {
- $replacement = [];
- foreach ($data as $key => $value) {
- $name = $this->hydrateName($key, $data);
- $replacement[$name] = $this->hydrateValue($name, $value, $data);
- }
-
- if (is_callable([$object, 'exchangeArray'])) {
- $object->exchangeArray($replacement);
- } elseif (is_callable([$object, 'populate'])) {
- $object->populate($replacement);
- } else {
- throw new Exception\BadMethodCallException(
- sprintf('%s expects the provided object to implement exchangeArray() or populate()', __METHOD__)
- );
- }
- return $object;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/ClassMethods.php b/vendor/zendframework/zend-stdlib/src/Hydrator/ClassMethods.php
index f95b0d1e3819aa162c133d63ed6a36a825a24b9b..ee6bdadc0fddfcbaab9655253392a6a89f301f03 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/ClassMethods.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/ClassMethods.php
@@ -9,266 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-use Traversable;
-use Zend\Stdlib\Exception;
-use Zend\Stdlib\ArrayUtils;
-use Zend\Stdlib\Hydrator\Filter\FilterComposite;
-use Zend\Stdlib\Hydrator\Filter\FilterProviderInterface;
-use Zend\Stdlib\Hydrator\Filter\GetFilter;
-use Zend\Stdlib\Hydrator\Filter\HasFilter;
-use Zend\Stdlib\Hydrator\Filter\IsFilter;
-use Zend\Stdlib\Hydrator\Filter\MethodMatchFilter;
-use Zend\Stdlib\Hydrator\Filter\OptionalParametersFilter;
-use Zend\Stdlib\Hydrator\NamingStrategy\NamingStrategyInterface;
-use Zend\Stdlib\Hydrator\NamingStrategy\UnderscoreNamingStrategy;
+use Zend\Hydrator\ClassMethods as BaseClassMethods;
-class ClassMethods extends AbstractHydrator implements HydratorOptionsInterface
+/**
+ * @deprecated Use Zend\Hydrator\ClassMethods from zendframework/zend-hydrator instead.
+ */
+class ClassMethods extends BaseClassMethods implements HydratorInterface, HydratorOptionsInterface
{
- /**
- * Holds the names of the methods used for hydration, indexed by class::property name,
- * false if the hydration method is not callable/usable for hydration purposes
- *
- * @var string[]|bool[]
- */
- private $hydrationMethodsCache = [];
-
- /**
- * A map of extraction methods to property name to be used during extraction, indexed
- * by class name and method name
- *
- * @var string[][]
- */
- private $extractionMethodsCache = [];
-
- /**
- * Flag defining whether array keys are underscore-separated (true) or camel case (false)
- *
- * @var bool
- */
- protected $underscoreSeparatedKeys = true;
-
- /**
- * @var \Zend\Stdlib\Hydrator\Filter\FilterInterface
- */
- private $callableMethodFilter;
-
- /**
- * Define if extract values will use camel case or name with underscore
- * @param bool|array $underscoreSeparatedKeys
- */
- public function __construct($underscoreSeparatedKeys = true)
- {
- parent::__construct();
- $this->setUnderscoreSeparatedKeys($underscoreSeparatedKeys);
-
- $this->callableMethodFilter = new OptionalParametersFilter();
-
- $this->filterComposite->addFilter('is', new IsFilter());
- $this->filterComposite->addFilter('has', new HasFilter());
- $this->filterComposite->addFilter('get', new GetFilter());
- $this->filterComposite->addFilter('parameter', new OptionalParametersFilter(), FilterComposite::CONDITION_AND);
- }
-
- /**
- * @param array|Traversable $options
- * @return ClassMethods
- * @throws Exception\InvalidArgumentException
- */
- public function setOptions($options)
- {
- if ($options instanceof Traversable) {
- $options = ArrayUtils::iteratorToArray($options);
- } elseif (!is_array($options)) {
- throw new Exception\InvalidArgumentException(
- 'The options parameter must be an array or a Traversable'
- );
- }
- if (isset($options['underscoreSeparatedKeys'])) {
- $this->setUnderscoreSeparatedKeys($options['underscoreSeparatedKeys']);
- }
-
- return $this;
- }
-
- /**
- * @param bool $underscoreSeparatedKeys
- * @return ClassMethods
- */
- public function setUnderscoreSeparatedKeys($underscoreSeparatedKeys)
- {
- $this->underscoreSeparatedKeys = (bool) $underscoreSeparatedKeys;
-
- if ($this->underscoreSeparatedKeys) {
- $this->setNamingStrategy(new UnderscoreNamingStrategy);
- } elseif ($this->getNamingStrategy() instanceof UnderscoreNamingStrategy) {
- $this->removeNamingStrategy();
- }
-
- return $this;
- }
-
- /**
- * @return bool
- */
- public function getUnderscoreSeparatedKeys()
- {
- return $this->underscoreSeparatedKeys;
- }
-
- /**
- * Extract values from an object with class methods
- *
- * Extracts the getter/setter of the given $object.
- *
- * @param object $object
- * @return array
- * @throws Exception\BadMethodCallException for a non-object $object
- */
- public function extract($object)
- {
- if (!is_object($object)) {
- throw new Exception\BadMethodCallException(sprintf(
- '%s expects the provided $object to be a PHP object)',
- __METHOD__
- ));
- }
-
- $objectClass = get_class($object);
-
- // reset the hydrator's hydrator's cache for this object, as the filter may be per-instance
- if ($object instanceof FilterProviderInterface) {
- $this->extractionMethodsCache[$objectClass] = null;
- }
-
- // pass 1 - finding out which properties can be extracted, with which methods (populate hydration cache)
- if (! isset($this->extractionMethodsCache[$objectClass])) {
- $this->extractionMethodsCache[$objectClass] = [];
- $filter = $this->filterComposite;
- $methods = get_class_methods($object);
-
- if ($object instanceof FilterProviderInterface) {
- $filter = new FilterComposite(
- [$object->getFilter()],
- [new MethodMatchFilter('getFilter')]
- );
- }
-
- foreach ($methods as $method) {
- $methodFqn = $objectClass . '::' . $method;
-
- if (! ($filter->filter($methodFqn) && $this->callableMethodFilter->filter($methodFqn))) {
- continue;
- }
-
- $attribute = $method;
-
- if (strpos($method, 'get') === 0) {
- $attribute = substr($method, 3);
- if (!property_exists($object, $attribute)) {
- $attribute = lcfirst($attribute);
- }
- }
-
- $this->extractionMethodsCache[$objectClass][$method] = $attribute;
- }
- }
-
- $values = [];
-
- // pass 2 - actually extract data
- foreach ($this->extractionMethodsCache[$objectClass] as $methodName => $attributeName) {
- $realAttributeName = $this->extractName($attributeName, $object);
- $values[$realAttributeName] = $this->extractValue($realAttributeName, $object->$methodName(), $object);
- }
-
- return $values;
- }
-
- /**
- * Hydrate an object by populating getter/setter methods
- *
- * Hydrates an object by getter/setter methods of the object.
- *
- * @param array $data
- * @param object $object
- * @return object
- * @throws Exception\BadMethodCallException for a non-object $object
- */
- public function hydrate(array $data, $object)
- {
- if (!is_object($object)) {
- throw new Exception\BadMethodCallException(sprintf(
- '%s expects the provided $object to be a PHP object)',
- __METHOD__
- ));
- }
-
- $objectClass = get_class($object);
-
- foreach ($data as $property => $value) {
- $propertyFqn = $objectClass . '::$' . $property;
-
- if (! isset($this->hydrationMethodsCache[$propertyFqn])) {
- $setterName = 'set' . ucfirst($this->hydrateName($property, $data));
-
- $this->hydrationMethodsCache[$propertyFqn] = is_callable([$object, $setterName])
- ? $setterName
- : false;
- }
-
- if ($this->hydrationMethodsCache[$propertyFqn]) {
- $object->{$this->hydrationMethodsCache[$propertyFqn]}($this->hydrateValue($property, $value, $data));
- }
- }
-
- return $object;
- }
-
- /**
- * {@inheritDoc}
- */
- public function addFilter($name, $filter, $condition = FilterComposite::CONDITION_OR)
- {
- $this->resetCaches();
-
- return parent::addFilter($name, $filter, $condition);
- }
-
- /**
- * {@inheritDoc}
- */
- public function removeFilter($name)
- {
- $this->resetCaches();
-
- return parent::removeFilter($name);
- }
-
- /**
- * {@inheritDoc}
- */
- public function setNamingStrategy(NamingStrategyInterface $strategy)
- {
- $this->resetCaches();
-
- return parent::setNamingStrategy($strategy);
- }
-
- /**
- * {@inheritDoc}
- */
- public function removeNamingStrategy()
- {
- $this->resetCaches();
-
- return parent::removeNamingStrategy();
- }
-
- /**
- * Reset all local hydration/extraction caches
- */
- private function resetCaches()
- {
- $this->hydrationMethodsCache = $this->extractionMethodsCache = [];
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydrator.php b/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydrator.php
index db234d38ada5aa4064875a7a98833397815b7f61..eb65d95316905bf40dcbdd2a61ea5528eee2ce5d 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydrator.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydrator.php
@@ -9,49 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-use Zend\ServiceManager\ServiceLocatorInterface;
+use Zend\Hydrator\DelegatingHydrator as BaseDelegatingHydrator;
-class DelegatingHydrator implements HydratorInterface
+/**
+ * @deprecated Use Zend\Hydrator\DelegatingHydrator from zendframework/zend-hydrator instead.
+ */
+class DelegatingHydrator extends BaseDelegatingHydrator implements HydratorInterface
{
- /**
- * @var ServiceLocatorInterface
- */
- protected $hydrators;
-
- /**
- * Constructor
- *
- * @param ServiceLocatorInterface $hydrators
- */
- public function __construct(ServiceLocatorInterface $hydrators)
- {
- $this->hydrators = $hydrators;
- }
-
- /**
- * {@inheritdoc}
- */
- public function hydrate(array $data, $object)
- {
- return $this->getHydrator($object)->hydrate($data, $object);
- }
-
- /**
- * {@inheritdoc}
- */
- public function extract($object)
- {
- return $this->getHydrator($object)->extract($object);
- }
-
- /**
- * Gets hydrator of an object
- *
- * @param object $object
- * @return HydratorInterface
- */
- protected function getHydrator($object)
- {
- return $this->hydrators->get(get_class($object));
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydratorFactory.php b/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydratorFactory.php
index c3a0da25e7f7eefc3f6f91f5a3bbc4f4ad256d57..170308d97d7168141e22879c2c483257ef7729b3 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydratorFactory.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydratorFactory.php
@@ -9,21 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-use Zend\ServiceManager\FactoryInterface;
-use Zend\ServiceManager\ServiceLocatorInterface;
+use Zend\Hydrator\DelegatingHydratorFactory as BaseDelegatingHydratorFactory;
-class DelegatingHydratorFactory implements FactoryInterface
+/**
+ * @deprecated Use Zend\Hydrator\DelegatingHydratorFactory from zendframework/zend-hydrator instead.
+ */
+class DelegatingHydratorFactory extends BaseDelegatingHydratorFactory
{
- /**
- * Creates DelegatingHydrator
- *
- * @param ServiceLocatorInterface $serviceLocator
- * @return DelegatingHydrator
- */
- public function createService(ServiceLocatorInterface $serviceLocator)
- {
- // Assume that this factory is registered with the HydratorManager,
- // and just pass it directly on.
- return new DelegatingHydrator($serviceLocator);
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterComposite.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterComposite.php
index f9d4c564218251ed7fb4ce992d9d771d3e925608..b230c97ba3e1a31d4c38c08ce896d13ed5fdf968 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterComposite.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterComposite.php
@@ -8,189 +8,11 @@
*/
namespace Zend\Stdlib\Hydrator\Filter;
-use ArrayObject;
-use Zend\Stdlib\Exception\InvalidArgumentException;
+use Zend\Hydrator\Filter\FilterComposite as BaseFilterComposite;
-class FilterComposite implements FilterInterface
+/**
+ * @deprecated Use Zend\Hydrator\Filter\FilterComposite from zendframework/zend-hydrator instead.
+ */
+class FilterComposite extends BaseFilterComposite implements FilterInterface
{
- /**
- * @var ArrayObject
- */
- protected $orFilter;
-
- /**
- * @var ArrayObject
- */
- protected $andFilter;
-
- /**
- * Constant to add with "or" conditition
- */
- const CONDITION_OR = 1;
-
- /**
- * Constant to add with "and" conditition
- */
- const CONDITION_AND = 2;
-
- /**
- * Define default Filter
- *
- * @param array $orFilter
- * @param array $andFilter
- * @throws InvalidArgumentException
- */
- public function __construct($orFilter = [], $andFilter = [])
- {
- array_walk(
- $orFilter,
- function ($value, $key) {
- if (!is_callable($value) && !$value instanceof FilterInterface) {
- throw new InvalidArgumentException(
- 'The value of ' . $key . ' should be either a callable or ' .
- 'an instance of Zend\Stdlib\Hydrator\Filter\FilterInterface'
- );
- }
- }
- );
-
- array_walk(
- $andFilter,
- function ($value, $key) {
- if (!is_callable($value) && !$value instanceof FilterInterface) {
- throw new InvalidArgumentException(
- 'The value of ' . $key . ' should be either a callable or ' .
- 'an instance of Zend\Stdlib\Hydrator\Filter\FilterInterface'
- );
- }
- }
- );
-
- $this->orFilter = new ArrayObject($orFilter);
- $this->andFilter = new ArrayObject($andFilter);
- }
-
- /**
- * Add a filter to the composite. Has to be indexed with $name in
- * order to identify a specific filter.
- *
- * This example will exclude all methods from the hydration, that starts with 'getService'
- *
- * $composite->addFilter('exclude',
- * function ($method) {
- * if (preg_match('/^getService/', $method) {
- * return false;
- * }
- * return true;
- * }, FilterComposite::CONDITION_AND
- * );
- *
- *
- * @param string $name
- * @param callable|FilterInterface $filter
- * @param int $condition Can be either FilterComposite::CONDITION_OR or FilterComposite::CONDITION_AND
- * @throws InvalidArgumentException
- * @return FilterComposite
- */
- public function addFilter($name, $filter, $condition = self::CONDITION_OR)
- {
- if (!is_callable($filter) && !($filter instanceof FilterInterface)) {
- throw new InvalidArgumentException(
- 'The value of ' . $name . ' should be either a callable or ' .
- 'an instance of Zend\Stdlib\Hydrator\Filter\FilterInterface'
- );
- }
-
- if ($condition === self::CONDITION_OR) {
- $this->orFilter[$name] = $filter;
- } elseif ($condition === self::CONDITION_AND) {
- $this->andFilter[$name] = $filter;
- }
-
- return $this;
- }
-
- /**
- * Remove a filter from the composition
- *
- * @param $name string Identifier for the filter
- * @return FilterComposite
- */
- public function removeFilter($name)
- {
- if (isset($this->orFilter[$name])) {
- unset($this->orFilter[$name]);
- }
-
- if (isset($this->andFilter[$name])) {
- unset($this->andFilter[$name]);
- }
-
- return $this;
- }
-
- /**
- * Check if $name has a filter registered
- *
- * @param $name string Identifier for the filter
- * @return bool
- */
- public function hasFilter($name)
- {
- return isset($this->orFilter[$name]) || isset($this->andFilter[$name]);
- }
-
- /**
- * Filter the composite based on the AND and OR condition
- * Will return true if one from the "or conditions" and all from
- * the "and condition" returns true. Otherwise false
- *
- * @param $property string Parameter will be e.g. Parent\Namespace\Class::method
- * @return bool
- */
- public function filter($property)
- {
- $andCount = count($this->andFilter);
- $orCount = count($this->orFilter);
- // return true if no filters are registered
- if ($orCount === 0 && $andCount === 0) {
- return true;
- } elseif ($orCount === 0 && $andCount !== 0) {
- $returnValue = true;
- } else {
- $returnValue = false;
- }
-
- // Check if 1 from the or filters return true
- foreach ($this->orFilter as $filter) {
- if (is_callable($filter)) {
- if ($filter($property) === true) {
- $returnValue = true;
- break;
- }
- continue;
- } else {
- if ($filter->filter($property) === true) {
- $returnValue = true;
- break;
- }
- }
- }
-
- // Check if all of the and condition return true
- foreach ($this->andFilter as $filter) {
- if (is_callable($filter)) {
- if ($filter($property) === false) {
- return false;
- }
- continue;
- } else {
- if ($filter->filter($property) === false) {
- return false;
- }
- }
- }
-
- return $returnValue;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterInterface.php
index 16df098f56032e11cd6e99798a35fe3837b27734..95c4e24025d20ac9c75092867a0f5ff18bf90cb3 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterInterface.php
@@ -8,14 +8,11 @@
*/
namespace Zend\Stdlib\Hydrator\Filter;
-interface FilterInterface
+use Zend\Hydrator\Filter\FilterInterface as BaseFilterInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\Filter\FilterInterface from zendframework/zend-hydrator instead.
+ */
+interface FilterInterface extends BaseFilterInterface
{
- /**
- * Should return true, if the given filter
- * does not match
- *
- * @param string $property The name of the property
- * @return bool
- */
- public function filter($property);
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterProviderInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterProviderInterface.php
index c2e978877a544375fd894b3897f9e0b002a4f9bb..142ddf1ff7fe571cc61bf1d14b6a7af5e68a5ba2 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterProviderInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterProviderInterface.php
@@ -8,12 +8,11 @@
*/
namespace Zend\Stdlib\Hydrator\Filter;
-interface FilterProviderInterface
+use Zend\Hydrator\Filter\FilterProviderInterface as BaseFilterProviderInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\Filter\FilterProviderInterface from zendframework/zend-hydrator instead.
+ */
+interface FilterProviderInterface extends BaseFilterProviderInterface
{
- /**
- * Provides a filter for hydration
- *
- * @return FilterInterface
- */
- public function getFilter();
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/GetFilter.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/GetFilter.php
index b4d898dc22fca3eacbcaf33b85f638056b5740f8..ca7dd3cbe89c50d4c4ab9f953eeea6ce78b902f5 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/GetFilter.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/GetFilter.php
@@ -8,20 +8,11 @@
*/
namespace Zend\Stdlib\Hydrator\Filter;
-class GetFilter implements FilterInterface
-{
- public function filter($property)
- {
- $pos = strpos($property, '::');
- if ($pos !== false) {
- $pos += 2;
- } else {
- $pos = 0;
- }
+use Zend\Hydrator\Filter\GetFilter as BaseGetFilter;
- if (substr($property, $pos, 3) === 'get') {
- return true;
- }
- return false;
- }
+/**
+ * @deprecated Use Zend\Hydrator\Filter\GetFilter from zendframework/zend-hydrator instead.
+ */
+class GetFilter extends BaseGetFilter implements FilterInterface
+{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/HasFilter.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/HasFilter.php
index 0cf57f95e173cf034cf48f718f35f2b534cdf993..af00600bf40be9b22844b7c3f84c758058a46760 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/HasFilter.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/HasFilter.php
@@ -8,20 +8,11 @@
*/
namespace Zend\Stdlib\Hydrator\Filter;
-class HasFilter implements FilterInterface
-{
- public function filter($property)
- {
- $pos = strpos($property, '::');
- if ($pos !== false) {
- $pos += 2;
- } else {
- $pos = 0;
- }
+use Zend\Hydrator\Filter\HasFilter as BaseHasFilter;
- if (substr($property, $pos, 3) === 'has') {
- return true;
- }
- return false;
- }
+/**
+ * @deprecated Use Zend\Hydrator\Filter\HasFilter from zendframework/zend-hydrator instead.
+ */
+class HasFilter extends BaseHasFilter implements FilterInterface
+{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/IsFilter.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/IsFilter.php
index 3b6e3763742ae3fa5d04cf19c3bdd875afba3915..9e51643f5f09b5f38f786574c34a52a40a1a15ff 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/IsFilter.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/IsFilter.php
@@ -8,20 +8,11 @@
*/
namespace Zend\Stdlib\Hydrator\Filter;
-class IsFilter implements FilterInterface
-{
- public function filter($property)
- {
- $pos = strpos($property, '::');
- if ($pos !== false) {
- $pos += 2;
- } else {
- $pos = 0;
- }
+use Zend\Hydrator\Filter\IsFilter as BaseIsFilter;
- if (substr($property, $pos, 2) === 'is') {
- return true;
- }
- return false;
- }
+/**
+ * @deprecated Use Zend\Hydrator\Filter\IsFilter from zendframework/zend-hydrator instead.
+ */
+class IsFilter extends BaseIsFilter implements FilterInterface
+{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/MethodMatchFilter.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/MethodMatchFilter.php
index 2601a6fb31fdbba15b374ff4b506685b38f62591..471849ce89b47b7acf7d17fdfc9afcc91f538380 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/MethodMatchFilter.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/MethodMatchFilter.php
@@ -8,41 +8,11 @@
*/
namespace Zend\Stdlib\Hydrator\Filter;
-class MethodMatchFilter implements FilterInterface
-{
- /**
- * The method to exclude
- * @var string
- */
- protected $method = null;
-
- /**
- * Either an exclude or an include
- * @var bool
- */
- protected $exclude = null;
-
- /**
- * @param string $method The method to exclude or include
- * @param bool $exclude If the method should be excluded
- */
- public function __construct($method, $exclude = true)
- {
- $this->method = $method;
- $this->exclude = $exclude;
- }
+use Zend\Hydrator\Filter\MethodMatchFilter as BaseMethodMatchFilter;
- public function filter($property)
- {
- $pos = strpos($property, '::');
- if ($pos !== false) {
- $pos += 2;
- } else {
- $pos = 0;
- }
- if (substr($property, $pos) === $this->method) {
- return !$this->exclude;
- }
- return $this->exclude;
- }
+/**
+ * @deprecated Use Zend\Hydrator\Filter\MethodMatchFilter from zendframework/zend-hydrator instead.
+ */
+class MethodMatchFilter extends BaseMethodMatchFilter implements FilterInterface
+{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php
index 1254b63b35c29848a7e1efb059bcba79f07bcf17..95309b160a93349619c899f4b1f74419499fb702 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php
@@ -9,41 +9,11 @@
namespace Zend\Stdlib\Hydrator\Filter;
-use ReflectionException;
-use ReflectionMethod;
-use Zend\Stdlib\Exception\InvalidArgumentException;
+use Zend\Hydrator\Filter\NumberOfParameterFilter as BaseNumberOfParameterFilter;
-class NumberOfParameterFilter implements FilterInterface
+/**
+ * @deprecated Use Zend\Hydrator\Filter\NumberOfParameterFilter from zendframework/zend-hydrator instead.
+ */
+class NumberOfParameterFilter extends BaseNumberOfParameterFilter implements FilterInterface
{
- /**
- * The number of parameters beeing accepted
- * @var int
- */
- protected $numberOfParameters = null;
-
- /**
- * @param int $numberOfParameters Number of accepted parameters
- */
- public function __construct($numberOfParameters = 0)
- {
- $this->numberOfParameters = (int) $numberOfParameters;
- }
-
- /**
- * @param string $property the name of the property
- * @return bool
- * @throws InvalidArgumentException
- */
- public function filter($property)
- {
- try {
- $reflectionMethod = new ReflectionMethod($property);
- } catch (ReflectionException $exception) {
- throw new InvalidArgumentException(
- "Method $property doesn't exist"
- );
- }
-
- return $reflectionMethod->getNumberOfParameters() === $this->numberOfParameters;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/OptionalParametersFilter.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/OptionalParametersFilter.php
index 8204e786f37e93133e0f911c0b04da63eafa68f6..07c8dfdc42b314e34c400774eb86991e7d4c2667 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/OptionalParametersFilter.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/OptionalParametersFilter.php
@@ -8,47 +8,13 @@
*/
namespace Zend\Stdlib\Hydrator\Filter;
-use InvalidArgumentException;
-use ReflectionException;
-use ReflectionMethod;
-use ReflectionParameter;
+use Zend\Hydrator\Filter\OptionalParametersFilter as BaseOptionalParametersFilter;
/**
* Filter that includes methods which have no parameters or only optional parameters
+ *
+ * @deprecated Use Zend\Hydrator\Filter\OptionalParametersFilter from zendframework/zend-hydrator instead.
*/
-class OptionalParametersFilter implements FilterInterface
+class OptionalParametersFilter extends BaseOptionalParametersFilter implements FilterInterface
{
- /**
- * Map of methods already analyzed
- * by {@see \Zend\Stdlib\Hydrator\Filter\OptionalParametersFilter::filter()},
- * cached for performance reasons
- *
- * @var bool[]
- */
- protected static $propertiesCache = [];
-
- /**
- * {@inheritDoc}
- */
- public function filter($property)
- {
- if (isset(static::$propertiesCache[$property])) {
- return static::$propertiesCache[$property];
- }
-
- try {
- $reflectionMethod = new ReflectionMethod($property);
- } catch (ReflectionException $exception) {
- throw new InvalidArgumentException(sprintf('Method %s doesn\'t exist', $property));
- }
-
- $mandatoryParameters = array_filter(
- $reflectionMethod->getParameters(),
- function (ReflectionParameter $parameter) {
- return ! $parameter->isOptional();
- }
- );
-
- return static::$propertiesCache[$property] = empty($mandatoryParameters);
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/FilterEnabledInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/FilterEnabledInterface.php
index 380aade050ad7fd18f684f916d7876af81643a77..9643f1427594a7792e0b1bae151693cd09f595fa 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/FilterEnabledInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/FilterEnabledInterface.php
@@ -9,55 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-use Zend\Stdlib\Hydrator\Filter\FilterInterface;
-use Zend\Stdlib\Hydrator\Filter\FilterComposite;
-use Zend\Stdlib\Hydrator\Filter\FilterProviderInterface;
+use Zend\Hydrator\FilterEnabledInterface as BaseFilterEnabledInterface;
-interface FilterEnabledInterface extends FilterProviderInterface
+/**
+ * @deprecated Use Zend\Hydrator\FilterEnabledInterface from zendframework/zend-hydrator instead.
+ */
+interface FilterEnabledInterface extends BaseFilterEnabledInterface
{
- /**
- * Add a new filter to take care of what needs to be hydrated.
- * To exclude e.g. the method getServiceLocator:
- *
- *
- * $composite->addFilter(
- * "servicelocator",
- * function ($property) {
- * list($class, $method) = explode('::', $property);
- * if ($method === 'getServiceLocator') {
- * return false;
- * }
- * return true;
- * },
- * FilterComposite::CONDITION_AND
- * );
- *
- *
- * @param string $name Index in the composite
- * @param callable|FilterInterface $filter
- * @param int $condition
- * @return FilterComposite
- */
- public function addFilter($name, $filter, $condition = FilterComposite::CONDITION_OR);
-
- /**
- * Check whether a specific filter exists at key $name or not
- *
- * @param string $name Index in the composite
- * @return bool
- */
- public function hasFilter($name);
-
- /**
- * Remove a filter from the composition.
- * To not extract "has" methods, you simply need to unregister it
- *
- *
- * $filterComposite->removeFilter('has');
- *
- *
- * @param $name
- * @return FilterComposite
- */
- public function removeFilter($name);
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/HydrationInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/HydrationInterface.php
index e7deff491ae575b2bdf728d94c37f94e40fac656..8395169b4d794fc15909c50afb423694bdd0d8b0 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/HydrationInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/HydrationInterface.php
@@ -9,14 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-interface HydrationInterface
+use Zend\Hydrator\HydrationInterface as BaseHydrationInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\HydrationInterface from zendframework/zend-hydrator instead.
+ */
+interface HydrationInterface extends BaseHydrationInterface
{
- /**
- * Hydrate $object with the provided $data.
- *
- * @param array $data
- * @param object $object
- * @return object
- */
- public function hydrate(array $data, $object);
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareInterface.php
index d64782ea41ee2ed55cb2be38035a296883533acf..625a609b7403448ea63bd142e2f1baae7fe3be65 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareInterface.php
@@ -9,20 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-interface HydratorAwareInterface
-{
- /**
- * Set hydrator
- *
- * @param HydratorInterface $hydrator
- * @return HydratorAwareInterface
- */
- public function setHydrator(HydratorInterface $hydrator);
+use Zend\Hydrator\HydratorAwareInterface as BaseHydratorAwareInterface;
- /**
- * Retrieve hydrator
- *
- * @return HydratorInterface
- */
- public function getHydrator();
+/**
+ * @deprecated Use Zend\Hydrator\HydratorAwareInterface from zendframework/zend-hydrator instead.
+ */
+interface HydratorAwareInterface extends BaseHydratorAwareInterface
+{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareTrait.php b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareTrait.php
index 9c772c277a3d451a5a29814ffa5a2c124fbaf1d1..e7d60820934330234d1d04647ab4a0084b68793a 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareTrait.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareTrait.php
@@ -9,39 +9,12 @@
namespace Zend\Stdlib\Hydrator;
+use Zend\Hydrator\HydratorAwareTrait as BaseHydratorAwareTrait;
+
+/**
+ * @deprecated Use Zend\Hydrator\HydratorAwareTrait from zendframework/zend-hydrator instead.
+ */
trait HydratorAwareTrait
{
- /**
- * Hydrator instance
- *
- * @var HydratorInterface
- * @access protected
- */
- protected $hydrator = null;
-
- /**
- * Set hydrator
- *
- * @param HydratorInterface $hydrator
- * @return self
- * @access public
- */
- public function setHydrator(HydratorInterface $hydrator)
- {
- $this->hydrator = $hydrator;
-
- return $this;
- }
-
- /**
- * Retrieve hydrator
- *
- * @param void
- * @return null|HydratorInterface
- * @access public
- */
- public function getHydrator()
- {
- return $this->hydrator;
- }
+ use BaseHydratorAwareTrait;
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorInterface.php
index bc9983d9a5a6cc1d8c0d859cc548f4fd02a940b2..14f143ab8794c16b586211bdf62ae9ec604397ae 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorInterface.php
@@ -10,7 +10,11 @@
namespace Zend\Stdlib\Hydrator;
use Zend\Stdlib\Extractor\ExtractionInterface;
+use Zend\Hydrator\HydratorInterface as BaseHydratorInterface;
-interface HydratorInterface extends HydrationInterface, ExtractionInterface
+/**
+ * @deprecated Use Zend\Hydrator\HydratorInterface from zendframework/zend-hydrator instead.
+ */
+interface HydratorInterface extends BaseHydratorInterface, HydrationInterface, ExtractionInterface
{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorOptionsInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorOptionsInterface.php
index 44610f7c1e2c7ce7126f5675e88a17269c4eaec3..dfda9253fd89c6ccbb082f8b92db97e97360be69 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorOptionsInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorOptionsInterface.php
@@ -9,11 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-interface HydratorOptionsInterface
+use Zend\Hydrator\HydratorOptionsInterface as BaseHydratorOptionsInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\HydratorOptionsInterface from zendframework/zend-hydrator instead.
+ */
+interface HydratorOptionsInterface extends BaseHydratorOptionsInterface
{
- /**
- * @param array|\Traversable $options
- * @return HydratorOptionsInterface
- */
- public function setOptions($options);
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorPluginManager.php b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorPluginManager.php
index 537202fc6f14ac07363bd7cb25170b41ae7b767f..6b7049b8dae61bf2364da94e32c8634de85d07a5 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorPluginManager.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorPluginManager.php
@@ -9,66 +9,15 @@
namespace Zend\Stdlib\Hydrator;
-use Zend\ServiceManager\AbstractPluginManager;
-use Zend\Stdlib\Exception;
+use Zend\Hydrator\HydratorPluginManager as BaseHydratorPluginManager;
/**
* Plugin manager implementation for hydrators.
*
* Enforces that adapters retrieved are instances of HydratorInterface
+ *
+ * @deprecated Use Zend\Hydrator\HydratorPluginManager from zendframework/zend-hydrator instead.
*/
-class HydratorPluginManager extends AbstractPluginManager
+class HydratorPluginManager extends BaseHydratorPluginManager
{
- /**
- * Whether or not to share by default
- *
- * @var bool
- */
- protected $shareByDefault = false;
-
- /**
- * Default aliases
- *
- * @var array
- */
- protected $aliases = [
- 'delegatinghydrator' => 'Zend\Stdlib\Hydrator\DelegatingHydrator',
- ];
-
- /**
- * Default set of adapters
- *
- * @var array
- */
- protected $invokableClasses = [
- 'arrayserializable' => 'Zend\Stdlib\Hydrator\ArraySerializable',
- 'classmethods' => 'Zend\Stdlib\Hydrator\ClassMethods',
- 'objectproperty' => 'Zend\Stdlib\Hydrator\ObjectProperty',
- 'reflection' => 'Zend\Stdlib\Hydrator\Reflection'
- ];
-
- /**
- * Default factory-based adapters
- *
- * @var array
- */
- protected $factories = [
- 'Zend\Stdlib\Hydrator\DelegatingHydrator' => 'Zend\Stdlib\Hydrator\DelegatingHydratorFactory',
- ];
-
- /**
- * {@inheritDoc}
- */
- public function validatePlugin($plugin)
- {
- if ($plugin instanceof HydratorInterface) {
- // we're okay
- return;
- }
-
- throw new Exception\RuntimeException(sprintf(
- 'Plugin of type %s is invalid; must implement Zend\Stdlib\Hydrator\HydratorInterface',
- (is_object($plugin) ? get_class($plugin) : gettype($plugin))
- ));
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingArrayIterator.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingArrayIterator.php
index 22bc81ab90f9c88d07481c5e6674c6ef92d4d15c..f51befe446b20069c84a99aecff1881f855123b5 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingArrayIterator.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingArrayIterator.php
@@ -9,28 +9,11 @@
namespace Zend\Stdlib\Hydrator\Iterator;
-use ArrayIterator;
-use Zend\Stdlib\Hydrator\HydratorInterface;
+use Zend\Hydrator\Iterator\HydratingArrayIterator as BaseHydratingArrayIterator;
-class HydratingArrayIterator extends HydratingIteratorIterator
+/**
+ * @deprecated Use Zend\Hydrator\Iterator\HydratingArrayIterator from zendframework/zend-hydrator instead.
+ */
+class HydratingArrayIterator extends BaseHydratingArrayIterator implements HydratingIteratorInterface
{
- /**
- * @var HydratorInterface
- */
- protected $hydrator;
-
- /**
- * @var object
- */
- protected $prototype;
-
- /**
- * @param HydratorInterface $hydrator
- * @param array $data
- * @param string|object $prototype Object, or class name to use for prototype.
- */
- public function __construct(HydratorInterface $hydrator, array $data, $prototype)
- {
- parent::__construct($hydrator, new ArrayIterator($data), $prototype);
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorInterface.php
index ba8c5967bd7477af45779d9e335c935b03a96426..81a9999b53238e1aa0585b4df83eba0448421287 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorInterface.php
@@ -9,25 +9,11 @@
namespace Zend\Stdlib\Hydrator\Iterator;
-use Iterator;
-use Zend\Stdlib\Hydrator\HydratorInterface;
+use Zend\Hydrator\Iterator\HydratingIteratorInterface as BaseHydratingIteratorInterface;
-interface HydratingIteratorInterface extends Iterator
+/**
+ * @deprecated Use Zend\Hydrator\Iterator\HydratingIteratorInterface from zendframework/zend-hydrator instead.
+ */
+interface HydratingIteratorInterface extends BaseHydratingIteratorInterface
{
- /**
- * This sets the prototype to hydrate.
- *
- * This prototype can be the name of the class or the object itself;
- * iteration will clone the object.
- *
- * @param string|object $prototype
- */
- public function setPrototype($prototype);
-
- /**
- * Sets the hydrator to use during iteration.
- *
- * @param HydratorInterface $hydrator
- */
- public function setHydrator(HydratorInterface $hydrator);
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorIterator.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorIterator.php
index 2cd1d65fa53b319996a9a7f99b3dd91b910708b1..1d2ac7ad9af721a08268aa42a1ebcae30a502ec7 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorIterator.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorIterator.php
@@ -9,70 +9,11 @@
namespace Zend\Stdlib\Hydrator\Iterator;
-use Iterator;
-use IteratorIterator;
-use Zend\Stdlib\Exception\InvalidArgumentException;
-use Zend\Stdlib\Hydrator\HydratorInterface;
+use Zend\Hydrator\Iterator\HydratingIteratorIterator as BaseHydratingIteratorIterator;
-class HydratingIteratorIterator extends IteratorIterator implements HydratingIteratorInterface
+/**
+ * @deprecated Use Zend\Hydrator\Iterator\HydratingIteratorIterator from zendframework/zend-hydrator instead.
+ */
+class HydratingIteratorIterator extends BaseHydratingIteratorIterator implements HydratingIteratorInterface
{
- /**
- * @var HydratorInterface
- */
- protected $hydrator;
-
- /**
- * @var object
- */
- protected $prototype;
-
- /**
- * @param HydratorInterface $hydrator
- * @param Iterator $data
- * @param string|object $prototype Object or class name to use for prototype.
- */
- public function __construct(HydratorInterface $hydrator, Iterator $data, $prototype)
- {
- $this->setHydrator($hydrator);
- $this->setPrototype($prototype);
- parent::__construct($data);
- }
-
- /**
- * @inheritdoc
- */
- public function setPrototype($prototype)
- {
- if (is_object($prototype)) {
- $this->prototype = $prototype;
- return;
- }
-
- if (!class_exists($prototype)) {
- throw new InvalidArgumentException(
- sprintf('Method %s was passed an invalid class name: %s', __METHOD__, $prototype)
- );
- }
-
- $this->prototype = new $prototype;
- }
-
- /**
- * @inheritdoc
- */
- public function setHydrator(HydratorInterface $hydrator)
- {
- $this->hydrator = $hydrator;
- }
-
- /**
- * @return object Returns hydrated clone of $prototype
- */
- public function current()
- {
- $currentValue = parent::current();
- $object = clone $this->prototype;
- $this->hydrator->hydrate($currentValue, $object);
- return $object;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/ArrayMapNamingStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/ArrayMapNamingStrategy.php
index 6ca3711f3dffbe8d3d6fc02b6488ba8f646e97f0..d440c531e40379d2646aeacd11d61c4f0cfdad47 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/ArrayMapNamingStrategy.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/ArrayMapNamingStrategy.php
@@ -9,43 +9,11 @@
namespace Zend\Stdlib\Hydrator\NamingStrategy;
-final class ArrayMapNamingStrategy implements NamingStrategyInterface
-{
- /**
- * @var string[]
- */
- private $extractionMap = [];
-
- /**
- * @var string[]
- */
- private $hydrationMap = [];
-
- /**
- * Constructor
- *
- * @param array $extractionMap A map of string keys and values for symmetric translation of hydrated
- * and extracted field names
- */
- public function __construct(array $extractionMap)
- {
- $this->extractionMap = $extractionMap;
- $this->hydrationMap = array_flip($extractionMap);
- }
-
- /**
- * {@inheritDoc}
- */
- public function hydrate($name)
- {
- return isset($this->hydrationMap[$name]) ? $this->hydrationMap[$name] : $name;
- }
+use Zend\Hydrator\NamingStrategy\ArrayMapNamingStrategy as BaseArrayMapNamingStrategy;
- /**
- * {@inheritDoc}
- */
- public function extract($name)
- {
- return isset($this->extractionMap[$name]) ? $this->extractionMap[$name] : $name;
- }
+/**
+ * @deprecated Use Zend\Hydrator\NamingStrategy\ArrayMapNamingStrategy from zendframework/zend-hydrator instead.
+ */
+class ArrayMapNamingStrategy extends BaseArrayMapNamingStrategy implements NamingStrategyInterface
+{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/CompositeNamingStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/CompositeNamingStrategy.php
index 76a3082bdb948043f6657dce5ef9f1c5281f9aba..d529a8b0331a17327c7d329fee61c4d4eaf4aa84 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/CompositeNamingStrategy.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/CompositeNamingStrategy.php
@@ -9,56 +9,11 @@
namespace Zend\Stdlib\Hydrator\NamingStrategy;
-final class CompositeNamingStrategy implements NamingStrategyInterface
-{
- /**
- * @var array
- */
- private $namingStrategies = [];
-
- /**
- * @var NamingStrategyInterface
- */
- private $defaultNamingStrategy;
-
- /**
- * @param NamingStrategyInterface[] $strategies indexed by the name they translate
- * @param NamingStrategyInterface|null $defaultNamingStrategy
- */
- public function __construct(array $strategies, NamingStrategyInterface $defaultNamingStrategy = null)
- {
- $this->namingStrategies = array_map(
- function (NamingStrategyInterface $strategy) {
- // this callback is here only to ensure type-safety
- return $strategy;
- },
- $strategies
- );
-
- $this->defaultNamingStrategy = $defaultNamingStrategy ?: new IdentityNamingStrategy();
- }
-
- /**
- * {@inheritDoc}
- */
- public function extract($name)
- {
- $strategy = isset($this->namingStrategies[$name])
- ? $this->namingStrategies[$name]
- : $this->defaultNamingStrategy;
+use Zend\Hydrator\NamingStrategy\CompositeNamingStrategy as BaseCompositeNamingStrategy;
- return $strategy->extract($name);
- }
-
- /**
- * {@inheritDoc}
- */
- public function hydrate($name)
- {
- $strategy = isset($this->namingStrategies[$name])
- ? $this->namingStrategies[$name]
- : $this->defaultNamingStrategy;
-
- return $strategy->hydrate($name);
- }
+/**
+ * @deprecated Use Zend\Hydrator\NamingStrategy\CompositeNamingStrategy from zendframework/zend-hydrator instead.
+ */
+class CompositeNamingStrategy extends BaseCompositeNamingStrategy implements NamingStrategyInterface
+{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/IdentityNamingStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/IdentityNamingStrategy.php
index ee4b328d34d638e787ec9eca9d10e0c8a034269c..be5783917543aebd1cf6eb5a5ad29c6df19e4ed6 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/IdentityNamingStrategy.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/IdentityNamingStrategy.php
@@ -9,21 +9,11 @@
namespace Zend\Stdlib\Hydrator\NamingStrategy;
-final class IdentityNamingStrategy implements NamingStrategyInterface
-{
- /**
- * {@inheritDoc}
- */
- public function hydrate($name)
- {
- return $name;
- }
+use Zend\Hydrator\NamingStrategy\IdentityNamingStrategy as BaseIdentityNamingStrategy;
- /**
- * {@inheritDoc}
- */
- public function extract($name)
- {
- return $name;
- }
+/**
+ * @deprecated Use Zend\Hydrator\NamingStrategy\IdentityNamingStrategy from zendframework/zend-hydrator instead.
+ */
+class IdentityNamingStrategy extends BaseIdentityNamingStrategy implements NamingStrategyInterface
+{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/MapNamingStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/MapNamingStrategy.php
index 7d04e5787a53590ef92c887655a1b8812d2503f6..59e3f7f8ffd5227e3a76221e89535d8e17faebf8 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/MapNamingStrategy.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/MapNamingStrategy.php
@@ -9,81 +9,11 @@
namespace Zend\Stdlib\Hydrator\NamingStrategy;
-use Zend\Stdlib\Exception\InvalidArgumentException;
+use Zend\Hydrator\NamingStrategy\MapNamingStrategy as BaseMapNamingStrategy;
-class MapNamingStrategy implements NamingStrategyInterface
+/**
+ * @deprecated Use Zend\Hydrator\NamingStrategy\MapNamingStrategy from zendframework/zend-hydrator instead.
+ */
+class MapNamingStrategy extends BaseMapNamingStrategy implements NamingStrategyInterface
{
- /**
- * Map for hydrate name conversion.
- *
- * @var array
- */
- protected $mapping = [];
-
- /**
- * Reversed map for extract name conversion.
- *
- * @var array
- */
- protected $reverse = [];
-
- /**
- * Initialize.
- *
- * @param array $mapping Map for name conversion on hydration
- * @param array $reverse Reverse map for name conversion on extraction
- */
- public function __construct(array $mapping, array $reverse = null)
- {
- $this->mapping = $mapping;
- $this->reverse = $reverse ?: $this->flipMapping($mapping);
- }
-
- /**
- * Safelly flip mapping array.
- *
- * @param array $array Array to flip
- * @return array Flipped array
- * @throws InvalidArgumentException
- */
- protected function flipMapping(array $array)
- {
- array_walk($array, function ($value) {
- if (!is_string($value) && !is_int($value)) {
- throw new InvalidArgumentException('Mapping array can\'t be flipped because of invalid value');
- }
- });
-
- return array_flip($array);
- }
-
- /**
- * Converts the given name so that it can be extracted by the hydrator.
- *
- * @param string $name The original name
- * @return mixed The hydrated name
- */
- public function hydrate($name)
- {
- if (array_key_exists($name, $this->mapping)) {
- return $this->mapping[$name];
- }
-
- return $name;
- }
-
- /**
- * Converts the given name so that it can be hydrated by the hydrator.
- *
- * @param string $name The original name
- * @return mixed The extracted name
- */
- public function extract($name)
- {
- if (array_key_exists($name, $this->reverse)) {
- return $this->reverse[$name];
- }
-
- return $name;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/NamingStrategyInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/NamingStrategyInterface.php
index ff99385c19f98dbdbe641a003e5f7b02be787d6a..4d82ee1d6c34c0e1999f414f1bc58a4b252f01db 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/NamingStrategyInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/NamingStrategyInterface.php
@@ -9,29 +9,13 @@
namespace Zend\Stdlib\Hydrator\NamingStrategy;
+use Zend\Hydrator\NamingStrategy\NamingStrategyInterface as BaseNamingStrategyInterface;
+
/**
* Allow property extraction / hydration for hydrator
*
- * Interface PropertyStrategyInterface
- * @package Zend\Stdlib\Hydrator\NamingStrategy
+ * @deprecated Use Zend\Hydrator\NamingStrategy\NamingStrategyInterface from zendframework/zend-hydrator instead.
*/
-interface NamingStrategyInterface
+interface NamingStrategyInterface extends BaseNamingStrategyInterface
{
- /**
- * Converts the given name so that it can be extracted by the hydrator.
- *
- * @param string $name The original name
- * @param object $object (optional) The original object for context.
- * @return mixed The hydrated name
- */
- public function hydrate($name);
-
- /**
- * Converts the given name so that it can be hydrated by the hydrator.
- *
- * @param string $name The original name
- * @param array $data (optional) The original data for context.
- * @return mixed The extracted name
- */
- public function extract($name);
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php
index 023b4eec76a6b89616acfe35554e6fe6b45af5fa..2b9d6efbc7f340ccc2621dc78a6cc72994af74da 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php
@@ -9,72 +9,11 @@
namespace Zend\Stdlib\Hydrator\NamingStrategy;
-use Zend\Filter\FilterChain;
+use Zend\Hydrator\NamingStrategy\UnderscoreNamingStrategy as BaseUnderscoreNamingStrategy;
-class UnderscoreNamingStrategy implements NamingStrategyInterface
+/**
+ * @deprecated Use Zend\Hydrator\NamingStrategy\UnderscoreNamingStrategy from zendframework/zend-hydrator instead.
+ */
+class UnderscoreNamingStrategy extends BaseUnderscoreNamingStrategy implements NamingStrategyInterface
{
- /**
- * @var FilterChain|null
- */
- protected static $camelCaseToUnderscoreFilter;
-
- /**
- * @var FilterChain|null
- */
- protected static $underscoreToStudlyCaseFilter;
-
- /**
- * Remove underscores and capitalize letters
- *
- * @param string $name
- * @return string
- */
- public function hydrate($name)
- {
- return $this->getUnderscoreToStudlyCaseFilter()->filter($name);
- }
-
- /**
- * Remove capitalized letters and prepend underscores.
- *
- * @param string $name
- * @return string
- */
- public function extract($name)
- {
- return $this->getCamelCaseToUnderscoreFilter()->filter($name);
- }
-
- /**
- * @return FilterChain
- */
- protected function getUnderscoreToStudlyCaseFilter()
- {
- if (static::$underscoreToStudlyCaseFilter instanceof FilterChain) {
- return static::$underscoreToStudlyCaseFilter;
- }
-
- $filter = new FilterChain();
-
- $filter->attachByName('WordUnderscoreToStudlyCase');
-
- return static::$underscoreToStudlyCaseFilter = $filter;
- }
-
- /**
- * @return FilterChain
- */
- protected function getCamelCaseToUnderscoreFilter()
- {
- if (static::$camelCaseToUnderscoreFilter instanceof FilterChain) {
- return static::$camelCaseToUnderscoreFilter;
- }
-
- $filter = new FilterChain();
-
- $filter->attachByName('WordCamelCaseToUnderscore');
- $filter->attachByName('StringToLower');
-
- return static::$camelCaseToUnderscoreFilter = $filter;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategyEnabledInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategyEnabledInterface.php
index f9c6288a760b0948d3f52d27df6239608adfcce7..8f8acabc5b16a90d1a1f3ff6764dd04e1ff8483e 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategyEnabledInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategyEnabledInterface.php
@@ -9,36 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-use Zend\Stdlib\Hydrator\NamingStrategy\NamingStrategyInterface;
+use Zend\Hydrator\NamingStrategyEnabledInterface as BaseNamingStrategyEnabledInterface;
-interface NamingStrategyEnabledInterface
+/**
+ * @deprecated Use Zend\Hydrator\NamingStrategy\NamingStrategyEnabledInterface from zendframework/zend-hydrator instead.
+ */
+interface NamingStrategyEnabledInterface extends BaseNamingStrategyEnabledInterface
{
- /**
- * Adds the given naming strategy
- *
- * @param NamingStrategyInterface $strategy The naming to register.
- * @return NamingStrategyEnabledInterface
- */
- public function setNamingStrategy(NamingStrategyInterface $strategy);
-
- /**
- * Gets the naming strategy.
- *
- * @return NamingStrategyInterface
- */
- public function getNamingStrategy();
-
- /**
- * Checks if a naming strategy exists.
- *
- * @return bool
- */
- public function hasNamingStrategy();
-
- /**
- * Removes the naming with the given name.
- *
- * @return NamingStrategyEnabledInterface
- */
- public function removeNamingStrategy();
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/ObjectProperty.php b/vendor/zendframework/zend-stdlib/src/Hydrator/ObjectProperty.php
index 8b886eb1ef3b9305aaaf32bdb46d8d39af71c4c4..c846fe5d52b041bdce670a1e4f7a12feead1ec52 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/ObjectProperty.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/ObjectProperty.php
@@ -9,102 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-use Zend\Stdlib\Exception;
-use ReflectionClass;
-use ReflectionProperty;
+use Zend\Hydrator\ObjectProperty as BaseObjectProperty;
-class ObjectProperty extends AbstractHydrator
+/**
+ * @deprecated Use Zend\Hydrator\ObjectProperty from zendframework/zend-hydrator instead.
+ */
+class ObjectProperty extends BaseObjectProperty implements HydratorInterface
{
- /**
- * @var array[] indexed by class name and then property name
- */
- private static $skippedPropertiesCache = [];
-
- /**
- * {@inheritDoc}
- *
- * Extracts the accessible non-static properties of the given $object.
- *
- * @throws Exception\BadMethodCallException for a non-object $object
- */
- public function extract($object)
- {
- if (!is_object($object)) {
- throw new Exception\BadMethodCallException(
- sprintf('%s expects the provided $object to be a PHP object)', __METHOD__)
- );
- }
-
- $data = get_object_vars($object);
- $filter = $this->getFilter();
-
- foreach ($data as $name => $value) {
- // Filter keys, removing any we don't want
- if (! $filter->filter($name)) {
- unset($data[$name]);
- continue;
- }
-
- // Replace name if extracted differ
- $extracted = $this->extractName($name, $object);
-
- if ($extracted !== $name) {
- unset($data[$name]);
- $name = $extracted;
- }
-
- $data[$name] = $this->extractValue($name, $value, $object);
- }
-
- return $data;
- }
-
- /**
- * {@inheritDoc}
- *
- * Hydrate an object by populating public properties
- *
- * Hydrates an object by setting public properties of the object.
- *
- * @throws Exception\BadMethodCallException for a non-object $object
- */
- public function hydrate(array $data, $object)
- {
- if (!is_object($object)) {
- throw new Exception\BadMethodCallException(
- sprintf('%s expects the provided $object to be a PHP object)', __METHOD__)
- );
- }
-
- $properties = & self::$skippedPropertiesCache[get_class($object)];
-
- if (! isset($properties)) {
- $reflection = new ReflectionClass($object);
- $properties = array_fill_keys(
- array_map(
- function (ReflectionProperty $property) {
- return $property->getName();
- },
- $reflection->getProperties(
- ReflectionProperty::IS_PRIVATE
- + ReflectionProperty::IS_PROTECTED
- + ReflectionProperty::IS_STATIC
- )
- ),
- true
- );
- }
-
- foreach ($data as $name => $value) {
- $property = $this->hydrateName($name, $data);
-
- if (isset($properties[$property])) {
- continue;
- }
-
- $object->$property = $this->hydrateValue($property, $value, $data);
- }
-
- return $object;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Reflection.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Reflection.php
index a963d1f60cc80074339b1e7ca1f168f95d4f8a63..22d8cdfde3d371c9ab9bd85c37ab3c4d569ab244 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Reflection.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Reflection.php
@@ -9,87 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-use ReflectionClass;
-use Zend\Stdlib\Exception;
+use Zend\Hydrator\Reflection as BaseReflection;
-class Reflection extends AbstractHydrator
+/**
+ * @deprecated Use Zend\Hydrator\Reflection from zendframework/zend-hydrator instead.
+ */
+class Reflection extends BaseReflection implements HydratorInterface
{
- /**
- * Simple in-memory array cache of ReflectionProperties used.
- * @var \ReflectionProperty[]
- */
- protected static $reflProperties = [];
-
- /**
- * Extract values from an object
- *
- * @param object $object
- * @return array
- */
- public function extract($object)
- {
- $result = [];
- foreach (self::getReflProperties($object) as $property) {
- $propertyName = $this->extractName($property->getName(), $object);
- if (!$this->filterComposite->filter($propertyName)) {
- continue;
- }
-
- $value = $property->getValue($object);
- $result[$propertyName] = $this->extractValue($propertyName, $value, $object);
- }
-
- return $result;
- }
-
- /**
- * Hydrate $object with the provided $data.
- *
- * @param array $data
- * @param object $object
- * @return object
- */
- public function hydrate(array $data, $object)
- {
- $reflProperties = self::getReflProperties($object);
- foreach ($data as $key => $value) {
- $name = $this->hydrateName($key, $data);
- if (isset($reflProperties[$name])) {
- $reflProperties[$name]->setValue($object, $this->hydrateValue($name, $value, $data));
- }
- }
- return $object;
- }
-
- /**
- * Get a reflection properties from in-memory cache and lazy-load if
- * class has not been loaded.
- *
- * @param string|object $input
- * @throws Exception\InvalidArgumentException
- * @return \ReflectionProperty[]
- */
- protected static function getReflProperties($input)
- {
- if (is_object($input)) {
- $input = get_class($input);
- } elseif (!is_string($input)) {
- throw new Exception\InvalidArgumentException('Input must be a string or an object.');
- }
-
- if (isset(static::$reflProperties[$input])) {
- return static::$reflProperties[$input];
- }
-
- static::$reflProperties[$input] = [];
- $reflClass = new ReflectionClass($input);
- $reflProperties = $reflClass->getProperties();
-
- foreach ($reflProperties as $property) {
- $property->setAccessible(true);
- static::$reflProperties[$input][$property->getName()] = $property;
- }
-
- return static::$reflProperties[$input];
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/BooleanStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/BooleanStrategy.php
index 3c29231f34c5c551ee84b61fd124bcd0ce3a19f1..d89f507114af6e59ae47f3f16b6cf167edf55921 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/BooleanStrategy.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/BooleanStrategy.php
@@ -9,98 +9,13 @@
namespace Zend\Stdlib\Hydrator\Strategy;
-use Zend\Stdlib\Exception\InvalidArgumentException;
+use Zend\Hydrator\Strategy\BooleanStrategy as BaseBooleanStrategy;
/**
* This Strategy extracts and hydrates int and string values to Boolean values
*
- * @package Zend\Stdlib\Hydrator\Strategy
+ * @deprecated Use Zend\Hydrator\Strategy\BooleanStrategy from zendframework/zend-hydrator instead.
*/
-final class BooleanStrategy implements StrategyInterface
+class BooleanStrategy extends BaseBooleanStrategy implements StrategyInterface
{
- /**
- * @var int|string
- */
- private $trueValue;
-
- /**
- * @var int|string
- */
- private $falseValue;
-
- /**
- * @param int|string $trueValue
- * @param int|string $falseValue
- * @throws InvalidArgumentException
- */
- public function __construct($trueValue, $falseValue)
- {
- if (!is_int($trueValue) && !is_string($trueValue)) {
- throw new InvalidArgumentException(sprintf(
- 'Unable to instantiate BooleanStrategy. Expected int or string as $trueValue. %s was given',
- is_object($trueValue) ? get_class($trueValue) : gettype($trueValue)
- ));
- }
-
- if (!is_int($falseValue) && !is_string($falseValue)) {
- throw new InvalidArgumentException(sprintf(
- 'Unable to instantiate BooleanStrategy. Expected int or string as $falseValue. %s was given',
- is_object($falseValue) ? get_class($falseValue) : gettype($falseValue)
- ));
- }
-
- $this->trueValue = $trueValue;
- $this->falseValue = $falseValue;
- }
-
- /**
- * Converts the given value so that it can be extracted by the hydrator.
- *
- * @param bool $value The original value.
- * @throws InvalidArgumentException
- * @return int|string Returns the value that should be extracted.
- */
- public function extract($value)
- {
- if (!is_bool($value)) {
- throw new InvalidArgumentException(sprintf(
- 'Unable to extract. Expected bool. %s was given.',
- is_object($value) ? get_class($value) : gettype($value)
- ));
- }
-
- return $value === true ? $this->trueValue : $this->falseValue;
- }
-
- /**
- * Converts the given value so that it can be hydrated by the hydrator.
- *
- * @param int|string $value The original value.
- * @throws InvalidArgumentException
- * @return bool Returns the value that should be hydrated.
- */
- public function hydrate($value)
- {
- if (!is_string($value) && !is_int($value)) {
- throw new InvalidArgumentException(sprintf(
- 'Unable to hydrate. Expected string or int. %s was given.',
- is_object($value) ? get_class($value) : gettype($value)
- ));
- }
-
- if ($value === $this->trueValue) {
- return true;
- }
-
- if ($value === $this->falseValue) {
- return false;
- }
-
- throw new InvalidArgumentException(sprintf(
- 'Unexpected value %s can\'t be hydrated. Expect %s or %s as Value.',
- $value,
- $this->trueValue,
- $this->falseValue
- ));
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ClosureStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ClosureStrategy.php
index bf456a7fc434991ba4ae49654cf05f8800de0da3..32572226f214c1c3b144a128994049dfd9e84ff2 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ClosureStrategy.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ClosureStrategy.php
@@ -9,94 +9,11 @@
namespace Zend\Stdlib\Hydrator\Strategy;
-class ClosureStrategy implements StrategyInterface
-{
- /**
- * Function, used in extract method, default:
- * function ($value) {
- * return $value;
- * };
- * @var callable
- */
- protected $extractFunc = null;
-
- /**
- * Function, used in hydrate method, default:
- * function ($value) {
- * return $value;
- * };
- * @var callable
- */
- protected $hydrateFunc = null;
-
- /**
- * You can describe how your values will extract and hydrate, like this:
- * $hydrator->addStrategy('category', new ClosureStrategy(
- * function (Category $value) {
- * return (int) $value->id;
- * },
- * function ($value) {
- * return new Category((int) $value);
- * }
- * ));
- *
- * @param callable $extractFunc - anonymous function, that extract values
- * from object
- * @param callable $hydrateFunc - anonymous function, that hydrate values
- * into object
- */
- public function __construct($extractFunc = null, $hydrateFunc = null)
- {
- if (isset($extractFunc)) {
- if (!is_callable($extractFunc)) {
- throw new \Exception('$extractFunc must be callable');
- }
-
- $this->extractFunc = $extractFunc;
- } else {
- $this->extractFunc = function ($value) {
- return $value;
- };
- }
-
- if (isset($hydrateFunc)) {
- if (!is_callable($hydrateFunc)) {
- throw new \Exception('$hydrateFunc must be callable');
- }
-
- $this->hydrateFunc = $hydrateFunc;
- } else {
- $this->hydrateFunc = function ($value) {
- return $value;
- };
- }
- }
+use Zend\Hydrator\Strategy\ClosureStrategy as BaseClosureStrategy;
- /**
- * Converts the given value so that it can be extracted by the hydrator.
- *
- * @param mixed $value The original value.
- * @param array $object The object is optionally provided as context.
- * @return mixed Returns the value that should be extracted.
- */
- public function extract($value, $object = null)
- {
- $func = $this->extractFunc;
-
- return $func($value, $object);
- }
-
- /**
- * Converts the given value so that it can be hydrated by the hydrator.
- *
- * @param mixed $value The original value.
- * @param array $data The whole data is optionally provided as context.
- * @return mixed Returns the value that should be hydrated.
- */
- public function hydrate($value, $data = null)
- {
- $func = $this->hydrateFunc;
-
- return $func($value, $data);
- }
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\ClosureStrategy from zendframework/zend-hydrator instead.
+ */
+class ClosureStrategy extends BaseClosureStrategy implements StrategyInterface
+{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DateTimeFormatterStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DateTimeFormatterStrategy.php
index 62d92c588bc4d042e4e010152ef0485b53efb137..8e633f322fb704937d26bdecccfae38eb23d0cbd 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DateTimeFormatterStrategy.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DateTimeFormatterStrategy.php
@@ -9,72 +9,11 @@
namespace Zend\Stdlib\Hydrator\Strategy;
-use DateTime;
-use DateTimeZone;
+use Zend\Hydrator\Strategy\DateTimeFormatterStrategy as BaseDateTimeFormatterStrategy;
-final class DateTimeFormatterStrategy implements StrategyInterface
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\DateTimeFormatterStrategy from zendframework/zend-hydrator instead.
+ */
+class DateTimeFormatterStrategy extends BaseDateTimeFormatterStrategy implements StrategyInterface
{
- /**
- * @var string
- */
- private $format;
-
- /**
- * @var DateTimeZone|null
- */
- private $timezone;
-
- /**
- * Constructor
- *
- * @param string $format
- * @param DateTimeZone|null $timezone
- */
- public function __construct($format = DateTime::RFC3339, DateTimeZone $timezone = null)
- {
- $this->format = (string) $format;
- $this->timezone = $timezone;
- }
-
- /**
- * {@inheritDoc}
- *
- * Converts to date time string
- *
- * @param mixed|DateTime $value
- *
- * @return mixed|string
- */
- public function extract($value)
- {
- if ($value instanceof DateTime) {
- return $value->format($this->format);
- }
-
- return $value;
- }
-
- /**
- * Converts date time string to DateTime instance for injecting to object
- *
- * {@inheritDoc}
- *
- * @param mixed|string $value
- *
- * @return mixed|DateTime
- */
- public function hydrate($value)
- {
- if ($value === '' || $value === null) {
- return;
- }
-
- if ($this->timezone) {
- $hydrated = DateTime::createFromFormat($this->format, $value, $this->timezone);
- } else {
- $hydrated = DateTime::createFromFormat($this->format, $value);
- }
-
- return $hydrated ?: $value;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DefaultStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DefaultStrategy.php
index b2c5c29b433a319a11e27f0b92f9fe0fe72a02ba..155c82f0ffdbbf190c89b24db3920f6e9bc57090 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DefaultStrategy.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DefaultStrategy.php
@@ -9,27 +9,11 @@
namespace Zend\Stdlib\Hydrator\Strategy;
-class DefaultStrategy implements StrategyInterface
-{
- /**
- * Converts the given value so that it can be extracted by the hydrator.
- *
- * @param mixed $value The original value.
- * @return mixed Returns the value that should be extracted.
- */
- public function extract($value)
- {
- return $value;
- }
+use Zend\Hydrator\Strategy\DefaultStrategy as BaseDefaultStrategy;
- /**
- * Converts the given value so that it can be hydrated by the hydrator.
- *
- * @param mixed $value The original value.
- * @return mixed Returns the value that should be hydrated.
- */
- public function hydrate($value)
- {
- return $value;
- }
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\DefaultStrategy from zendframework/zend-hydrator instead.
+ */
+class DefaultStrategy extends BaseDefaultStrategy implements StrategyInterface
+{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/ExceptionInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/ExceptionInterface.php
index c7b576ce3c0324a87729597ba2c3b099d548ba5c..16a921be1a32e9d07c253b446b48d38dcf9aaee3 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/ExceptionInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/ExceptionInterface.php
@@ -9,6 +9,11 @@
namespace Zend\Stdlib\Hydrator\Strategy\Exception;
-interface ExceptionInterface
+use Zend\Hydrator\Strategy\Exception;
+
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\Exception\ExceptionInterface from zendframework/zend-hydrator instead.
+ */
+interface ExceptionInterface extends Exception\ExceptionInterface
{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/InvalidArgumentException.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/InvalidArgumentException.php
index 2e6510df45e0bfe39c0c53c9a9ca863caff894f4..10f69a244a0cdc8fc4a8d2a4d12aec4e2b5e0bf6 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/InvalidArgumentException.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/InvalidArgumentException.php
@@ -9,6 +9,11 @@
namespace Zend\Stdlib\Hydrator\Strategy\Exception;
-class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
+use Zend\Hydrator\Strategy\Exception\InvalidArgumentException as BaseInvalidArgumentException;
+
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\Exception\InvalidArgumentException from zendframework/zend-hydrator instead.
+ */
+class InvalidArgumentException extends BaseInvalidArgumentException implements ExceptionInterface
{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ExplodeStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ExplodeStrategy.php
index 97c790b0cac19264412e6ee32c401fc650b91a8a..ca7e5851c22ca38799d637413198a501d3c58d52 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ExplodeStrategy.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ExplodeStrategy.php
@@ -9,105 +9,11 @@
namespace Zend\Stdlib\Hydrator\Strategy;
-final class ExplodeStrategy implements StrategyInterface
-{
- /**
- * @var string
- */
- private $valueDelimiter;
-
- /**
- * @var int|null
- */
- private $explodeLimit;
-
- /**
- * Constructor
- *
- * @param string $delimiter String that the values will be split upon
- * @param int|null $explodeLimit Explode limit
- */
- public function __construct($delimiter = ',', $explodeLimit = null)
- {
- $this->setValueDelimiter($delimiter);
-
- $this->explodeLimit = ($explodeLimit === null) ? null : (int) $explodeLimit;
- }
-
- /**
- * Sets the delimiter string that the values will be split upon
- *
- * @param string $delimiter
- * @return self
- */
- private function setValueDelimiter($delimiter)
- {
- if (!is_string($delimiter)) {
- throw new Exception\InvalidArgumentException(sprintf(
- '%s expects Delimiter to be string, %s provided instead',
- __METHOD__,
- is_object($delimiter) ? get_class($delimiter) : gettype($delimiter)
- ));
- }
-
- if (empty($delimiter)) {
- throw new Exception\InvalidArgumentException('Delimiter cannot be empty.');
- }
-
- $this->valueDelimiter = $delimiter;
- }
-
- /**
- * {@inheritDoc}
- *
- * Split a string by delimiter
- *
- * @param string|null $value
- *
- * @return string[]
- *
- * @throws Exception\InvalidArgumentException
- */
- public function hydrate($value)
- {
- if (null === $value) {
- return [];
- }
+use Zend\Hydrator\Strategy\ExplodeStrategy as BaseExplodeStrategy;
- if (!(is_string($value) || is_numeric($value))) {
- throw new Exception\InvalidArgumentException(sprintf(
- '%s expects argument 1 to be string, %s provided instead',
- __METHOD__,
- is_object($value) ? get_class($value) : gettype($value)
- ));
- }
-
- if ($this->explodeLimit !== null) {
- return explode($this->valueDelimiter, $value, $this->explodeLimit);
- }
-
- return explode($this->valueDelimiter, $value);
- }
-
- /**
- * {@inheritDoc}
- *
- * Join array elements with delimiter
- *
- * @param string[] $value The original value.
- *
- * @return string|null
- */
- public function extract($value)
- {
- if (!is_array($value)) {
- throw new Exception\InvalidArgumentException(sprintf(
- '%s expects argument 1 to be array, %s provided instead',
- __METHOD__,
- is_object($value) ? get_class($value) : gettype($value)
- ));
- }
-
- return empty($value) ? null : implode($this->valueDelimiter, $value);
- }
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\ExplodeStrategy from zendframework/zend-hydrator instead.
+ */
+class ExplodeStrategy extends BaseExplodeStrategy implements StrategyInterface
+{
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/SerializableStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/SerializableStrategy.php
index 51549ddad80099787ac1fb1e6a02c1d38ea6919d..04527923131e9fc456592ab02497fcb9bcfd6491 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/SerializableStrategy.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/SerializableStrategy.php
@@ -9,115 +9,11 @@
namespace Zend\Stdlib\Hydrator\Strategy;
-use Zend\Stdlib\Exception\InvalidArgumentException;
-use Zend\Serializer\Adapter\AdapterInterface as SerializerAdapter;
-use Zend\Serializer\Serializer as SerializerFactory;
+use Zend\Hydrator\Strategy\SerializableStrategy as BaseSerializableStrategy;
-class SerializableStrategy implements StrategyInterface
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\SerializableStrategy from zendframework/zend-hydrator instead.
+ */
+class SerializableStrategy extends BaseSerializableStrategy implements StrategyInterface
{
- /**
- * @var string|SerializerAdapter
- */
- protected $serializer;
-
- /**
- * @var array
- */
- protected $serializerOptions = [];
-
- /**
- *
- * @param mixed $serializer string or SerializerAdapter
- * @param mixed $serializerOptions
- */
- public function __construct($serializer, $serializerOptions = null)
- {
- $this->setSerializer($serializer);
- if ($serializerOptions) {
- $this->setSerializerOptions($serializerOptions);
- }
- }
-
- /**
- * Serialize the given value so that it can be extracted by the hydrator.
- *
- * @param mixed $value The original value.
- * @return mixed Returns the value that should be extracted.
- */
- public function extract($value)
- {
- $serializer = $this->getSerializer();
- return $serializer->serialize($value);
- }
-
- /**
- * Unserialize the given value so that it can be hydrated by the hydrator.
- *
- * @param mixed $value The original value.
- * @return mixed Returns the value that should be hydrated.
- */
- public function hydrate($value)
- {
- $serializer = $this->getSerializer();
- return $serializer->unserialize($value);
- }
-
- /**
- * Set serializer
- *
- * @param string|SerializerAdapter $serializer
- * @return SerializableStrategy
- */
- public function setSerializer($serializer)
- {
- if (!is_string($serializer) && !$serializer instanceof SerializerAdapter) {
- throw new InvalidArgumentException(sprintf(
- '%s expects either a string serializer name or Zend\Serializer\Adapter\AdapterInterface instance; '
- . 'received "%s"',
- __METHOD__,
- (is_object($serializer) ? get_class($serializer) : gettype($serializer))
- ));
- }
- $this->serializer = $serializer;
- return $this;
- }
-
- /**
- * Get serializer
- *
- * @return SerializerAdapter
- */
- public function getSerializer()
- {
- if (is_string($this->serializer)) {
- $options = $this->getSerializerOptions();
- $this->setSerializer(SerializerFactory::factory($this->serializer, $options));
- } elseif (null === $this->serializer) {
- $this->setSerializer(SerializerFactory::getDefaultAdapter());
- }
-
- return $this->serializer;
- }
-
- /**
- * Set configuration options for instantiating a serializer adapter
- *
- * @param mixed $serializerOptions
- * @return SerializableStrategy
- */
- public function setSerializerOptions($serializerOptions)
- {
- $this->serializerOptions = $serializerOptions;
- return $this;
- }
-
- /**
- * Get configuration options for instantiating a serializer adapter
- *
- * @return mixed
- */
- public function getSerializerOptions()
- {
- return $this->serializerOptions;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyChain.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyChain.php
index a9316bbd7c0c1581881a97f6a09b94c543de0ac9..33d2bc13e8d5b55f11a3b5fd4704c51d937f5f1f 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyChain.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyChain.php
@@ -9,65 +9,11 @@
namespace Zend\Stdlib\Hydrator\Strategy;
-use Traversable;
-use Zend\Stdlib\ArrayUtils;
+use Zend\Hydrator\Strategy\StrategyChain as BaseStrategyChain;
-final class StrategyChain implements StrategyInterface
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\StrategyChain from zendframework/zend-hydrator instead.
+ */
+class StrategyChain extends BaseStrategyChain implements StrategyInterface
{
- /**
- * Strategy chain for extraction
- *
- * @var StrategyInterface[]
- */
- private $extractionStrategies;
-
- /**
- * Strategy chain for hydration
- *
- * @var StrategyInterface[]
- */
- private $hydrationStrategies;
-
- /**
- * Constructor
- *
- * @param array|Traversable $extractionStrategies
- */
- public function __construct($extractionStrategies)
- {
- $extractionStrategies = ArrayUtils::iteratorToArray($extractionStrategies);
- $this->extractionStrategies = array_map(
- function (StrategyInterface $strategy) {
- // this callback is here only to ensure type-safety
- return $strategy;
- },
- $extractionStrategies
- );
-
- $this->hydrationStrategies = array_reverse($extractionStrategies);
- }
-
- /**
- * {@inheritDoc}
- */
- public function extract($value)
- {
- foreach ($this->extractionStrategies as $strategy) {
- $value = $strategy->extract($value);
- }
-
- return $value;
- }
-
- /**
- * {@inheritDoc}
- */
- public function hydrate($value)
- {
- foreach ($this->hydrationStrategies as $strategy) {
- $value = $strategy->hydrate($value);
- }
-
- return $value;
- }
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyInterface.php
index 562ec4bd6c12ef761eb3d7e6d5088b0c177dbf0e..a1eb8e906dbba8ada51a0d70326ab15fb4c2316f 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyInterface.php
@@ -9,26 +9,11 @@
namespace Zend\Stdlib\Hydrator\Strategy;
+use Zend\Hydrator\Strategy\StrategyInterface as BaseStrategyInterface;
+
/**
- * @todo v3.0, add optional object/data to extract/hydrate.
+ * @deprecated Use Zend\Hydrator\Strategy\StrategyInterface from zendframework/zend-hydrator instead.
*/
-interface StrategyInterface
+interface StrategyInterface extends BaseStrategyInterface
{
- /**
- * Converts the given value so that it can be extracted by the hydrator.
- *
- * @param mixed $value The original value.
- * @param object $object (optional) The original object for context.
- * @return mixed Returns the value that should be extracted.
- */
- public function extract($value);
-
- /**
- * Converts the given value so that it can be hydrated by the hydrator.
- *
- * @param mixed $value The original value.
- * @param array $data (optional) The original data for context.
- * @return mixed Returns the value that should be hydrated.
- */
- public function hydrate($value);
}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/StrategyEnabledInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/StrategyEnabledInterface.php
index 6f29b16a6dda73f76481b4dee5b20f7f11f7cace..9c058a7120aa1015a9743ae2c01ad831f9ced424 100644
--- a/vendor/zendframework/zend-stdlib/src/Hydrator/StrategyEnabledInterface.php
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/StrategyEnabledInterface.php
@@ -9,40 +9,11 @@
namespace Zend\Stdlib\Hydrator;
-use Zend\Stdlib\Hydrator\Strategy\StrategyInterface;
+use Zend\Hydrator\StrategyEnabledInterface as BaseStrategyEnabledInterface;
-interface StrategyEnabledInterface
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\StrategyEnabledInterface from zendframework/zend-hydrator instead.
+ */
+interface StrategyEnabledInterface extends BaseStrategyEnabledInterface
{
- /**
- * Adds the given strategy under the given name.
- *
- * @param string $name The name of the strategy to register.
- * @param StrategyInterface $strategy The strategy to register.
- * @return StrategyEnabledInterface
- */
- public function addStrategy($name, StrategyInterface $strategy);
-
- /**
- * Gets the strategy with the given name.
- *
- * @param string $name The name of the strategy to get.
- * @return StrategyInterface
- */
- public function getStrategy($name);
-
- /**
- * Checks if the strategy with the given name exists.
- *
- * @param string $name The name of the strategy to check for.
- * @return bool
- */
- public function hasStrategy($name);
-
- /**
- * Removes the strategy with the given name.
- *
- * @param string $name The name of the strategy to remove.
- * @return StrategyEnabledInterface
- */
- public function removeStrategy($name);
}