PK LMS" psalm.xml.distnu ٘
PK LMSK8%
LICENSE.mdnu ٘ Copyright (c) 2020 Laminas Project a Series of LF Projects, LLC.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
- Neither the name of Laminas Foundation nor the names of its contributors may
be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PK LMSF[ [ COPYRIGHT.mdnu ٘ Copyright (c) 2020 Laminas Project a Series of LF Projects, LLC. (https://getlaminas.org/)
PK LMS=H H .laminas-ci.jsonnu ٘ {
"ignore_php_platform_requirements": {
"8.1": true
}
}
PK LMSx= = .coveralls.ymlnu ٘ coverage_clover: clover.xml
json_path: coveralls-upload.json
PK LMSg) )
composer.locknu ٘ {
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "09b3d00b4aa9eaff2d2c39fc03a3e457",
"packages": [
{
"name": "laminas/laminas-eventmanager",
"version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-eventmanager.git",
"reference": "a93fd278c97b2d41ebbce5ba048a24e3e6f580ba"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/a93fd278c97b2d41ebbce5ba048a24e3e6f580ba",
"reference": "a93fd278c97b2d41ebbce5ba048a24e3e6f580ba",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"conflict": {
"zendframework/zend-eventmanager": "*"
},
"require-dev": {
"container-interop/container-interop": "^1.1",
"laminas/laminas-coding-standard": "~2.2.1",
"laminas/laminas-stdlib": "^3.6",
"phpbench/phpbench": "^1.1",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.5.5"
},
"suggest": {
"container-interop/container-interop": "^1.1, to use the lazy listeners feature",
"laminas/laminas-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\EventManager\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Trigger and listen to events within a PHP application",
"homepage": "https://laminas.dev",
"keywords": [
"event",
"eventmanager",
"events",
"laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-eventmanager/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-eventmanager/issues",
"rss": "https://github.com/laminas/laminas-eventmanager/releases.atom",
"source": "https://github.com/laminas/laminas-eventmanager"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-09-07T22:35:32+00:00"
},
{
"name": "laminas/laminas-json",
"version": "3.3.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-json.git",
"reference": "9a0ce9f330b7d11e70c4acb44d67e8c4f03f437f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-json/zipball/9a0ce9f330b7d11e70c4acb44d67e8c4f03f437f",
"reference": "9a0ce9f330b7d11e70c4acb44d67e8c4f03f437f",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"conflict": {
"zendframework/zend-json": "*"
},
"require-dev": {
"laminas/laminas-coding-standard": "~2.2.1",
"laminas/laminas-stdlib": "^2.7.7 || ^3.1",
"phpunit/phpunit": "^9.3"
},
"suggest": {
"laminas/laminas-json-server": "For implementing JSON-RPC servers",
"laminas/laminas-xml2json": "For converting XML documents to JSON"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Json\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP",
"homepage": "https://laminas.dev",
"keywords": [
"json",
"laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-json/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-json/issues",
"rss": "https://github.com/laminas/laminas-json/releases.atom",
"source": "https://github.com/laminas/laminas-json"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-09-02T18:02:31+00:00"
},
{
"name": "laminas/laminas-stdlib",
"version": "3.6.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-stdlib.git",
"reference": "c53d8537f108fac3fae652677a19735db730ba46"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/c53d8537f108fac3fae652677a19735db730ba46",
"reference": "c53d8537f108fac3fae652677a19735db730ba46",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"conflict": {
"zendframework/zend-stdlib": "*"
},
"require-dev": {
"laminas/laminas-coding-standard": "~2.3.0",
"phpbench/phpbench": "^0.17.1",
"phpunit/phpunit": "~9.3.7",
"psalm/plugin-phpunit": "^0.16.0",
"vimeo/psalm": "^4.7"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Stdlib\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "SPL extensions, array utilities, error handlers, and more",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
"stdlib"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-stdlib/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-stdlib/issues",
"rss": "https://github.com/laminas/laminas-stdlib/releases.atom",
"source": "https://github.com/laminas/laminas-stdlib"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-09-02T16:11:32+00:00"
}
],
"packages-dev": [
{
"name": "amphp/amp",
"version": "v2.6.1",
"source": {
"type": "git",
"url": "https://github.com/amphp/amp.git",
"reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/amp/zipball/c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae",
"reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"require-dev": {
"amphp/php-cs-fixer-config": "dev-master",
"amphp/phpunit-util": "^1",
"ext-json": "*",
"jetbrains/phpstorm-stubs": "^2019.3",
"phpunit/phpunit": "^7 | ^8 | ^9",
"psalm/phar": "^3.11@dev",
"react/promise": "^2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.x-dev"
}
},
"autoload": {
"psr-4": {
"Amp\\": "lib"
},
"files": [
"lib/functions.php",
"lib/Internal/functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Daniel Lowrey",
"email": "rdlowrey@php.net"
},
{
"name": "Aaron Piotrowski",
"email": "aaron@trowski.com"
},
{
"name": "Bob Weinand",
"email": "bobwei9@hotmail.com"
},
{
"name": "Niklas Keller",
"email": "me@kelunik.com"
}
],
"description": "A non-blocking concurrency framework for PHP applications.",
"homepage": "http://amphp.org/amp",
"keywords": [
"async",
"asynchronous",
"awaitable",
"concurrency",
"event",
"event-loop",
"future",
"non-blocking",
"promise"
],
"support": {
"irc": "irc://irc.freenode.org/amphp",
"issues": "https://github.com/amphp/amp/issues",
"source": "https://github.com/amphp/amp/tree/v2.6.1"
},
"funding": [
{
"url": "https://github.com/amphp",
"type": "github"
}
],
"time": "2021-09-23T18:43:08+00:00"
},
{
"name": "amphp/byte-stream",
"version": "v1.8.1",
"source": {
"type": "git",
"url": "https://github.com/amphp/byte-stream.git",
"reference": "acbd8002b3536485c997c4e019206b3f10ca15bd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd",
"reference": "acbd8002b3536485c997c4e019206b3f10ca15bd",
"shasum": ""
},
"require": {
"amphp/amp": "^2",
"php": ">=7.1"
},
"require-dev": {
"amphp/php-cs-fixer-config": "dev-master",
"amphp/phpunit-util": "^1.4",
"friendsofphp/php-cs-fixer": "^2.3",
"jetbrains/phpstorm-stubs": "^2019.3",
"phpunit/phpunit": "^6 || ^7 || ^8",
"psalm/phar": "^3.11.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Amp\\ByteStream\\": "lib"
},
"files": [
"lib/functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Aaron Piotrowski",
"email": "aaron@trowski.com"
},
{
"name": "Niklas Keller",
"email": "me@kelunik.com"
}
],
"description": "A stream abstraction to make working with non-blocking I/O simple.",
"homepage": "http://amphp.org/byte-stream",
"keywords": [
"amp",
"amphp",
"async",
"io",
"non-blocking",
"stream"
],
"support": {
"irc": "irc://irc.freenode.org/amphp",
"issues": "https://github.com/amphp/byte-stream/issues",
"source": "https://github.com/amphp/byte-stream/tree/v1.8.1"
},
"funding": [
{
"url": "https://github.com/amphp",
"type": "github"
}
],
"time": "2021-03-30T17:13:30+00:00"
},
{
"name": "brick/varexporter",
"version": "0.3.5",
"source": {
"type": "git",
"url": "https://github.com/brick/varexporter.git",
"reference": "05241f28dfcba2b51b11e2d750e296316ebbe518"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/brick/varexporter/zipball/05241f28dfcba2b51b11e2d750e296316ebbe518",
"reference": "05241f28dfcba2b51b11e2d750e296316ebbe518",
"shasum": ""
},
"require": {
"nikic/php-parser": "^4.0",
"php": "^7.2 || ^8.0"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.2",
"phpunit/phpunit": "^8.5 || ^9.0",
"vimeo/psalm": "4.4.1"
},
"type": "library",
"autoload": {
"psr-4": {
"Brick\\VarExporter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "A powerful alternative to var_export(), which can export closures and objects without __set_state()",
"keywords": [
"var_export"
],
"support": {
"issues": "https://github.com/brick/varexporter/issues",
"source": "https://github.com/brick/varexporter/tree/0.3.5"
},
"time": "2021-02-10T13:53:07+00:00"
},
{
"name": "composer/package-versions-deprecated",
"version": "1.11.99.4",
"source": {
"type": "git",
"url": "https://github.com/composer/package-versions-deprecated.git",
"reference": "b174585d1fe49ceed21928a945138948cb394600"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b174585d1fe49ceed21928a945138948cb394600",
"reference": "b174585d1fe49ceed21928a945138948cb394600",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.1.0 || ^2.0",
"php": "^7 || ^8"
},
"replace": {
"ocramius/package-versions": "1.11.99"
},
"require-dev": {
"composer/composer": "^1.9.3 || ^2.0@dev",
"ext-zip": "^1.13",
"phpunit/phpunit": "^6.5 || ^7"
},
"type": "composer-plugin",
"extra": {
"class": "PackageVersions\\Installer",
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be"
}
],
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"support": {
"issues": "https://github.com/composer/package-versions-deprecated/issues",
"source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.4"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2021-09-13T08:41:34+00:00"
},
{
"name": "composer/semver",
"version": "3.2.5",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9",
"reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
"phpstan/phpstan": "^0.12.54",
"symfony/phpunit-bridge": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.x-dev"
}
},
"autoload": {
"psr-4": {
"Composer\\Semver\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nils Adermann",
"email": "naderman@naderman.de",
"homepage": "http://www.naderman.de"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be",
"homepage": "http://seld.be"
},
{
"name": "Rob Bast",
"email": "rob.bast@gmail.com",
"homepage": "http://robbast.nl"
}
],
"description": "Semver library that offers utilities, version constraint parsing and validation.",
"keywords": [
"semantic",
"semver",
"validation",
"versioning"
],
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/semver/issues",
"source": "https://github.com/composer/semver/tree/3.2.5"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2021-05-24T12:41:47+00:00"
},
{
"name": "composer/xdebug-handler",
"version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/composer/xdebug-handler.git",
"reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/xdebug-handler/zipball/84674dd3a7575ba617f5a76d7e9e29a7d3891339",
"reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0",
"psr/log": "^1 || ^2 || ^3"
},
"require-dev": {
"phpstan/phpstan": "^0.12.55",
"symfony/phpunit-bridge": "^4.2 || ^5"
},
"type": "library",
"autoload": {
"psr-4": {
"Composer\\XdebugHandler\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "John Stevenson",
"email": "john-stevenson@blueyonder.co.uk"
}
],
"description": "Restarts a process without Xdebug.",
"keywords": [
"Xdebug",
"performance"
],
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/xdebug-handler/issues",
"source": "https://github.com/composer/xdebug-handler/tree/2.0.2"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2021-07-31T17:03:58+00:00"
},
{
"name": "container-interop/container-interop",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/container-interop/container-interop.git",
"reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8",
"reference": "79cbf1341c22ec75643d841642dd5d6acd83bdb8",
"shasum": ""
},
"require": {
"psr/container": "^1.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Interop\\Container\\": "src/Interop/Container/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
"homepage": "https://github.com/container-interop/container-interop",
"support": {
"issues": "https://github.com/container-interop/container-interop/issues",
"source": "https://github.com/container-interop/container-interop/tree/master"
},
"abandoned": "psr/container",
"time": "2017-02-14T19:40:03+00:00"
},
{
"name": "dnoegel/php-xdg-base-dir",
"version": "v0.1.1",
"source": {
"type": "git",
"url": "https://github.com/dnoegel/php-xdg-base-dir.git",
"reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
"reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35"
},
"type": "library",
"autoload": {
"psr-4": {
"XdgBaseDir\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "implementation of xdg base directory specification for php",
"support": {
"issues": "https://github.com/dnoegel/php-xdg-base-dir/issues",
"source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1"
},
"time": "2019-12-04T15:06:13+00:00"
},
{
"name": "doctrine/instantiator",
"version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
"reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
"reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
"doctrine/coding-standard": "^8.0",
"ext-pdo": "*",
"ext-phar": "*",
"phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
"phpstan/phpstan": "^0.12",
"phpstan/phpstan-phpunit": "^0.12",
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com",
"homepage": "https://ocramius.github.io/"
}
],
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
"homepage": "https://www.doctrine-project.org/projects/instantiator.html",
"keywords": [
"constructor",
"instantiate"
],
"support": {
"issues": "https://github.com/doctrine/instantiator/issues",
"source": "https://github.com/doctrine/instantiator/tree/1.4.0"
},
"funding": [
{
"url": "https://www.doctrine-project.org/sponsorship.html",
"type": "custom"
},
{
"url": "https://www.patreon.com/phpdoctrine",
"type": "patreon"
},
{
"url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
"type": "tidelift"
}
],
"time": "2020-11-10T18:47:58+00:00"
},
{
"name": "felixfbecker/advanced-json-rpc",
"version": "v3.2.1",
"source": {
"type": "git",
"url": "https://github.com/felixfbecker/php-advanced-json-rpc.git",
"reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447",
"reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447",
"shasum": ""
},
"require": {
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
"php": "^7.1 || ^8.0",
"phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
},
"require-dev": {
"phpunit/phpunit": "^7.0 || ^8.0"
},
"type": "library",
"autoload": {
"psr-4": {
"AdvancedJsonRpc\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"ISC"
],
"authors": [
{
"name": "Felix Becker",
"email": "felix.b@outlook.com"
}
],
"description": "A more advanced JSONRPC implementation",
"support": {
"issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues",
"source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1"
},
"time": "2021-06-11T22:34:44+00:00"
},
{
"name": "felixfbecker/language-server-protocol",
"version": "1.5.1",
"source": {
"type": "git",
"url": "https://github.com/felixfbecker/php-language-server-protocol.git",
"reference": "9d846d1f5cf101deee7a61c8ba7caa0a975cd730"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/9d846d1f5cf101deee7a61c8ba7caa0a975cd730",
"reference": "9d846d1f5cf101deee7a61c8ba7caa0a975cd730",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"require-dev": {
"phpstan/phpstan": "*",
"squizlabs/php_codesniffer": "^3.1",
"vimeo/psalm": "^4.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"LanguageServerProtocol\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"ISC"
],
"authors": [
{
"name": "Felix Becker",
"email": "felix.b@outlook.com"
}
],
"description": "PHP classes for the Language Server Protocol",
"keywords": [
"language",
"microsoft",
"php",
"server"
],
"support": {
"issues": "https://github.com/felixfbecker/php-language-server-protocol/issues",
"source": "https://github.com/felixfbecker/php-language-server-protocol/tree/1.5.1"
},
"time": "2021-02-22T14:02:09+00:00"
},
{
"name": "laminas/laminas-authentication",
"version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-authentication.git",
"reference": "0b77d353a3a039d65c15318c98dd055d62f010b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-authentication/zipball/0b77d353a3a039d65c15318c98dd055d62f010b6",
"reference": "0b77d353a3a039d65c15318c98dd055d62f010b6",
"shasum": ""
},
"require": {
"laminas/laminas-stdlib": "^3.2.1",
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^7.3 || ~8.0.0"
},
"replace": {
"zendframework/zend-authentication": "^2.7.0"
},
"require-dev": {
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-crypt": "^2.6 || ^3.2.1",
"laminas/laminas-db": "^2.8.2",
"laminas/laminas-http": "^2.7",
"laminas/laminas-ldap": "^2.8",
"laminas/laminas-session": "^2.8",
"laminas/laminas-uri": "^2.5.2",
"laminas/laminas-validator": "^2.10.1",
"phpunit/phpunit": "^9.3",
"psalm/plugin-phpunit": "^0.15.1",
"vimeo/psalm": "^4.6"
},
"suggest": {
"laminas/laminas-crypt": "Laminas\\Crypt component",
"laminas/laminas-db": "Laminas\\Db component",
"laminas/laminas-http": "Laminas\\Http component",
"laminas/laminas-ldap": "Laminas\\Ldap component",
"laminas/laminas-session": "Laminas\\Session component",
"laminas/laminas-uri": "Laminas\\Uri component",
"laminas/laminas-validator": "Laminas\\Validator component"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Authentication\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "provides an API for authentication and includes concrete authentication adapters for common use case scenarios",
"homepage": "https://laminas.dev",
"keywords": [
"Authentication",
"laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-authentication/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-authentication/issues",
"rss": "https://github.com/laminas/laminas-authentication/releases.atom",
"source": "https://github.com/laminas/laminas-authentication"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-03-17T13:48:31+00:00"
},
{
"name": "laminas/laminas-cache",
"version": "2.13.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache.git",
"reference": "566948e32f30881cb903ffbd0e3e20dac00cd83e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache/zipball/566948e32f30881cb903ffbd0e3e20dac00cd83e",
"reference": "566948e32f30881cb903ffbd0e3e20dac00cd83e",
"shasum": ""
},
"require": {
"laminas/laminas-cache-storage-adapter-apc": "^1.0",
"laminas/laminas-cache-storage-adapter-apcu": "^1.0",
"laminas/laminas-cache-storage-adapter-blackhole": "^1.0",
"laminas/laminas-cache-storage-adapter-dba": "^1.0",
"laminas/laminas-cache-storage-adapter-ext-mongodb": "^1.0",
"laminas/laminas-cache-storage-adapter-filesystem": "^1.0",
"laminas/laminas-cache-storage-adapter-memcache": "^1.0",
"laminas/laminas-cache-storage-adapter-memcached": "^1.0",
"laminas/laminas-cache-storage-adapter-memory": "^1.0",
"laminas/laminas-cache-storage-adapter-mongodb": "^1.0",
"laminas/laminas-cache-storage-adapter-redis": "^1.0",
"laminas/laminas-cache-storage-adapter-session": "^1.0",
"laminas/laminas-cache-storage-adapter-wincache": "^1.0",
"laminas/laminas-cache-storage-adapter-xcache": "^1.0",
"laminas/laminas-cache-storage-adapter-zend-server": "^1.0",
"laminas/laminas-eventmanager": "^3.3",
"laminas/laminas-servicemanager": "^3.6",
"laminas/laminas-stdlib": "^3.3",
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^7.3 || ~8.0.0",
"psr/cache": "^1.0",
"psr/simple-cache": "^1.0"
},
"conflict": {
"symfony/console": "<5.1"
},
"provide": {
"psr/cache-implementation": "1.0",
"psr/simple-cache-implementation": "1.0"
},
"replace": {
"zendframework/zend-cache": "^2.9.0"
},
"require-dev": {
"laminas/laminas-cli": "^1.0",
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-config-aggregator": "^1.5",
"laminas/laminas-feed": "^2.14",
"laminas/laminas-serializer": "^2.6",
"phpbench/phpbench": "^1.0.0-beta2",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.5"
},
"suggest": {
"laminas/laminas-cli": "The laminas-cli binary can be used to consume commands provided by this component",
"laminas/laminas-serializer": "Laminas\\Serializer component"
},
"type": "library",
"extra": {
"laminas": {
"component": "Laminas\\Cache",
"config-provider": "Laminas\\Cache\\ConfigProvider"
}
},
"autoload": {
"files": [
"autoload/patternPluginManagerPolyfill.php"
],
"psr-4": {
"Laminas\\Cache\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Caching implementation with a variety of storage options, as well as codified caching strategies for callbacks, classes, and output",
"homepage": "https://laminas.dev",
"keywords": [
"cache",
"laminas",
"psr-16",
"psr-6"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-cache/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-cache/issues",
"rss": "https://github.com/laminas/laminas-cache/releases.atom",
"source": "https://github.com/laminas/laminas-cache"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-08-08T10:21:18+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-apc",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-apc.git",
"reference": "8b375d994f6e67534f6ae6e995249e706faa30c1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-apc/zipball/8b375d994f6e67534f6ae6e995249e706faa30c1",
"reference": "8b375d994f6e67534f6ae6e995249e706faa30c1",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10",
"laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
"laminas/laminas-coding-standard": "~1.0.0",
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2"
},
"suggest": {
"ext-apc": "APC or compatible extension, to use the APC storage adapter"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-apc/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-apc/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-apc/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-apc"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"abandoned": true,
"time": "2020-10-12T16:04:12+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-apcu",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-apcu.git",
"reference": "e182aab739d6b03992a9915cc3c7019391a94548"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-apcu/zipball/e182aab739d6b03992a9915cc3c7019391a94548",
"reference": "e182aab739d6b03992a9915cc3c7019391a94548",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"ext-apcu": "*",
"laminas/laminas-cache": "^2.10.1",
"laminas/laminas-cache-storage-adapter-test": "^1.1.1",
"laminas/laminas-coding-standard": "~1.0.0",
"squizlabs/php_codesniffer": "^2.7"
},
"suggest": {
"ext-apcu": "APCU >= 5.1.0, to use the APCu storage adapter"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for apcu",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-apcu/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-apcu/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-apcu/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-apcu"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-05-03T20:41:53+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-blackhole",
"version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-blackhole.git",
"reference": "4af1053efd81785a292c2a9442871c075700345a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-blackhole/zipball/4af1053efd81785a292c2a9442871c075700345a",
"reference": "4af1053efd81785a292c2a9442871c075700345a",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10.1",
"laminas/laminas-cache-storage-adapter-test": "^1.1.1",
"laminas/laminas-coding-standard": "^2.1.4",
"squizlabs/php_codesniffer": "^3.5.8"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for blackhole",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-blackhole/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-blackhole/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-blackhole/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-blackhole"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-04-29T21:06:24+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-dba",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-dba.git",
"reference": "ad968d3d8a0350af8e6717be58bb96e5a9e77f3b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-dba/zipball/ad968d3d8a0350af8e6717be58bb96e5a9e77f3b",
"reference": "ad968d3d8a0350af8e6717be58bb96e5a9e77f3b",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10",
"laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
"laminas/laminas-coding-standard": "~1.0.0",
"squizlabs/php_codesniffer": "^2.7"
},
"suggest": {
"ext-dba": "DBA, to use the DBA storage adapter"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for dba",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-dba/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-dba/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-dba/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-dba"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"abandoned": true,
"time": "2020-10-12T16:08:58+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-ext-mongodb",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-ext-mongodb.git",
"reference": "72f68589cc8323fa688167a4720b795dd0907f4e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-ext-mongodb/zipball/72f68589cc8323fa688167a4720b795dd0907f4e",
"reference": "72f68589cc8323fa688167a4720b795dd0907f4e",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10",
"mongodb/mongodb": "<1.8"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10.3",
"laminas/laminas-cache-storage-adapter-test": "^1.1.1",
"laminas/laminas-coding-standard": "~2.2.0",
"laminas/laminas-serializer": "^2.10.1",
"mongodb/mongodb": "^1.8.0",
"psalm/plugin-phpunit": "^0.16.1",
"vimeo/psalm": "^4.9"
},
"suggest": {
"mongodb/mongodb": "MongoDB, to use the ExtMongoDb storage adapter"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for ext-mongodb",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-ext-mongodb/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-ext-mongodb/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-ext-mongodb/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-ext-mongodb"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-08-10T18:17:48+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-filesystem",
"version": "1.1.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-filesystem.git",
"reference": "76fc488c3fa0ad442e4e70f807305c940d1bdcbc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-filesystem/zipball/76fc488c3fa0ad442e4e70f807305c940d1bdcbc",
"reference": "76fc488c3fa0ad442e4e70f807305c940d1bdcbc",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10",
"laminas/laminas-cache-storage-adapter-test": "^1.1.1",
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-serializer": "^2.10",
"phpunit/phpunit": "^9.5",
"squizlabs/php_codesniffer": "^2.7"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for filesystem",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-filesystem/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-filesystem/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-filesystem/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-filesystem"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-04-25T00:27:54+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-memcache",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-memcache.git",
"reference": "1d2a74e300a0fd0b8d0e0cb4e379a173ccad0088"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-memcache/zipball/1d2a74e300a0fd0b8d0e0cb4e379a173ccad0088",
"reference": "1d2a74e300a0fd0b8d0e0cb4e379a173ccad0088",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10.1",
"laminas/laminas-cache-storage-adapter-test": "^1.1.1",
"laminas/laminas-coding-standard": "^2.1.4",
"laminas/laminas-serializer": "^2.10.1",
"squizlabs/php_codesniffer": "^3.6.0"
},
"suggest": {
"ext-memcache": "Memcache >= 2.0.0 to use the Memcache storage adapter"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for memcache",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-memcache/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-memcache/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-memcache/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-memcache"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"abandoned": true,
"time": "2021-04-29T19:57:43+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-memcached",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-memcached.git",
"reference": "d05f33e43a352b85c6d0208e9cfbf2a59f02ede3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-memcached/zipball/d05f33e43a352b85c6d0208e9cfbf2a59f02ede3",
"reference": "d05f33e43a352b85c6d0208e9cfbf2a59f02ede3",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10",
"laminas/laminas-cache-storage-adapter-test": "^1.0.2",
"laminas/laminas-coding-standard": "~2.2.0",
"phpunit/phpunit": "^9.5.8"
},
"suggest": {
"ext-memcached": "Memcached >= 1.0.0 to use the Memcached storage adapter"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for memcached",
"keywords": [
"cache",
"laminas",
"memcached"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-memcached/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-memcached/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-memcached/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-memcached"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-08-08T14:51:12+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-memory",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-memory.git",
"reference": "02c7a4a1118bbd47d1c0f0bfe1e8b140af79d2bd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-memory/zipball/02c7a4a1118bbd47d1c0f0bfe1e8b140af79d2bd",
"reference": "02c7a4a1118bbd47d1c0f0bfe1e8b140af79d2bd",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10.1",
"laminas/laminas-cache-storage-adapter-test": "^1.1.1",
"laminas/laminas-coding-standard": "^2.1.4",
"squizlabs/php_codesniffer": "^3.5.8"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for memory",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-memory/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-memory/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-memory/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-memory"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-04-28T17:27:13+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-mongodb",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-mongodb.git",
"reference": "ef4aa396b55533b8eb3e1d4126c39a78a22e49a6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-mongodb/zipball/ef4aa396b55533b8eb3e1d4126c39a78a22e49a6",
"reference": "ef4aa396b55533b8eb3e1d4126c39a78a22e49a6",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10",
"laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
"laminas/laminas-coding-standard": "~1.0.0",
"squizlabs/php_codesniffer": "^2.7"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for mongodb",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-mongodb/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-mongodb/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-mongodb/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-mongodb"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"abandoned": true,
"time": "2020-10-12T16:19:10+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-redis",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-redis.git",
"reference": "de8a63d4a0ef1ccead401eb7fb6d75b57fa3f9ee"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-redis/zipball/de8a63d4a0ef1ccead401eb7fb6d75b57fa3f9ee",
"reference": "de8a63d4a0ef1ccead401eb7fb6d75b57fa3f9ee",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10",
"phpunit/phpunit": "<6.1.0"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"composer-runtime-api": "^2",
"ext-posix": "*",
"ext-redis": "*",
"laminas/laminas-cache": "^2.10",
"laminas/laminas-cache-storage-adapter-test": "^1.1",
"laminas/laminas-coding-standard": "^2.1",
"laminas/laminas-serializer": "^2.10",
"psalm/plugin-phpunit": "^0.15.1",
"vimeo/psalm": "^4.7"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for redis",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-redis/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-redis/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-redis/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-redis"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-06-03T16:14:07+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-session",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-session.git",
"reference": "74a275056cfca2300eb9a67cd1d917f7066b4113"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-session/zipball/74a275056cfca2300eb9a67cd1d917f7066b4113",
"reference": "74a275056cfca2300eb9a67cd1d917f7066b4113",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10",
"laminas/laminas-cache-storage-adapter-test": "^1.1",
"laminas/laminas-coding-standard": "^2.1",
"laminas/laminas-session": "^2.7.4"
},
"suggest": {
"laminas/laminas-session": "Laminas\\Session component"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for session",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-session/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-session/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-session/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-session"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-05-02T13:52:36+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-wincache",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-wincache.git",
"reference": "0f54599c5d9aff11b01adadd2742097f923170ba"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-wincache/zipball/0f54599c5d9aff11b01adadd2742097f923170ba",
"reference": "0f54599c5d9aff11b01adadd2742097f923170ba",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10",
"laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
"laminas/laminas-coding-standard": "~1.0.0",
"squizlabs/php_codesniffer": "^2.7"
},
"suggest": {
"ext-wincache": "WinCache, to use the WinCache storage adapter"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for wincache",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-wincache/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-wincache/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-wincache/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-wincache"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"abandoned": true,
"time": "2020-10-12T16:22:49+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-xcache",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-xcache.git",
"reference": "24049557aa796ec7527bcc8032ed68346232b219"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-xcache/zipball/24049557aa796ec7527bcc8032ed68346232b219",
"reference": "24049557aa796ec7527bcc8032ed68346232b219",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10",
"laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-serializer": "^2.9",
"squizlabs/php_codesniffer": "^2.7"
},
"suggest": {
"ext-xcache": "XCache, to use the XCache storage adapter"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for xcache",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-xcache/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-xcache/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-xcache/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-xcache"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"abandoned": true,
"time": "2020-10-12T16:23:46+00:00"
},
{
"name": "laminas/laminas-cache-storage-adapter-zend-server",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-cache-storage-adapter-zend-server.git",
"reference": "8d0b0d219a048a92472d89a5e527990f3ea2decc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-cache-storage-adapter-zend-server/zipball/8d0b0d219a048a92472d89a5e527990f3ea2decc",
"reference": "8d0b0d219a048a92472d89a5e527990f3ea2decc",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
},
"conflict": {
"laminas/laminas-cache": "<2.10"
},
"provide": {
"laminas/laminas-cache-storage-implementation": "1.0"
},
"require-dev": {
"laminas/laminas-cache": "^2.10",
"laminas/laminas-cache-storage-adapter-test": "^1.0@dev",
"laminas/laminas-coding-standard": "~1.0.0",
"squizlabs/php_codesniffer": "^2.7"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Cache\\Storage\\Adapter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas cache adapter for zend-server",
"keywords": [
"cache",
"laminas"
],
"support": {
"docs": "https://docs.laminas.dev/laminas-cache-storage-adapter-zend-server/",
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-cache-storage-adapter-zend-server/issues",
"rss": "https://github.com/laminas/laminas-cache-storage-adapter-zend-server/releases.atom",
"source": "https://github.com/laminas/laminas-cache-storage-adapter-zend-server"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2020-10-12T16:24:25+00:00"
},
{
"name": "laminas/laminas-coding-standard",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-coding-standard.git",
"reference": "08880ce2fbfe62d471cd3cb766a91da630b32539"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-coding-standard/zipball/08880ce2fbfe62d471cd3cb766a91da630b32539",
"reference": "08880ce2fbfe62d471cd3cb766a91da630b32539",
"shasum": ""
},
"require": {
"laminas/laminas-zendframework-bridge": "^1.0",
"squizlabs/php_codesniffer": "^2.7"
},
"replace": {
"zendframework/zend-coding-standard": "self.version"
},
"type": "library",
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas coding standard",
"homepage": "https://laminas.dev",
"keywords": [
"Coding Standard",
"laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-coding-standard/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-coding-standard/issues",
"rss": "https://github.com/laminas/laminas-coding-standard/releases.atom",
"source": "https://github.com/laminas/laminas-coding-standard"
},
"time": "2019-12-31T16:28:26+00:00"
},
{
"name": "laminas/laminas-config",
"version": "3.7.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-config.git",
"reference": "e43d13dcfc273d4392812eb395ce636f73f34dfd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-config/zipball/e43d13dcfc273d4392812eb395ce636f73f34dfd",
"reference": "e43d13dcfc273d4392812eb395ce636f73f34dfd",
"shasum": ""
},
"require": {
"ext-json": "*",
"laminas/laminas-stdlib": "^3.6",
"php": "^7.3 || ~8.0.0 || ~8.1.0",
"psr/container": "^1.0"
},
"conflict": {
"container-interop/container-interop": "<1.2.0",
"zendframework/zend-config": "*"
},
"require-dev": {
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-filter": "^2.7.2",
"laminas/laminas-i18n": "^2.10.3",
"laminas/laminas-servicemanager": "^3.7",
"phpunit/phpunit": "^9.5.5"
},
"suggest": {
"laminas/laminas-filter": "^2.7.2; install if you want to use the Filter processor",
"laminas/laminas-i18n": "^2.7.4; install if you want to use the Translator processor",
"laminas/laminas-servicemanager": "^2.7.8 || ^3.3; if you need an extensible plugin manager for use with the Config Factory"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Config\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "provides a nested object property based user interface for accessing this configuration data within application code",
"homepage": "https://laminas.dev",
"keywords": [
"config",
"laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-config/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-config/issues",
"rss": "https://github.com/laminas/laminas-config/releases.atom",
"source": "https://github.com/laminas/laminas-config"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-10-01T16:07:46+00:00"
},
{
"name": "laminas/laminas-console",
"version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-console.git",
"reference": "478a6ceac3e31fb38d6314088abda8b239ee23a5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-console/zipball/478a6ceac3e31fb38d6314088abda8b239ee23a5",
"reference": "478a6ceac3e31fb38d6314088abda8b239ee23a5",
"shasum": ""
},
"require": {
"laminas/laminas-stdlib": "^3.2.1",
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^5.6 || ^7.0"
},
"replace": {
"zendframework/zend-console": "self.version"
},
"require-dev": {
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-filter": "^2.7.2",
"laminas/laminas-json": "^2.6 || ^3.0",
"laminas/laminas-validator": "^2.10.1",
"phpunit/phpunit": "^5.7.23 || ^6.4.3"
},
"suggest": {
"laminas/laminas-filter": "To support DefaultRouteMatcher usage",
"laminas/laminas-validator": "To support DefaultRouteMatcher usage"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.8.x-dev",
"dev-develop": "2.9.x-dev"
}
},
"autoload": {
"psr-4": {
"Laminas\\Console\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Build console applications using getopt syntax or routing, complete with prompts",
"homepage": "https://laminas.dev",
"keywords": [
"console",
"laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-console/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-console/issues",
"rss": "https://github.com/laminas/laminas-console/releases.atom",
"source": "https://github.com/laminas/laminas-console"
},
"abandoned": "laminas/laminas-cli",
"time": "2019-12-31T16:31:45+00:00"
},
{
"name": "laminas/laminas-escaper",
"version": "2.9.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-escaper.git",
"reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/891ad70986729e20ed2e86355fcf93c9dc238a5f",
"reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"conflict": {
"zendframework/zend-escaper": "*"
},
"require-dev": {
"laminas/laminas-coding-standard": "~2.3.0",
"phpunit/phpunit": "^9.3",
"psalm/plugin-phpunit": "^0.12.2",
"vimeo/psalm": "^3.16"
},
"suggest": {
"ext-iconv": "*",
"ext-mbstring": "*"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Escaper\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs",
"homepage": "https://laminas.dev",
"keywords": [
"escaper",
"laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-escaper/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-escaper/issues",
"rss": "https://github.com/laminas/laminas-escaper/releases.atom",
"source": "https://github.com/laminas/laminas-escaper"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-09-02T17:10:53+00:00"
},
{
"name": "laminas/laminas-feed",
"version": "2.15.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-feed.git",
"reference": "3ef837a12833c74b438d2c3780023c4244e0abae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-feed/zipball/3ef837a12833c74b438d2c3780023c4244e0abae",
"reference": "3ef837a12833c74b438d2c3780023c4244e0abae",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"laminas/laminas-escaper": "^2.9",
"laminas/laminas-stdlib": "^3.6",
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"conflict": {
"laminas/laminas-servicemanager": "<3.3",
"zendframework/zend-feed": "*"
},
"require-dev": {
"laminas/laminas-cache": "^2.7.2",
"laminas/laminas-coding-standard": "~2.2.1",
"laminas/laminas-db": "^2.13.3",
"laminas/laminas-http": "^2.15",
"laminas/laminas-servicemanager": "^3.7",
"laminas/laminas-validator": "^2.15",
"phpunit/phpunit": "^9.5.5",
"psalm/plugin-phpunit": "^0.13.0",
"psr/http-message": "^1.0.1",
"vimeo/psalm": "^4.1"
},
"suggest": {
"laminas/laminas-cache": "Laminas\\Cache component, for optionally caching feeds between requests",
"laminas/laminas-db": "Laminas\\Db component, for use with PubSubHubbub",
"laminas/laminas-http": "Laminas\\Http for PubSubHubbub, and optionally for use with Laminas\\Feed\\Reader",
"laminas/laminas-servicemanager": "Laminas\\ServiceManager component, for easily extending ExtensionManager implementations",
"laminas/laminas-validator": "Laminas\\Validator component, for validating email addresses used in Atom feeds and entries when using the Writer subcomponent",
"psr/http-message": "PSR-7 ^1.0.1, if you wish to use Laminas\\Feed\\Reader\\Http\\Psr7ResponseDecorator"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Feed\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "provides functionality for consuming RSS and Atom feeds",
"homepage": "https://laminas.dev",
"keywords": [
"feed",
"laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-feed/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-feed/issues",
"rss": "https://github.com/laminas/laminas-feed/releases.atom",
"source": "https://github.com/laminas/laminas-feed"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-09-20T18:11:11+00:00"
},
{
"name": "laminas/laminas-filter",
"version": "2.11.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-filter.git",
"reference": "671724e163aa75c210e94d12b77a0f3f8240d4b2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-filter/zipball/671724e163aa75c210e94d12b77a0f3f8240d4b2",
"reference": "671724e163aa75c210e94d12b77a0f3f8240d4b2",
"shasum": ""
},
"require": {
"laminas/laminas-stdlib": "^3.3",
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-validator": "<2.10.1"
},
"replace": {
"zendframework/zend-filter": "^2.9.2"
},
"require-dev": {
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-crypt": "^3.2.1",
"laminas/laminas-servicemanager": "^3.3",
"laminas/laminas-uri": "^2.6",
"pear/archive_tar": "^1.4.3",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.3",
"psalm/plugin-phpunit": "^0.15.1",
"psr/http-factory": "^1.0",
"vimeo/psalm": "^4.6"
},
"suggest": {
"laminas/laminas-crypt": "Laminas\\Crypt component, for encryption filters",
"laminas/laminas-i18n": "Laminas\\I18n component for filters depending on i18n functionality",
"laminas/laminas-servicemanager": "Laminas\\ServiceManager component, for using the filter chain functionality",
"laminas/laminas-uri": "Laminas\\Uri component, for the UriNormalize filter",
"psr/http-factory-implementation": "psr/http-factory-implementation, for creating file upload instances when consuming PSR-7 in file upload filters"
},
"type": "library",
"extra": {
"laminas": {
"component": "Laminas\\Filter",
"config-provider": "Laminas\\Filter\\ConfigProvider"
}
},
"autoload": {
"psr-4": {
"Laminas\\Filter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Programmatically filter and normalize data and files",
"homepage": "https://laminas.dev",
"keywords": [
"filter",
"laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-filter/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-filter/issues",
"rss": "https://github.com/laminas/laminas-filter/releases.atom",
"source": "https://github.com/laminas/laminas-filter"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-05-24T18:29:02+00:00"
},
{
"name": "laminas/laminas-http",
"version": "2.15.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-http.git",
"reference": "e1f3420ab35e21ea135913d213b8d570e5e7b513"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-http/zipball/e1f3420ab35e21ea135913d213b8d570e5e7b513",
"reference": "e1f3420ab35e21ea135913d213b8d570e5e7b513",
"shasum": ""
},
"require": {
"laminas/laminas-loader": "^2.8",
"laminas/laminas-stdlib": "^3.6",
"laminas/laminas-uri": "^2.9.1",
"laminas/laminas-validator": "^2.15",
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"conflict": {
"zendframework/zend-http": "*"
},
"require-dev": {
"laminas/laminas-coding-standard": "~2.2.1",
"phpunit/phpunit": "^9.5.5"
},
"suggest": {
"paragonie/certainty": "For automated management of cacert.pem"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Http\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests",
"homepage": "https://laminas.dev",
"keywords": [
"http",
"http client",
"laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-http/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-http/issues",
"rss": "https://github.com/laminas/laminas-http/releases.atom",
"source": "https://github.com/laminas/laminas-http"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-09-10T10:45:31+00:00"
},
{
"name": "laminas/laminas-i18n",
"version": "2.11.2",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-i18n.git",
"reference": "78adb53ebf6c0bc63f92273fd7809dabc554f786"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-i18n/zipball/78adb53ebf6c0bc63f92273fd7809dabc554f786",
"reference": "78adb53ebf6c0bc63f92273fd7809dabc554f786",
"shasum": ""
},
"require": {
"ext-intl": "*",
"laminas/laminas-stdlib": "^2.7 || ^3.0",
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"phpspec/prophecy": "<1.9.0"
},
"replace": {
"zendframework/zend-i18n": "^2.10.1"
},
"require-dev": {
"laminas/laminas-cache": "^2.6.1",
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-config": "^2.6",
"laminas/laminas-eventmanager": "^2.6.2 || ^3.0",
"laminas/laminas-filter": "^2.6.1",
"laminas/laminas-servicemanager": "^3.2.1",
"laminas/laminas-validator": "^2.6",
"laminas/laminas-view": "^2.6.3",
"phpunit/phpunit": "^9.3"
},
"suggest": {
"laminas/laminas-cache": "Laminas\\Cache component",
"laminas/laminas-config": "Laminas\\Config component",
"laminas/laminas-eventmanager": "You should install this package to use the events in the translator",
"laminas/laminas-filter": "You should install this package to use the provided filters",
"laminas/laminas-i18n-resources": "Translation resources",
"laminas/laminas-servicemanager": "Laminas\\ServiceManager component",
"laminas/laminas-validator": "You should install this package to use the provided validators",
"laminas/laminas-view": "You should install this package to use the provided view helpers"
},
"type": "library",
"extra": {
"laminas": {
"component": "Laminas\\I18n",
"config-provider": "Laminas\\I18n\\ConfigProvider"
}
},
"autoload": {
"psr-4": {
"Laminas\\I18n\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Provide translations for your application, and filter and validate internationalized values",
"homepage": "https://laminas.dev",
"keywords": [
"i18n",
"laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-i18n/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-i18n/issues",
"rss": "https://github.com/laminas/laminas-i18n/releases.atom",
"source": "https://github.com/laminas/laminas-i18n"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-08-20T08:23:04+00:00"
},
{
"name": "laminas/laminas-loader",
"version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-loader.git",
"reference": "d0589ec9dd48365fd95ad10d1c906efd7711c16b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-loader/zipball/d0589ec9dd48365fd95ad10d1c906efd7711c16b",
"reference": "d0589ec9dd48365fd95ad10d1c906efd7711c16b",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"conflict": {
"zendframework/zend-loader": "*"
},
"require-dev": {
"laminas/laminas-coding-standard": "~2.2.1",
"phpunit/phpunit": "^9.3"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Loader\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Autoloading and plugin loading strategies",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
"loader"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-loader/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-loader/issues",
"rss": "https://github.com/laminas/laminas-loader/releases.atom",
"source": "https://github.com/laminas/laminas-loader"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-09-02T18:30:53+00:00"
},
{
"name": "laminas/laminas-modulemanager",
"version": "2.10.2",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-modulemanager.git",
"reference": "2068e0b300e87e139112016a6025be341ceaaf33"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-modulemanager/zipball/2068e0b300e87e139112016a6025be341ceaaf33",
"reference": "2068e0b300e87e139112016a6025be341ceaaf33",
"shasum": ""
},
"require": {
"brick/varexporter": "^0.3.2",
"laminas/laminas-config": "^3.4",
"laminas/laminas-eventmanager": "^3.3",
"laminas/laminas-stdlib": "^3.3",
"laminas/laminas-zendframework-bridge": "^1.1",
"php": "^7.3 || ^8.0",
"webimpress/safe-writer": "^1.0.2 || ^2.1"
},
"replace": {
"zendframework/zend-modulemanager": "^2.8.4"
},
"require-dev": {
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-console": "^2.8",
"laminas/laminas-di": "^2.6.1",
"laminas/laminas-loader": "^2.6.1",
"laminas/laminas-mvc": "^3.1.1",
"laminas/laminas-servicemanager": "^3.4.1",
"phpunit/phpunit": "^9.3.7"
},
"suggest": {
"laminas/laminas-console": "Laminas\\Console component",
"laminas/laminas-loader": "Laminas\\Loader component if you are not using Composer autoloading for your modules",
"laminas/laminas-mvc": "Laminas\\Mvc component",
"laminas/laminas-servicemanager": "Laminas\\ServiceManager component"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\ModuleManager\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Modular application system for laminas-mvc applications",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
"modulemanager"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-modulemanager/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-modulemanager/issues",
"rss": "https://github.com/laminas/laminas-modulemanager/releases.atom",
"source": "https://github.com/laminas/laminas-modulemanager"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-04-13T20:11:28+00:00"
},
{
"name": "laminas/laminas-mvc",
"version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-mvc.git",
"reference": "88da7200cf8f5a970c35d91717a5c4db94981e5e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-mvc/zipball/88da7200cf8f5a970c35d91717a5c4db94981e5e",
"reference": "88da7200cf8f5a970c35d91717a5c4db94981e5e",
"shasum": ""
},
"require": {
"container-interop/container-interop": "^1.2",
"laminas/laminas-eventmanager": "^3.2",
"laminas/laminas-http": "^2.7",
"laminas/laminas-modulemanager": "^2.8",
"laminas/laminas-router": "^3.0.2",
"laminas/laminas-servicemanager": "^3.3",
"laminas/laminas-stdlib": "^3.2.1",
"laminas/laminas-view": "^2.11.3",
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^7.3 || ~8.0.0"
},
"replace": {
"zendframework/zend-mvc": "^3.1.1"
},
"require-dev": {
"http-interop/http-middleware": "^0.4.1",
"laminas/laminas-coding-standard": "^1.0.0",
"laminas/laminas-json": "^2.6.1 || ^3.0",
"laminas/laminas-psr7bridge": "^1.0",
"laminas/laminas-stratigility": ">=2.0.1 <2.2",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.4.2"
},
"suggest": {
"laminas/laminas-json": "(^2.6.1 || ^3.0) To auto-deserialize JSON body content in AbstractRestfulController extensions, when json_decode is unavailable",
"laminas/laminas-log": "^2.9.1 To provide log functionality via LogFilterManager, LogFormatterManager, and LogProcessorManager",
"laminas/laminas-mvc-console": "laminas-mvc-console provides the ability to expose laminas-mvc as a console application",
"laminas/laminas-mvc-i18n": "laminas-mvc-i18n provides integration with laminas-i18n, including a translation bridge and translatable route segments",
"laminas/laminas-mvc-middleware": "To dispatch middleware in your laminas-mvc application",
"laminas/laminas-mvc-plugin-fileprg": "To provide Post/Redirect/Get functionality around forms that container file uploads",
"laminas/laminas-mvc-plugin-flashmessenger": "To provide flash messaging capabilities between requests",
"laminas/laminas-mvc-plugin-identity": "To access the authenticated identity (per laminas-authentication) in controllers",
"laminas/laminas-mvc-plugin-prg": "To provide Post/Redirect/Get functionality within controllers",
"laminas/laminas-paginator": "^2.7 To provide pagination functionality via PaginatorPluginManager",
"laminas/laminas-servicemanager-di": "laminas-servicemanager-di provides utilities for integrating laminas-di and laminas-servicemanager in your laminas-mvc application"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Mvc\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Laminas's event-driven MVC layer, including MVC Applications, Controllers, and Plugins",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
"mvc"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-mvc/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-mvc/issues",
"rss": "https://github.com/laminas/laminas-mvc/releases.atom",
"source": "https://github.com/laminas/laminas-mvc"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2020-12-14T21:54:40+00:00"
},
{
"name": "laminas/laminas-mvc-i18n",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-mvc-i18n.git",
"reference": "7ece491a02000a6c4ea2c4457fead3d12efc6eba"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-mvc-i18n/zipball/7ece491a02000a6c4ea2c4457fead3d12efc6eba",
"reference": "7ece491a02000a6c4ea2c4457fead3d12efc6eba",
"shasum": ""
},
"require": {
"container-interop/container-interop": "^1.1",
"laminas/laminas-i18n": "^2.11",
"laminas/laminas-router": "^3.0",
"laminas/laminas-servicemanager": "^3.6",
"laminas/laminas-stdlib": "^3.3",
"laminas/laminas-validator": "^2.14",
"laminas/laminas-zendframework-bridge": "^1.2",
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-mvc": "<3.0.0",
"phpspec/prophecy": "<1.8.0"
},
"replace": {
"zendframework/zend-mvc-i18n": "^1.1.1"
},
"require-dev": {
"laminas/laminas-coding-standard": "~1.0.0",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.5",
"psalm/plugin-phpunit": "^0.15.1",
"vimeo/psalm": "^4.7"
},
"suggest": {
"laminas/laminas-cache": "To enable caching of translation strings"
},
"type": "library",
"extra": {
"laminas": {
"component": "Laminas\\Mvc\\I18n",
"config-provider": "Laminas\\Mvc\\I18n\\ConfigProvider"
}
},
"autoload": {
"psr-4": {
"Laminas\\Mvc\\I18n\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Integration between laminas-mvc and laminas-i18n",
"homepage": "https://laminas.dev",
"keywords": [
"i18n",
"laminas",
"mvc"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-mvc-i18n/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-mvc-i18n/issues",
"rss": "https://github.com/laminas/laminas-mvc-i18n/releases.atom",
"source": "https://github.com/laminas/laminas-mvc-i18n"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-04-02T15:49:43+00:00"
},
{
"name": "laminas/laminas-mvc-plugin-flashmessenger",
"version": "1.3.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-mvc-plugin-flashmessenger.git",
"reference": "f7569d05dfd774a2c84328792ee716e2d8b1e33e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-mvc-plugin-flashmessenger/zipball/f7569d05dfd774a2c84328792ee716e2d8b1e33e",
"reference": "f7569d05dfd774a2c84328792ee716e2d8b1e33e",
"shasum": ""
},
"require": {
"laminas/laminas-mvc": "^3.0",
"laminas/laminas-session": "^2.8.5",
"laminas/laminas-stdlib": "^3.2.1",
"laminas/laminas-view": "^2.12",
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-mvc": "<3.0.0"
},
"replace": {
"zendframework/zend-mvc-plugin-flashmessenger": "^1.2.0"
},
"require-dev": {
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-i18n": "^2.8",
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"laminas": {
"component": "Laminas\\Mvc\\Plugin\\FlashMessenger"
}
},
"autoload": {
"psr-4": {
"Laminas\\Mvc\\Plugin\\FlashMessenger\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Plugin for creating and exposing flash messages via laminas-mvc controllers",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
"mvc"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-mvc-plugin-flashmessenger/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-mvc-plugin-flashmessenger/issues",
"rss": "https://github.com/laminas/laminas-mvc-plugin-flashmessenger/releases.atom",
"source": "https://github.com/laminas/laminas-mvc-plugin-flashmessenger"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-04-13T16:30:26+00:00"
},
{
"name": "laminas/laminas-navigation",
"version": "2.11.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-navigation.git",
"reference": "59f69237a6ae31135841c5e188f363d46101e145"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-navigation/zipball/59f69237a6ae31135841c5e188f363d46101e145",
"reference": "59f69237a6ae31135841c5e188f363d46101e145",
"shasum": ""
},
"require": {
"laminas/laminas-stdlib": "^2.7 || ^3.0",
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^7.3 || ~8.0.0"
},
"replace": {
"zendframework/zend-navigation": "^2.9.1"
},
"require-dev": {
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-config": "^2.6 || ^3.1",
"laminas/laminas-console": "^2.6",
"laminas/laminas-http": "^2.6",
"laminas/laminas-i18n": "^2.7.3",
"laminas/laminas-log": "^2.9.1",
"laminas/laminas-mvc": "^2.7.9 || ^3.0.4",
"laminas/laminas-permissions-acl": "^2.6",
"laminas/laminas-router": "^3.0.2",
"laminas/laminas-servicemanager": "^3.2.1",
"laminas/laminas-uri": "^2.5.2",
"laminas/laminas-view": "^2.9",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.4.1"
},
"suggest": {
"laminas/laminas-config": "^2.6 || ^3.1, to provide page configuration (optional, as arrays and Traversables are also allowed)",
"laminas/laminas-permissions-acl": "^2.6, to provide ACL-based access restrictions to pages",
"laminas/laminas-router": "^3.0, to use router-based URI generation with Mvc pages",
"laminas/laminas-servicemanager": "^2.7.5 || ^3.0.3, to use the navigation factories",
"laminas/laminas-view": "^2.8.1, to use the navigation view helpers"
},
"type": "library",
"extra": {
"laminas": {
"component": "Laminas\\Navigation",
"config-provider": "Laminas\\Navigation\\ConfigProvider"
}
},
"autoload": {
"psr-4": {
"Laminas\\Navigation\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Manage trees of pointers to web pages in order to build navigation systems",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
"navigation"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-navigation/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-navigation/issues",
"rss": "https://github.com/laminas/laminas-navigation/releases.atom",
"source": "https://github.com/laminas/laminas-navigation"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-04-12T09:14:02+00:00"
},
{
"name": "laminas/laminas-paginator",
"version": "2.10.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-paginator.git",
"reference": "14ce4a397e6329954389cc40aa635caa9573f695"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-paginator/zipball/14ce4a397e6329954389cc40aa635caa9573f695",
"reference": "14ce4a397e6329954389cc40aa635caa9573f695",
"shasum": ""
},
"require": {
"ext-json": "*",
"laminas/laminas-stdlib": "^3.2.1",
"laminas/laminas-zendframework-bridge": "^1.0.4",
"php": "^7.3 || ~8.0.0"
},
"replace": {
"zendframework/zend-paginator": "^2.8.2"
},
"require-dev": {
"laminas/laminas-cache": "^2.9.0",
"laminas/laminas-coding-standard": "~2.1.4",
"laminas/laminas-config": "^2.6.0",
"laminas/laminas-filter": "^2.9.4",
"laminas/laminas-servicemanager": "^3.4.1",
"laminas/laminas-view": "^2.11.4",
"phpunit/phpunit": "^9.3",
"psalm/plugin-phpunit": "^0.15.1",
"vimeo/psalm": "^4.6"
},
"suggest": {
"laminas/laminas-cache": "Laminas\\Cache component to support cache features",
"laminas/laminas-filter": "Laminas\\Filter component",
"laminas/laminas-paginator-adapter-laminasdb": "Provides pagination adapters for Select statements and TableGateway instances",
"laminas/laminas-servicemanager": "Laminas\\ServiceManager component",
"laminas/laminas-view": "Laminas\\View component"
},
"type": "library",
"extra": {
"laminas": {
"component": "Laminas\\Paginator",
"config-provider": "Laminas\\Paginator\\ConfigProvider"
}
},
"autoload": {
"psr-4": {
"Laminas\\Paginator\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Paginate collections of data from arbitrary sources",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
"paginator"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-paginator/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-paginator/issues",
"rss": "https://github.com/laminas/laminas-paginator/releases.atom",
"source": "https://github.com/laminas/laminas-paginator"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-02-25T21:39:49+00:00"
},
{
"name": "laminas/laminas-permissions-acl",
"version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-permissions-acl.git",
"reference": "7af6463695d76dbf25c6b03e6ebb792c8f1ab67e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-permissions-acl/zipball/7af6463695d76dbf25c6b03e6ebb792c8f1ab67e",
"reference": "7af6463695d76dbf25c6b03e6ebb792c8f1ab67e",
"shasum": ""
},
"require": {
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^7.3 || ~8.0.0"
},
"conflict": {
"laminas/laminas-servicemanager": "<3.0"
},
"replace": {
"zendframework/zend-permissions-acl": "^2.7.1"
},
"require-dev": {
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-servicemanager": "^3.0.3",
"phpunit/phpunit": "^9.5"
},
"suggest": {
"laminas/laminas-servicemanager": "To support Laminas\\Permissions\\Acl\\Assertion\\AssertionManager plugin manager usage"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Permissions\\Acl\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Provides a lightweight and flexible access control list (ACL) implementation for privileges management",
"homepage": "https://laminas.dev",
"keywords": [
"acl",
"laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-permissions-acl/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-permissions-acl/issues",
"rss": "https://github.com/laminas/laminas-permissions-acl/releases.atom",
"source": "https://github.com/laminas/laminas-permissions-acl"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-04-08T12:56:14+00:00"
},
{
"name": "laminas/laminas-router",
"version": "3.4.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-router.git",
"reference": "338e55010c9090d7a79c6e6aed68b886b849801f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-router/zipball/338e55010c9090d7a79c6e6aed68b886b849801f",
"reference": "338e55010c9090d7a79c6e6aed68b886b849801f",
"shasum": ""
},
"require": {
"container-interop/container-interop": "^1.2",
"laminas/laminas-http": "^2.8.1",
"laminas/laminas-servicemanager": "^2.7.8 || ^3.3",
"laminas/laminas-stdlib": "^3.3",
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^7.3 || ~8.0.0"
},
"require-dev": {
"laminas/laminas-coding-standard": "~1.0.0",
"laminas/laminas-i18n": "^2.7.4",
"phpunit/phpunit": "^9.4"
},
"suggest": {
"laminas/laminas-i18n": "^2.7.4, if defining translatable HTTP path segments"
},
"type": "library",
"extra": {
"laminas": {
"component": "Laminas\\Router",
"config-provider": "Laminas\\Router\\ConfigProvider"
}
},
"autoload": {
"psr-4": {
"Laminas\\Router\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Flexible routing system for HTTP and console applications",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
"routing"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-router/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-router/issues",
"rss": "https://github.com/laminas/laminas-router/releases.atom",
"source": "https://github.com/laminas/laminas-router"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2020-11-19T19:42:10+00:00"
},
{
"name": "laminas/laminas-servicemanager",
"version": "3.7.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-servicemanager.git",
"reference": "2b0aee477fdbd3191af7c302b93dbc5fda0626f4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/2b0aee477fdbd3191af7c302b93dbc5fda0626f4",
"reference": "2b0aee477fdbd3191af7c302b93dbc5fda0626f4",
"shasum": ""
},
"require": {
"container-interop/container-interop": "^1.2",
"laminas/laminas-stdlib": "^3.2.1",
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^7.3 || ~8.0.0",
"psr/container": "^1.0"
},
"conflict": {
"laminas/laminas-code": "<3.3.1",
"zendframework/zend-code": "<3.3.1"
},
"provide": {
"container-interop/container-interop-implementation": "^1.2",
"psr/container-implementation": "^1.0"
},
"replace": {
"zendframework/zend-servicemanager": "^3.4.0"
},
"require-dev": {
"composer/package-versions-deprecated": "^1.0",
"laminas/laminas-coding-standard": "~2.2.0",
"laminas/laminas-container-config-test": "^0.3",
"laminas/laminas-dependency-plugin": "^2.1.2",
"mikey179/vfsstream": "^1.6.8",
"ocramius/proxy-manager": "^2.2.3",
"phpbench/phpbench": "^1.0.4",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.4",
"psalm/plugin-phpunit": "^0.16.1",
"vimeo/psalm": "^4.8"
},
"suggest": {
"ocramius/proxy-manager": "ProxyManager ^2.1.1 to handle lazy initialization of services"
},
"bin": [
"bin/generate-deps-for-config-factory",
"bin/generate-factory-for-class"
],
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\ServiceManager\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Factory-Driven Dependency Injection Container",
"homepage": "https://laminas.dev",
"keywords": [
"PSR-11",
"dependency-injection",
"di",
"dic",
"laminas",
"service-manager",
"servicemanager"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-servicemanager/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-servicemanager/issues",
"rss": "https://github.com/laminas/laminas-servicemanager/releases.atom",
"source": "https://github.com/laminas/laminas-servicemanager"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-07-24T19:33:07+00:00"
},
{
"name": "laminas/laminas-session",
"version": "2.12.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-session.git",
"reference": "fc538bba5196e3b5937ae7db3c713fc7c0829881"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-session/zipball/fc538bba5196e3b5937ae7db3c713fc7c0829881",
"reference": "fc538bba5196e3b5937ae7db3c713fc7c0829881",
"shasum": ""
},
"require": {
"laminas/laminas-eventmanager": "^3.4",
"laminas/laminas-stdlib": "^3.6",
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"conflict": {
"zendframework/zend-session": "*"
},
"require-dev": {
"container-interop/container-interop": "^1.1",
"laminas/laminas-cache": "3.0.x-dev",
"laminas/laminas-cache-storage-adapter-memory": "2.0.x-dev",
"laminas/laminas-coding-standard": "~2.2.1",
"laminas/laminas-db": "^2.13.4",
"laminas/laminas-http": "^2.15",
"laminas/laminas-servicemanager": "^3.7",
"laminas/laminas-validator": "^2.15",
"mongodb/mongodb": "v1.9.x-dev",
"php-mock/php-mock-phpunit": "^1.1.2 || ^2.0",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.5.9"
},
"suggest": {
"laminas/laminas-cache": "Laminas\\Cache component",
"laminas/laminas-db": "Laminas\\Db component",
"laminas/laminas-http": "Laminas\\Http component",
"laminas/laminas-servicemanager": "Laminas\\ServiceManager component",
"laminas/laminas-validator": "Laminas\\Validator component",
"mongodb/mongodb": "If you want to use the MongoDB session save handler"
},
"type": "library",
"extra": {
"laminas": {
"component": "Laminas\\Session",
"config-provider": "Laminas\\Session\\ConfigProvider"
}
},
"autoload": {
"psr-4": {
"Laminas\\Session\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Object-oriented interface to PHP sessions and storage",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
"session"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-session/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-session/issues",
"rss": "https://github.com/laminas/laminas-session/releases.atom",
"source": "https://github.com/laminas/laminas-session"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-09-21T19:25:14+00:00"
},
{
"name": "laminas/laminas-uri",
"version": "2.9.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-uri.git",
"reference": "7e837dc15c8fd3949df7d1213246fd7c8640032b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-uri/zipball/7e837dc15c8fd3949df7d1213246fd7c8640032b",
"reference": "7e837dc15c8fd3949df7d1213246fd7c8640032b",
"shasum": ""
},
"require": {
"laminas/laminas-escaper": "^2.9",
"laminas/laminas-validator": "^2.15",
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"conflict": {
"zendframework/zend-uri": "*"
},
"require-dev": {
"laminas/laminas-coding-standard": "~2.2.1",
"phpunit/phpunit": "^9.5.5"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Uri\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "A component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
"uri"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-uri/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-uri/issues",
"rss": "https://github.com/laminas/laminas-uri/releases.atom",
"source": "https://github.com/laminas/laminas-uri"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-09-09T18:37:15+00:00"
},
{
"name": "laminas/laminas-validator",
"version": "2.15.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-validator.git",
"reference": "270380e87904f5a1a1fba3059989d4ca157e16a9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-validator/zipball/270380e87904f5a1a1fba3059989d4ca157e16a9",
"reference": "270380e87904f5a1a1fba3059989d4ca157e16a9",
"shasum": ""
},
"require": {
"container-interop/container-interop": "^1.1",
"laminas/laminas-stdlib": "^3.6",
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"conflict": {
"zendframework/zend-validator": "*"
},
"require-dev": {
"laminas/laminas-cache": "^2.6.1",
"laminas/laminas-coding-standard": "~2.2.1",
"laminas/laminas-db": "^2.7",
"laminas/laminas-filter": "^2.6",
"laminas/laminas-http": "^2.14.2",
"laminas/laminas-i18n": "^2.6",
"laminas/laminas-math": "^2.6",
"laminas/laminas-servicemanager": "^2.7.11 || ^3.0.3",
"laminas/laminas-session": "^2.8",
"laminas/laminas-uri": "^2.7",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.5.5",
"psalm/plugin-phpunit": "^0.15.0",
"psr/http-client": "^1.0",
"psr/http-factory": "^1.0",
"psr/http-message": "^1.0",
"vimeo/psalm": "^4.3"
},
"suggest": {
"laminas/laminas-db": "Laminas\\Db component, required by the (No)RecordExists validator",
"laminas/laminas-filter": "Laminas\\Filter component, required by the Digits validator",
"laminas/laminas-i18n": "Laminas\\I18n component to allow translation of validation error messages",
"laminas/laminas-i18n-resources": "Translations of validator messages",
"laminas/laminas-math": "Laminas\\Math component, required by the Csrf validator",
"laminas/laminas-servicemanager": "Laminas\\ServiceManager component to allow using the ValidatorPluginManager and validator chains",
"laminas/laminas-session": "Laminas\\Session component, ^2.8; required by the Csrf validator",
"laminas/laminas-uri": "Laminas\\Uri component, required by the Uri and Sitemap\\Loc validators",
"psr/http-message": "psr/http-message, required when validating PSR-7 UploadedFileInterface instances via the Upload and UploadFile validators"
},
"type": "library",
"extra": {
"laminas": {
"component": "Laminas\\Validator",
"config-provider": "Laminas\\Validator\\ConfigProvider"
}
},
"autoload": {
"psr-4": {
"Laminas\\Validator\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
"validator"
],
"support": {
"chat": "https://laminas.dev/chat",
"docs": "https://docs.laminas.dev/laminas-validator/",
"forum": "https://discourse.laminas.dev",
"issues": "https://github.com/laminas/laminas-validator/issues",
"rss": "https://github.com/laminas/laminas-validator/releases.atom",
"source": "https://github.com/laminas/laminas-validator"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-09-08T23:16:56+00:00"
},
{
"name": "laminas/laminas-zendframework-bridge",
"version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-zendframework-bridge.git",
"reference": "bf180a382393e7db5c1e8d0f2ec0c4af9c724baf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/bf180a382393e7db5c1e8d0f2ec0c4af9c724baf",
"reference": "bf180a382393e7db5c1e8d0f2ec0c4af9c724baf",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"require-dev": {
"phpunit/phpunit": "^9.3",
"psalm/plugin-phpunit": "^0.15.1",
"squizlabs/php_codesniffer": "^3.5",
"vimeo/psalm": "^4.6"
},
"type": "library",
"extra": {
"laminas": {
"module": "Laminas\\ZendFrameworkBridge"
}
},
"autoload": {
"files": [
"src/autoload.php"
],
"psr-4": {
"Laminas\\ZendFrameworkBridge\\": "src//"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"description": "Alias legacy ZF class names to Laminas Project equivalents.",
"keywords": [
"ZendFramework",
"autoloading",
"laminas",
"zf"
],
"support": {
"forum": "https://discourse.laminas.dev/",
"issues": "https://github.com/laminas/laminas-zendframework-bridge/issues",
"rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom",
"source": "https://github.com/laminas/laminas-zendframework-bridge"
},
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-09-03T17:53:30+00:00"
},
{
"name": "myclabs/deep-copy",
"version": "1.10.2",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
"reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
"reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"replace": {
"myclabs/deep-copy": "self.version"
},
"require-dev": {
"doctrine/collections": "^1.0",
"doctrine/common": "^2.6",
"phpunit/phpunit": "^7.1"
},
"type": "library",
"autoload": {
"psr-4": {
"DeepCopy\\": "src/DeepCopy/"
},
"files": [
"src/DeepCopy/deep_copy.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Create deep copies (clones) of your objects",
"keywords": [
"clone",
"copy",
"duplicate",
"object",
"object graph"
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
"source": "https://github.com/myclabs/DeepCopy/tree/1.10.2"
},
"funding": [
{
"url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
"type": "tidelift"
}
],
"time": "2020-11-13T09:40:50+00:00"
},
{
"name": "netresearch/jsonmapper",
"version": "v4.0.0",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
"reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
"reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-pcre": "*",
"ext-reflection": "*",
"ext-spl": "*",
"php": ">=7.1"
},
"require-dev": {
"phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
"squizlabs/php_codesniffer": "~3.5"
},
"type": "library",
"autoload": {
"psr-0": {
"JsonMapper": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"OSL-3.0"
],
"authors": [
{
"name": "Christian Weiske",
"email": "cweiske@cweiske.de",
"homepage": "http://github.com/cweiske/jsonmapper/",
"role": "Developer"
}
],
"description": "Map nested JSON structures onto PHP classes",
"support": {
"email": "cweiske@cweiske.de",
"issues": "https://github.com/cweiske/jsonmapper/issues",
"source": "https://github.com/cweiske/jsonmapper/tree/v4.0.0"
},
"time": "2020-12-01T19:48:11+00:00"
},
{
"name": "nikic/php-parser",
"version": "v4.13.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "50953a2691a922aa1769461637869a0a2faa3f53"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/50953a2691a922aa1769461637869a0a2faa3f53",
"reference": "50953a2691a922aa1769461637869a0a2faa3f53",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"php": ">=7.0"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
"phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
},
"bin": [
"bin/php-parse"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.9-dev"
}
},
"autoload": {
"psr-4": {
"PhpParser\\": "lib/PhpParser"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Nikita Popov"
}
],
"description": "A PHP parser written in PHP",
"keywords": [
"parser",
"php"
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.13.0"
},
"time": "2021-09-20T12:20:58+00:00"
},
{
"name": "openlss/lib-array2xml",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/nullivex/lib-array2xml.git",
"reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/a91f18a8dfc69ffabe5f9b068bc39bb202c81d90",
"reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"type": "library",
"autoload": {
"psr-0": {
"LSS": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "Bryan Tong",
"email": "bryan@nullivex.com",
"homepage": "https://www.nullivex.com"
},
{
"name": "Tony Butler",
"email": "spudz76@gmail.com",
"homepage": "https://www.nullivex.com"
}
],
"description": "Array2XML conversion library credit to lalit.org",
"homepage": "https://www.nullivex.com",
"keywords": [
"array",
"array conversion",
"xml",
"xml conversion"
],
"support": {
"issues": "https://github.com/nullivex/lib-array2xml/issues",
"source": "https://github.com/nullivex/lib-array2xml/tree/master"
},
"time": "2019-03-29T20:06:56+00:00"
},
{
"name": "phar-io/manifest",
"version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
"reference": "97803eca37d319dfa7826cc2437fc020857acb53"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
"reference": "97803eca37d319dfa7826cc2437fc020857acb53",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-phar": "*",
"ext-xmlwriter": "*",
"phar-io/version": "^3.0.1",
"php": "^7.2 || ^8.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Arne Blankerts",
"email": "arne@blankerts.de",
"role": "Developer"
},
{
"name": "Sebastian Heuer",
"email": "sebastian@phpeople.de",
"role": "Developer"
},
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "Developer"
}
],
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"support": {
"issues": "https://github.com/phar-io/manifest/issues",
"source": "https://github.com/phar-io/manifest/tree/2.0.3"
},
"time": "2021-07-20T11:28:43+00:00"
},
{
"name": "phar-io/version",
"version": "3.1.0",
"source": {
"type": "git",
"url": "https://github.com/phar-io/version.git",
"reference": "bae7c545bef187884426f042434e561ab1ddb182"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182",
"reference": "bae7c545bef187884426f042434e561ab1ddb182",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"type": "library",
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Arne Blankerts",
"email": "arne@blankerts.de",
"role": "Developer"
},
{
"name": "Sebastian Heuer",
"email": "sebastian@phpeople.de",
"role": "Developer"
},
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "Developer"
}
],
"description": "Library for handling version information and constraints",
"support": {
"issues": "https://github.com/phar-io/version/issues",
"source": "https://github.com/phar-io/version/tree/3.1.0"
},
"time": "2021-02-23T14:00:09+00:00"
},
{
"name": "phpdocumentor/reflection-common",
"version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
"reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
"reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-2.x": "2.x-dev"
}
},
"autoload": {
"psr-4": {
"phpDocumentor\\Reflection\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jaap van Otterdijk",
"email": "opensource@ijaap.nl"
}
],
"description": "Common reflection classes used by phpdocumentor to reflect the code structure",
"homepage": "http://www.phpdoc.org",
"keywords": [
"FQSEN",
"phpDocumentor",
"phpdoc",
"reflection",
"static analysis"
],
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
"source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
},
"time": "2020-06-27T09:03:43+00:00"
},
{
"name": "phpdocumentor/reflection-docblock",
"version": "5.2.2",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
"reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
"shasum": ""
},
"require": {
"ext-filter": "*",
"php": "^7.2 || ^8.0",
"phpdocumentor/reflection-common": "^2.2",
"phpdocumentor/type-resolver": "^1.3",
"webmozart/assert": "^1.9.1"
},
"require-dev": {
"mockery/mockery": "~1.3.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "5.x-dev"
}
},
"autoload": {
"psr-4": {
"phpDocumentor\\Reflection\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Mike van Riel",
"email": "me@mikevanriel.com"
},
{
"name": "Jaap van Otterdijk",
"email": "account@ijaap.nl"
}
],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
},
"time": "2020-09-03T19:13:55+00:00"
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.5.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0",
"phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
"psalm/phar": "^4.8"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-1.x": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"phpDocumentor\\Reflection\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Mike van Riel",
"email": "me@mikevanriel.com"
}
],
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
},
"time": "2021-10-02T14:08:47+00:00"
},
{
"name": "phpspec/prophecy",
"version": "1.14.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
"reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
"reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.2",
"php": "^7.2 || ~8.0, <8.2",
"phpdocumentor/reflection-docblock": "^5.2",
"sebastian/comparator": "^3.0 || ^4.0",
"sebastian/recursion-context": "^3.0 || ^4.0"
},
"require-dev": {
"phpspec/phpspec": "^6.0 || ^7.0",
"phpunit/phpunit": "^8.0 || ^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Prophecy\\": "src/Prophecy"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "ever.zet@gmail.com",
"homepage": "http://everzet.com"
},
{
"name": "Marcello Duarte",
"email": "marcello.duarte@gmail.com"
}
],
"description": "Highly opinionated mocking framework for PHP 5.3+",
"homepage": "https://github.com/phpspec/prophecy",
"keywords": [
"Double",
"Dummy",
"fake",
"mock",
"spy",
"stub"
],
"support": {
"issues": "https://github.com/phpspec/prophecy/issues",
"source": "https://github.com/phpspec/prophecy/tree/1.14.0"
},
"time": "2021-09-10T09:02:12+00:00"
},
{
"name": "phpspec/prophecy-phpunit",
"version": "v2.0.1",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy-phpunit.git",
"reference": "2d7a9df55f257d2cba9b1d0c0963a54960657177"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/2d7a9df55f257d2cba9b1d0c0963a54960657177",
"reference": "2d7a9df55f257d2cba9b1d0c0963a54960657177",
"shasum": ""
},
"require": {
"php": "^7.3 || ^8",
"phpspec/prophecy": "^1.3",
"phpunit/phpunit": "^9.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0-dev"
}
},
"autoload": {
"psr-4": {
"Prophecy\\PhpUnit\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Christophe Coevoet",
"email": "stof@notk.org"
}
],
"description": "Integrating the Prophecy mocking library in PHPUnit test cases",
"homepage": "http://phpspec.net",
"keywords": [
"phpunit",
"prophecy"
],
"support": {
"issues": "https://github.com/phpspec/prophecy-phpunit/issues",
"source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.0.1"
},
"time": "2020-07-09T08:33:42+00:00"
},
{
"name": "phpunit/php-code-coverage",
"version": "9.2.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "d4c798ed8d51506800b441f7a13ecb0f76f12218"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/d4c798ed8d51506800b441f7a13ecb0f76f12218",
"reference": "d4c798ed8d51506800b441f7a13ecb0f76f12218",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
"nikic/php-parser": "^4.12.0",
"php": ">=7.3",
"phpunit/php-file-iterator": "^3.0.3",
"phpunit/php-text-template": "^2.0.2",
"sebastian/code-unit-reverse-lookup": "^2.0.2",
"sebastian/complexity": "^2.0",
"sebastian/environment": "^5.1.2",
"sebastian/lines-of-code": "^1.0.3",
"sebastian/version": "^3.0.1",
"theseer/tokenizer": "^1.2.0"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"suggest": {
"ext-pcov": "*",
"ext-xdebug": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "9.2-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
"homepage": "https://github.com/sebastianbergmann/php-code-coverage",
"keywords": [
"coverage",
"testing",
"xunit"
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.7"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2021-09-17T05:39:03+00:00"
},
{
"name": "phpunit/php-file-iterator",
"version": "3.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "aa4be8575f26070b100fccb67faabb28f21f66f8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8",
"reference": "aa4be8575f26070b100fccb67faabb28f21f66f8",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
"keywords": [
"filesystem",
"iterator"
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-09-28T05:57:25+00:00"
},
{
"name": "phpunit/php-invoker",
"version": "3.1.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
"reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
"reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"ext-pcntl": "*",
"phpunit/phpunit": "^9.3"
},
"suggest": {
"ext-pcntl": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "Invoke callables with a timeout",
"homepage": "https://github.com/sebastianbergmann/php-invoker/",
"keywords": [
"process"
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
"source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-09-28T05:58:55+00:00"
},
{
"name": "phpunit/php-text-template",
"version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
"reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
"reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "Simple template engine.",
"homepage": "https://github.com/sebastianbergmann/php-text-template/",
"keywords": [
"template"
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
"source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-10-26T05:33:50+00:00"
},
{
"name": "phpunit/php-timer",
"version": "5.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
"reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
"reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "5.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "Utility class for timing",
"homepage": "https://github.com/sebastianbergmann/php-timer/",
"keywords": [
"timer"
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
"source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-10-26T13:16:10+00:00"
},
{
"name": "phpunit/phpunit",
"version": "9.5.10",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c814a05837f2edb0d1471d6e3f4ab3501ca3899a",
"reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.3.1",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
"myclabs/deep-copy": "^1.10.1",
"phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
"php": ">=7.3",
"phpspec/prophecy": "^1.12.1",
"phpunit/php-code-coverage": "^9.2.7",
"phpunit/php-file-iterator": "^3.0.5",
"phpunit/php-invoker": "^3.1.1",
"phpunit/php-text-template": "^2.0.3",
"phpunit/php-timer": "^5.0.2",
"sebastian/cli-parser": "^1.0.1",
"sebastian/code-unit": "^1.0.6",
"sebastian/comparator": "^4.0.5",
"sebastian/diff": "^4.0.3",
"sebastian/environment": "^5.1.3",
"sebastian/exporter": "^4.0.3",
"sebastian/global-state": "^5.0.1",
"sebastian/object-enumerator": "^4.0.3",
"sebastian/resource-operations": "^3.0.3",
"sebastian/type": "^2.3.4",
"sebastian/version": "^3.0.2"
},
"require-dev": {
"ext-pdo": "*",
"phpspec/prophecy-phpunit": "^2.0.1"
},
"suggest": {
"ext-soap": "*",
"ext-xdebug": "*"
},
"bin": [
"phpunit"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "9.5-dev"
}
},
"autoload": {
"classmap": [
"src/"
],
"files": [
"src/Framework/Assert/Functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "The PHP Unit Testing framework.",
"homepage": "https://phpunit.de/",
"keywords": [
"phpunit",
"testing",
"xunit"
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.10"
},
"funding": [
{
"url": "https://phpunit.de/donate.html",
"type": "custom"
},
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2021-09-25T07:38:51+00:00"
},
{
"name": "psalm/plugin-phpunit",
"version": "0.16.1",
"source": {
"type": "git",
"url": "https://github.com/psalm/psalm-plugin-phpunit.git",
"reference": "5dd3be04f37a857d52880ef6af2524a441dfef24"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/5dd3be04f37a857d52880ef6af2524a441dfef24",
"reference": "5dd3be04f37a857d52880ef6af2524a441dfef24",
"shasum": ""
},
"require": {
"composer/package-versions-deprecated": "^1.10",
"composer/semver": "^1.4 || ^2.0 || ^3.0",
"ext-simplexml": "*",
"php": "^7.1 || ^8.0",
"vimeo/psalm": "dev-master || dev-4.x || ^4.5"
},
"conflict": {
"phpunit/phpunit": "<7.5"
},
"require-dev": {
"codeception/codeception": "^4.0.3",
"php": "^7.3 || ^8.0",
"phpunit/phpunit": "^7.5 || ^8.0 || ^9.0",
"squizlabs/php_codesniffer": "^3.3.1",
"weirdan/codeception-psalm-module": "^0.11.0",
"weirdan/prophecy-shim": "^1.0 || ^2.0"
},
"type": "psalm-plugin",
"extra": {
"psalm": {
"pluginClass": "Psalm\\PhpUnitPlugin\\Plugin"
}
},
"autoload": {
"psr-4": {
"Psalm\\PhpUnitPlugin\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Matt Brown",
"email": "github@muglug.com"
}
],
"description": "Psalm plugin for PHPUnit",
"support": {
"issues": "https://github.com/psalm/psalm-plugin-phpunit/issues",
"source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.16.1"
},
"time": "2021-06-18T23:56:46+00:00"
},
{
"name": "psr/cache",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/cache.git",
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Cache\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for caching libraries",
"keywords": [
"cache",
"psr",
"psr-6"
],
"support": {
"source": "https://github.com/php-fig/cache/tree/master"
},
"time": "2016-08-06T20:24:11+00:00"
},
{
"name": "psr/container",
"version": "1.1.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
"shasum": ""
},
"require": {
"php": ">=7.2.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Psr\\Container\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common Container Interface (PHP FIG PSR-11)",
"homepage": "https://github.com/php-fig/container",
"keywords": [
"PSR-11",
"container",
"container-interface",
"container-interop",
"psr"
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
"source": "https://github.com/php-fig/container/tree/1.1.1"
},
"time": "2021-03-05T17:36:06+00:00"
},
{
"name": "psr/log",
"version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "d49695b909c3b7628b6289db5479a1c204601f11"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
"reference": "d49695b909c3b7628b6289db5479a1c204601f11",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Log\\": "Psr/Log/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
"homepage": "https://github.com/php-fig/log",
"keywords": [
"log",
"psr",
"psr-3"
],
"support": {
"source": "https://github.com/php-fig/log/tree/1.1.4"
},
"time": "2021-05-03T11:20:27+00:00"
},
{
"name": "psr/simple-cache",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/simple-cache.git",
"reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
"reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\SimpleCache\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interfaces for simple caching",
"keywords": [
"cache",
"caching",
"psr",
"psr-16",
"simple-cache"
],
"support": {
"source": "https://github.com/php-fig/simple-cache/tree/master"
},
"time": "2017-10-23T01:57:42+00:00"
},
{
"name": "sebastian/cli-parser",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
"reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
"reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "Library for parsing CLI options",
"homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
"source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-09-28T06:08:49+00:00"
},
{
"name": "sebastian/code-unit",
"version": "1.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
"reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
"reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "Collection of value objects that represent the PHP code units",
"homepage": "https://github.com/sebastianbergmann/code-unit",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit/issues",
"source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-10-26T13:08:54+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
"version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
"reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
"reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
}
],
"description": "Looks up which function or method a line of code belongs to",
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
"source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-09-28T05:30:19+00:00"
},
{
"name": "sebastian/comparator",
"version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "55f4261989e546dc112258c7a75935a81a7ce382"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
"reference": "55f4261989e546dc112258c7a75935a81a7ce382",
"shasum": ""
},
"require": {
"php": ">=7.3",
"sebastian/diff": "^4.0",
"sebastian/exporter": "^4.0"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
},
{
"name": "Jeff Welch",
"email": "whatthejeff@gmail.com"
},
{
"name": "Volker Dusch",
"email": "github@wallbash.com"
},
{
"name": "Bernhard Schussek",
"email": "bschussek@2bepublished.at"
}
],
"description": "Provides the functionality to compare PHP values for equality",
"homepage": "https://github.com/sebastianbergmann/comparator",
"keywords": [
"comparator",
"compare",
"equality"
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-10-26T15:49:45+00:00"
},
{
"name": "sebastian/complexity",
"version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
"reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
"reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
"shasum": ""
},
"require": {
"nikic/php-parser": "^4.7",
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "Library for calculating the complexity of PHP code units",
"homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
"source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-10-26T15:52:27+00:00"
},
{
"name": "sebastian/diff",
"version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
"reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3",
"symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
},
{
"name": "Kore Nordmann",
"email": "mail@kore-nordmann.de"
}
],
"description": "Diff implementation",
"homepage": "https://github.com/sebastianbergmann/diff",
"keywords": [
"diff",
"udiff",
"unidiff",
"unified diff"
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-10-26T13:10:38+00:00"
},
{
"name": "sebastian/environment",
"version": "5.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "388b6ced16caa751030f6a69e588299fa09200ac"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac",
"reference": "388b6ced16caa751030f6a69e588299fa09200ac",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"suggest": {
"ext-posix": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "5.1-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
}
],
"description": "Provides functionality to handle HHVM/PHP environments",
"homepage": "http://www.github.com/sebastianbergmann/environment",
"keywords": [
"Xdebug",
"environment",
"hhvm"
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"source": "https://github.com/sebastianbergmann/environment/tree/5.1.3"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-09-28T05:52:38+00:00"
},
{
"name": "sebastian/exporter",
"version": "4.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65",
"reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65",
"shasum": ""
},
"require": {
"php": ">=7.3",
"sebastian/recursion-context": "^4.0"
},
"require-dev": {
"ext-mbstring": "*",
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
},
{
"name": "Jeff Welch",
"email": "whatthejeff@gmail.com"
},
{
"name": "Volker Dusch",
"email": "github@wallbash.com"
},
{
"name": "Adam Harvey",
"email": "aharvey@php.net"
},
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "Provides the functionality to export PHP variables for visualization",
"homepage": "http://www.github.com/sebastianbergmann/exporter",
"keywords": [
"export",
"exporter"
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-09-28T05:24:23+00:00"
},
{
"name": "sebastian/global-state",
"version": "5.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
"reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/23bd5951f7ff26f12d4e3242864df3e08dec4e49",
"reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49",
"shasum": ""
},
"require": {
"php": ">=7.3",
"sebastian/object-reflector": "^2.0",
"sebastian/recursion-context": "^4.0"
},
"require-dev": {
"ext-dom": "*",
"phpunit/phpunit": "^9.3"
},
"suggest": {
"ext-uopz": "*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "5.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
}
],
"description": "Snapshotting of global state",
"homepage": "http://www.github.com/sebastianbergmann/global-state",
"keywords": [
"global state"
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"source": "https://github.com/sebastianbergmann/global-state/tree/5.0.3"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2021-06-11T13:31:12+00:00"
},
{
"name": "sebastian/lines-of-code",
"version": "1.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
"reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
"reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
"shasum": ""
},
"require": {
"nikic/php-parser": "^4.6",
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "Library for counting the lines of code in PHP source code",
"homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
"source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-11-28T06:42:11+00:00"
},
{
"name": "sebastian/object-enumerator",
"version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
"reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
"reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
"shasum": ""
},
"require": {
"php": ">=7.3",
"sebastian/object-reflector": "^2.0",
"sebastian/recursion-context": "^4.0"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
}
],
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
"source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-10-26T13:12:34+00:00"
},
{
"name": "sebastian/object-reflector",
"version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
"reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
"reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
}
],
"description": "Allows reflection of object attributes, including inherited and non-public ones",
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
"source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-10-26T13:14:26+00:00"
},
{
"name": "sebastian/recursion-context",
"version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
"reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
},
{
"name": "Jeff Welch",
"email": "whatthejeff@gmail.com"
},
{
"name": "Adam Harvey",
"email": "aharvey@php.net"
}
],
"description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-10-26T13:17:30+00:00"
},
{
"name": "sebastian/resource-operations",
"version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/resource-operations.git",
"reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
"reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
}
],
"description": "Provides a list of PHP built-in functions that operate on resources",
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
"support": {
"issues": "https://github.com/sebastianbergmann/resource-operations/issues",
"source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-09-28T06:45:17+00:00"
},
{
"name": "sebastian/type",
"version": "2.3.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
"reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914",
"reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "Collection of value objects that represent the types of the PHP type system",
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"source": "https://github.com/sebastianbergmann/type/tree/2.3.4"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2021-06-15T12:49:02+00:00"
},
{
"name": "sebastian/version",
"version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
"reference": "c6c1022351a901512170118436c764e473f6de8c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
"reference": "c6c1022351a901512170118436c764e473f6de8c",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
"homepage": "https://github.com/sebastianbergmann/version",
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
"source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-09-28T06:39:44+00:00"
},
{
"name": "squizlabs/php_codesniffer",
"version": "2.9.2",
"source": {
"type": "git",
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
"reference": "2acf168de78487db620ab4bc524135a13cfe6745"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/2acf168de78487db620ab4bc524135a13cfe6745",
"reference": "2acf168de78487db620ab4bc524135a13cfe6745",
"shasum": ""
},
"require": {
"ext-simplexml": "*",
"ext-tokenizer": "*",
"ext-xmlwriter": "*",
"php": ">=5.1.2"
},
"require-dev": {
"phpunit/phpunit": "~4.0"
},
"bin": [
"scripts/phpcs",
"scripts/phpcbf"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.x-dev"
}
},
"autoload": {
"classmap": [
"CodeSniffer.php",
"CodeSniffer/CLI.php",
"CodeSniffer/Exception.php",
"CodeSniffer/File.php",
"CodeSniffer/Fixer.php",
"CodeSniffer/Report.php",
"CodeSniffer/Reporting.php",
"CodeSniffer/Sniff.php",
"CodeSniffer/Tokens.php",
"CodeSniffer/Reports/",
"CodeSniffer/Tokenizers/",
"CodeSniffer/DocGenerators/",
"CodeSniffer/Standards/AbstractPatternSniff.php",
"CodeSniffer/Standards/AbstractScopeSniff.php",
"CodeSniffer/Standards/AbstractVariableSniff.php",
"CodeSniffer/Standards/IncorrectPatternException.php",
"CodeSniffer/Standards/Generic/Sniffs/",
"CodeSniffer/Standards/MySource/Sniffs/",
"CodeSniffer/Standards/PEAR/Sniffs/",
"CodeSniffer/Standards/PSR1/Sniffs/",
"CodeSniffer/Standards/PSR2/Sniffs/",
"CodeSniffer/Standards/Squiz/Sniffs/",
"CodeSniffer/Standards/Zend/Sniffs/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Greg Sherwood",
"role": "lead"
}
],
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
"homepage": "http://www.squizlabs.com/php-codesniffer",
"keywords": [
"phpcs",
"standards"
],
"support": {
"issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
"source": "https://github.com/squizlabs/PHP_CodeSniffer",
"wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
},
"time": "2018-11-07T22:31:41+00:00"
},
{
"name": "symfony/console",
"version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "8b1008344647462ae6ec57559da166c2bfa5e16a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/8b1008344647462ae6ec57559da166c2bfa5e16a",
"reference": "8b1008344647462ae6ec57559da166c2bfa5e16a",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php73": "^1.8",
"symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.1|^2",
"symfony/string": "^5.1"
},
"conflict": {
"psr/log": ">=3",
"symfony/dependency-injection": "<4.4",
"symfony/dotenv": "<5.1",
"symfony/event-dispatcher": "<4.4",
"symfony/lock": "<4.4",
"symfony/process": "<4.4"
},
"provide": {
"psr/log-implementation": "1.0|2.0"
},
"require-dev": {
"psr/log": "^1|^2",
"symfony/config": "^4.4|^5.0",
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/event-dispatcher": "^4.4|^5.0",
"symfony/lock": "^4.4|^5.0",
"symfony/process": "^4.4|^5.0",
"symfony/var-dumper": "^4.4|^5.0"
},
"suggest": {
"psr/log": "For using the console logger",
"symfony/event-dispatcher": "",
"symfony/lock": "",
"symfony/process": ""
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Console\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Eases the creation of beautiful and testable command line interfaces",
"homepage": "https://symfony.com",
"keywords": [
"cli",
"command line",
"console",
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v5.3.7"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-08-25T20:02:16+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627",
"reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
}
},
"autoload": {
"files": [
"function.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-03-23T23:28:01+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce",
"reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"suggest": {
"ext-ctype": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Ctype\\": ""
},
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Gert de Pagter",
"email": "BackEndTea@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"ctype",
"polyfill",
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-02-19T12:13:01+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
"reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
"reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Intl\\Grapheme\\": ""
},
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for intl's grapheme_* functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"grapheme",
"intl",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-05-27T12:26:48+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
"reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8",
"reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Intl\\Normalizer\\": ""
},
"files": [
"bootstrap.php"
],
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for intl's Normalizer class and related functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"intl",
"normalizer",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-02-19T12:13:01+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
"reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"suggest": {
"ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
},
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"mbstring",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-05-27T12:26:48+00:00"
},
{
"name": "symfony/polyfill-php73",
"version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
"reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010",
"reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Php73\\": ""
},
"files": [
"bootstrap.php"
],
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-02-19T12:13:01+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
"reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"files": [
"bootstrap.php"
],
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-07-28T13:41:28+00:00"
},
{
"name": "symfony/service-contracts",
"version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
"reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"psr/container": "^1.1"
},
"suggest": {
"symfony/service-implementation": ""
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
}
},
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Service\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Generic abstractions related to writing services",
"homepage": "https://symfony.com",
"keywords": [
"abstractions",
"contracts",
"decoupling",
"interfaces",
"interoperability",
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/v2.4.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-04-01T10:43:52+00:00"
},
{
"name": "symfony/string",
"version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/8d224396e28d30f81969f083a58763b8b9ceb0a5",
"reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php80": "~1.15"
},
"require-dev": {
"symfony/error-handler": "^4.4|^5.0",
"symfony/http-client": "^4.4|^5.0",
"symfony/translation-contracts": "^1.1|^2",
"symfony/var-exporter": "^4.4|^5.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\String\\": ""
},
"files": [
"Resources/functions.php"
],
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
"homepage": "https://symfony.com",
"keywords": [
"grapheme",
"i18n",
"string",
"unicode",
"utf-8",
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v5.3.7"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-08-26T08:00:08+00:00"
},
{
"name": "theseer/tokenizer",
"version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
"reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
"reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-tokenizer": "*",
"ext-xmlwriter": "*",
"php": "^7.2 || ^8.0"
},
"type": "library",
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Arne Blankerts",
"email": "arne@blankerts.de",
"role": "Developer"
}
],
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
"source": "https://github.com/theseer/tokenizer/tree/1.2.1"
},
"funding": [
{
"url": "https://github.com/theseer",
"type": "github"
}
],
"time": "2021-07-28T10:34:58+00:00"
},
{
"name": "vimeo/psalm",
"version": "4.10.0",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "916b098b008f6de4543892b1e0651c1c3b92cbfa"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/916b098b008f6de4543892b1e0651c1c3b92cbfa",
"reference": "916b098b008f6de4543892b1e0651c1c3b92cbfa",
"shasum": ""
},
"require": {
"amphp/amp": "^2.4.2",
"amphp/byte-stream": "^1.5",
"composer/package-versions-deprecated": "^1.8.0",
"composer/semver": "^1.4 || ^2.0 || ^3.0",
"composer/xdebug-handler": "^1.1 || ^2.0",
"dnoegel/php-xdg-base-dir": "^0.1.1",
"ext-ctype": "*",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-simplexml": "*",
"ext-tokenizer": "*",
"felixfbecker/advanced-json-rpc": "^3.0.3",
"felixfbecker/language-server-protocol": "^1.5",
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
"nikic/php-parser": "^4.12",
"openlss/lib-array2xml": "^1.0",
"php": "^7.1|^8",
"sebastian/diff": "^3.0 || ^4.0",
"symfony/console": "^3.4.17 || ^4.1.6 || ^5.0",
"webmozart/path-util": "^2.3"
},
"provide": {
"psalm/psalm": "self.version"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.2",
"brianium/paratest": "^4.0||^6.0",
"ext-curl": "*",
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpdocumentor/reflection-docblock": "^5",
"phpmyadmin/sql-parser": "5.1.0||dev-master",
"phpspec/prophecy": ">=1.9.0",
"phpunit/phpunit": "^9.0",
"psalm/plugin-phpunit": "^0.16",
"slevomat/coding-standard": "^7.0",
"squizlabs/php_codesniffer": "^3.5",
"symfony/process": "^4.3 || ^5.0",
"weirdan/prophecy-shim": "^1.0 || ^2.0"
},
"suggest": {
"ext-igbinary": "^2.0.5"
},
"bin": [
"psalm",
"psalm-language-server",
"psalm-plugin",
"psalm-refactor",
"psalter"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.x-dev",
"dev-3.x": "3.x-dev",
"dev-2.x": "2.x-dev",
"dev-1.x": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Psalm\\": "src/Psalm/"
},
"files": [
"src/functions.php",
"src/spl_object_id.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Matthew Brown"
}
],
"description": "A static analysis tool for finding errors in PHP applications",
"keywords": [
"code",
"inspection",
"php"
],
"support": {
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm/tree/4.10.0"
},
"time": "2021-09-04T21:00:09+00:00"
},
{
"name": "webimpress/safe-writer",
"version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/webimpress/safe-writer.git",
"reference": "9d37cc8bee20f7cb2f58f6e23e05097eab5072e6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webimpress/safe-writer/zipball/9d37cc8bee20f7cb2f58f6e23e05097eab5072e6",
"reference": "9d37cc8bee20f7cb2f58f6e23e05097eab5072e6",
"shasum": ""
},
"require": {
"php": "^7.3 || ^8.0"
},
"require-dev": {
"phpunit/phpunit": "^9.5.4",
"vimeo/psalm": "^4.7",
"webimpress/coding-standard": "^1.2.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2.x-dev",
"dev-develop": "2.3.x-dev",
"dev-release-1.0": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Webimpress\\SafeWriter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-2-Clause"
],
"description": "Tool to write files safely, to avoid race conditions",
"keywords": [
"concurrent write",
"file writer",
"race condition",
"safe writer",
"webimpress"
],
"support": {
"issues": "https://github.com/webimpress/safe-writer/issues",
"source": "https://github.com/webimpress/safe-writer/tree/2.2.0"
},
"funding": [
{
"url": "https://github.com/michalbundyra",
"type": "github"
}
],
"time": "2021-04-19T16:34:45+00:00"
},
{
"name": "webmozart/assert",
"version": "1.10.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
"reference": "6964c76c7804814a842473e0c8fd15bab0f18e25"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25",
"reference": "6964c76c7804814a842473e0c8fd15bab0f18e25",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"phpstan/phpstan": "<0.12.20",
"vimeo/psalm": "<4.6.1 || 4.6.2"
},
"require-dev": {
"phpunit/phpunit": "^8.5.13"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.10-dev"
}
},
"autoload": {
"psr-4": {
"Webmozart\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "Assertions to validate method input/output with nice error messages.",
"keywords": [
"assert",
"check",
"validate"
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
"source": "https://github.com/webmozarts/assert/tree/1.10.0"
},
"time": "2021-03-09T10:59:23+00:00"
},
{
"name": "webmozart/path-util",
"version": "2.3.0",
"source": {
"type": "git",
"url": "https://github.com/webmozart/path-util.git",
"reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
"reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"webmozart/assert": "~1.0"
},
"require-dev": {
"phpunit/phpunit": "^4.6",
"sebastian/version": "^1.0.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3-dev"
}
},
"autoload": {
"psr-4": {
"Webmozart\\PathUtil\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
"support": {
"issues": "https://github.com/webmozart/path-util/issues",
"source": "https://github.com/webmozart/path-util/tree/2.3.0"
},
"time": "2015-12-17T08:42:14+00:00"
}
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"platform-dev": {
"ext-dom": "*"
},
"plugin-api-version": "2.1.0"
}
PK LMSK phpcs.xmlnu ٘
src
test
*/_templates/*
PK LMS_ psalm-baseline.xmlnu ٘
$templatePath
$file
$file->getExtension()
$templatePath
$file
$files[]
getExtension
getPathname
null|Renderer
null
$val
$attribs
$val
bool
isXhtml
$this->getView()->plugin('doctype')->isXhtml()
null
plugin
plugin
(array) $attribs
plugin
plugin
string
$this->resourceMap[$asset]
null === $this->basePath
$basePath
$file
Cycle
Cycle
$this->data[$this->name]
$this->data[$this->name]
$this->data[$this->name][$this->key()]
$this->data[$this->name][$this->key()]
array
int
$this->pointers[$this->name]
$this->pointers[$this->name]
$this->data[$this->name]
$this->pointers[$this->name]
$view
$key
$value
$name
$key
$value
$vars
$vars->$key
$view
vars
vars
vars
vars
null === static::$registeredDoctypes
$this->__invoke()
$this->registry['doctypes'][$type]
array
string
$doctypes[$this->getDoctype()]
$this->registry['doctype']
$this->registry['doctypes']
$registry
escapeCss
escapeHtml
escapeHtmlAttr
escapeJs
escapeUrl
null === $this->escaper
$v
$value[$k]
null
null !== $this->escaper
null === $this->pluginFlashMessenger
$item
$escapeHtmlHelper
$pluginFlashMessenger
$messageOpenFormat
$messageSeparatorString
$item
$messagesToPrint
$classes
$classes
$messagesToPrint[]
$messagesToPrint[]
$classes
$classes
$messagesToPrint[]
$messagesToPrint[]
$this->escapeHtmlHelper
FlashMessenger
string
string
$this->messageOpenFormat
$this->messageSeparatorString
(bool) $autoEscape
(string) $messageCloseString
(string) $messageOpenFormat
(string) $messageSeparatorString
$this->escapeHtmlHelper
null !== $this->view
V2PluginFlashMessenger
$flashMessenger
$flashMessenger
$flashMessenger
V2PluginFlashMessenger|PluginFlashMessenger
V2PluginFlashMessenger|PluginFlashMessenger
V2PluginFlashMessenger|PluginFlashMessenger
$flag === null
$attributes
$email
$emailIsHashed
$key
$value
bool
int
string
string
$this->options['default_img']
$this->options['img_size']
$this->options['rating']
$this->options['secure']
(bool) $flag
(int) $imgSize
(bool) $flag
$item
$this
$this->getContainer()->offsetSet($index, $value)
$this->getContainer()->set($value)
parent::__call($method, $args)
HeadLink
$args
$args
$args
$args[0]
$attributes[$itemKey]
$href
$index
$item
$item
$method
$method
$method
$this->getSeparator()
$value
($this->autoEscape) ? $this->escapeAttribute($attributes[$itemKey]) : $attributes[$itemKey]
($this->autoEscape) ? $this->escapeAttribute($value) : $value
$extras['media']
$media
$args[0]
$args[0]
$conditionalStylesheet
$extras
$extras
$href
$href
$indent
$index
$item
$item
$item
$media
$title
$type
$value
HeadLink
void
$indent
$indent
$item->href
$item->rel
call_user_func_array([$this, '__invoke'], func_get_args())
$value
$index
$item
$index
(string) $conditionalStylesheet
$args
getIndent
getSeparator
getWhitespace
setSeparator
! $item instanceof stdClass
$item
$value
$item
public function setCharset($charset)
$this->getContainer()->offsetSet($index, $value)
$this->getContainer()->offsetUnset($index)
$charset
setCharset
$args[0]
$args[1]
$args[2]
$index
$item
$item->$type
$item->content
$item->type
$key
$this->autoEscape ? $this->escapeAttribute($item->$type) : $item->$type
$this->autoEscape ? $this->escapeAttribute($item->content) : $item->content
$this->autoEscape ? $this->escapeAttribute($value) : $value
$this->getSeparator()
$type
$value
$doctype
$indent
$index
$isHtml5
$item
$item
$key
$type
$value
HeadMeta
isHtml5
isHtml5
isHtml5
isHtml5
isHtml5
isRdfa
isXhtml
$indent
$indent
$item->type
$item->{$item->type}
parent::__call($method, $args)
$value
$this->offsetSet($index, $item)
$index
$index
$args[0]
$args[1]
$args[0]
$args[1]
plugin
plugin
plugin
getIndent
getSeparator
getWhitespace
setSeparator
['type']
$this->getContainer()->offsetSet($index, $value)
$this->getContainer()->set($value)
void
$content
$content
$indent
$index
$index
$item->attributes
$item->attributes['conditional']
$item->type
$item->type
$key
$key
$key
$this->getSeparator()
$value
($this->autoEscape) ? $this->escapeAttribute($value) : $value
$attrs['src']
$content
$indent
$index
$item
$item
$key
$this->captureType
$type
$useCdata
$value
HeadScript
isHtml5
isXhtml
$item->attributes['conditional']
$item->source
$type
$item->attributes
$item->attributes
$item->source
$item->source
$item->type
parent::__call($method, $args)
$index
null
$captureLock
$captureScriptType
$captureType
(bool) $flag
$this->view
(null !== $spec) && is_string($spec)
is_string($spec)
plugin
plugin
getIndent
getSeparator
getWhitespace
setSeparator
$this
$this->getContainer()->offsetSet($index, $value)
$this->getContainer()->set($value)
parent::__call($method, $args)
void
$content
$enc
$escaper->escapeHtmlAttr($value)
$indent
$index
$item
$item->attributes['conditional']
$key
$value
$value
$attributes['media']
$item->attributes['conditional']
$content
$enc
$escaper
$indent
$index
$item
$key
$value
void
escapeHtmlAttr
$indent
$indent
$item->attributes['conditional']
$item->content
$index
$escapeEnd
$escapeStart
$attrs
null
null
$captureLock
$captureType
$this->view instanceof View\Renderer\RendererInterface
(null !== $content) && is_string($content)
is_string($content)
getIndent
getSeparator
getWhitespace
setSeparator
$item
$item
function ($item) {
$item
$separator
$items
$indent
$item
$items[]
$postfix
$prefix
$separator
$setType
$indent
$postfix
$prefix
null
translate
HeadTitle
$this->getView()->plugin('escapehtml')->getEscaper()
$this->getView()->plugin('escapehtmlattr')->getEscaper()
getEscaper
getEscaper
plugin
plugin
plugin
plugin
$htmlObject
$htmlObject($data, self::TYPE, $attribs, $params, $content)
string
$htmlObject($data, self::TYPE, $attribs, $params, $content)
plugin
plugin
array
$escaper
$item
$item
$escaper($item)
$item
plugin
plugin
is_array($content)
$content
$options
$options
$htmlObject
$htmlObject($data, self::TYPE, $attribs, $params, $content)
string
$htmlObject($data, self::TYPE, $attribs, $params, $content)
plugin
plugin
$htmlObject
$htmlObject($data, self::TYPE, $attribs, $params, $content)
string
$htmlObject($data, self::TYPE, $attribs, $params, $content)
plugin
plugin
$value
$name
$value
(bool) $useNamespaces
$this->authenticationService instanceof AuthenticationServiceInterface
$authenticationService
parent::__invoke($mode, $spec, $placement, $attrs, $type)
InlineScript
InlineScript
InlineScript
InlineScript
$response
null
$this->response instanceof Response
null === $this->viewModelHelper
$viewModelHelper
$this->viewModelHelper
ViewModel
$this->viewModelHelper
getTemplate
plugin
setTemplate
(string) $template
plugin
null === $this->plugins
false
call_user_func_array($helper, $arguments)
\Laminas\Navigation\Exception\ExceptionInterface
\Laminas\View\Exception\ExceptionInterface
$plugins
$helper
$helper
$helper
\Laminas\View\Helper\Navigation\HelperInterface
setContainer
setContainer
$helper
$container
(bool) $injectAcl
(bool) $injectContainer
(bool) $injectTranslator
(string) $proxy
$view
$helper
$view && $this->plugins
hasTranslator
setTranslator
getServiceLocator
getServiceLocator
! is_int($this->minDepth)
! is_string($message)
$container instanceof Navigation\AbstractContainer
$services
$this->acl === null
$this->role === null
null === $this->container
AbstractHelper
null|EventManagerInterface
Navigation\Exception\ExceptionInterface
$acl
$acl
$acl
$acl
$acl
$container
$container
$container
$container
$container
$events
$events
$events
$events
$events
$maxDepth
$maxDepth
$maxDepth
$maxDepth
$maxDepth
$minDepth
$minDepth
$minDepth
$minDepth
$role
$role
$role
$role
$role
$serviceLocator
$serviceLocator
$serviceLocator
$serviceLocator
$serviceLocator
$page->getTextDomain()
$page->getTextDomain()
$container
$container
$container
$label
$serviceLocator
$this->serviceLocator
$value
bool
$label
$results->last()
$events
strrpos($prefix, '\\')
$container
$container
$page->getTitle()
$acl
$maxDepth
$minDepth
$role
attach
getParent
translate
(bool) $renderInvisible
(bool) $useAcl
(string) $indent
$this->acl === null && static::$defaultAcl !== null
$this->role === null && static::$defaultRole !== null
is_int($maxDepth)
is_int($minDepth)
is_string($this->role)
is_string(static::$defaultRole)
null !== $this->container
static::$defaultAcl !== null
static::$defaultRole !== null
plugin
setSharedManager
null === $partial
$this->renderPartialModel($params, $container, $partial)
$this->renderPartialModel([], $container, $partial)
string
string
$partial
$active
$active->getLabel()
$active->getTextDomain()
$html
$model['pages']
$partial[0]
$model['pages'][]
$model['pages'][]
$active
$active
$active
$html
$model['pages'][]
$parent
$parent
getLabel
getParent
getParent
getTextDomain
$html
$html
$container
$container
$container
$partial
(bool) $linkLast
is_array($partial)
is_string($separator)
plugin
plugin
\Laminas\View\Exception\ExceptionInterface
\Laminas\View\Exception\ExceptionInterface
$relFlag
Exception\ExceptionInterface
$root
$active
$arguments[0]
$intermediate
$intermediate
$page
$page
$page->$meth()
$type
$relation
$result[$rel][$type]
$active
$found
$intermediate
$intermediate
$page
$page
$result
$type
$value
AbstractPage|array|null
array|null
$found
count($result) == 1 ? $result[0] : $result
$container
$container
null
(int) $renderFlag
$this->root
$acl
$page
$privilege
$resource
$role
getPrivilege
getResource
hasResource
isAllowed
$params['acl']
$params['page']
$params['role']
null === $partial
$this->renderPartialModel($params, $container, $partial)
$this->renderPartialModel([], $container, $partial)
string
string
$options['addClassToListItem']
$options['addClassToListItem']
$options['escapeLabels']
$options['escapeLabels']
$options['indent']
$options['indent']
$options['indent']
$options['liActiveClass']
$options['liActiveClass']
$options['maxDepth']
$options['maxDepth']
$options['minDepth']
$options['minDepth']
$options['onlyActiveBranch']
$options['ulClass']
$options['ulClass']
$page
$page
$page->getTextDomain()
$page->getTextDomain()
$partial[0]
$subPage
$liClasses
$active['page']
$active['page']
$escaper
$escaper
$foundDepth
$foundPage
$isActive
$liClasses[]
$page
$subPage
$escaper($ulClass)
$escaper($ulClass)
$escaper(implode(' ', $liClasses))
$escaper(implode(' ', $liClasses))
getClass
getClass
getParent
getParent
getParent
hasPage
hasPage
hasPages
hasPages
hasPages
isActive
$active['depth']
$escaper($label)
$escaper($ulClass)
$escaper($ulClass)
$escaper(implode(' ', $liClasses))
$escaper(implode(' ', $liClasses))
$foundDepth
$container
$container
$container
$page->getTitle()
$minDepth
$minDepth
$partial
null
(bool) $flag
(bool) $flag
(bool) $flag
(bool) $flag
is_array($partial)
is_string($liActiveClass)
is_string($ulClass)
plugin
plugin
plugin
plugin
$factories
$instanceOf
PluginManager
PluginManager
null|ConfigInterface|ContainerInterface
$serverUrl
$changefreq
$changefreq
$curDoc
$page
$page
$priority
$priority
$basePathHelper
$changefreq
$curDoc
$escaper
$page
$priority
$serverUrlHelper
$this->serverUrl
$basePathHelper()
$escaper($string)
$serverUrlHelper()
string
string
$escaper($string)
$this->serverUrl
$container
$lastmod
isValid
isValid
isValid
isValid
plugin
plugin
(bool) $formatOutput
(bool) $schemaValidation
(bool) $useSitemapValidators
(bool) $useXmlDecl
(string) $href
(string) $href
isset($this->serverUrl)
plugin
plugin
plugin
static::$defaultViewPartial === null
$partial
$partialHelper
$partialHelper
$partialHelper($partial, $pages)
$partialHelper($partial[0], $pages)
string
$partialHelper($partial, $pages)
$partialHelper($partial[0], $pages)
$this->view->paginator
null
plugin
plugin
is_scalar($values)
$objectKey
$objectKey
$values
$values
$values
$name
null
render
render
(string) $key
parent::setObjectKey($key)
$item
$item
$this->objectKey
array
$values->toArray()
$name
$values
self
parent::__invoke($name, $item)
(string) $key
new $this->containerClass($value)
$this->items[$key]
Container\AbstractContainer
$this->items
(string) $key
(string) $key
(string) $key
(string) $key
(string) $name
Container
Container
self
$items
$this[$key]
$key
int
$this[$key]
max($keys)
max($keys) + 1
$captureKey
$captureType
(string) $indent
(string) $postfix
(string) $prefix
(string) $separator
null !== $this->captureKey
$this->container instanceof AbstractContainer
$this->getContainer()->offsetSet($offset, $value)
$this->getContainer()->offsetUnset($offset)
new $this->containerClass()
$this->container
$container[$key]
$return
string
string
escapeHtml
escapeHtmlAttr
$this->getEscaper()->escapeHtml((string) $string)
$this->getEscaper()->escapeHtmlAttr((string) $string)
AbstractContainer
$enc
null
new $this->containerClass()
(bool) $autoEscape
(string) $string
(string) $string
null != $this->container
null === static::$instance
new $this->containerClass($value)
$this->items[$key]
Container\AbstractContainer
$this->items[$key]
Container\AbstractContainer
(string) $key
(string) $key
(string) $key
(string) $key
(string) $key
new static()
$current
$viewModelHelper
$childModel
$this->viewModelHelper
ViewModel
false|Model
captureTo
$childModel
$this->viewModelHelper
$this->getView()
$model = $this->getCurrent()
getChildren
render
$this->viewModelHelper
$placeholderHelper
$placeholderHelper($placeholder)
$placeholderHelper($placeholder)
captureEnd
captureStart
plugin
null === $this->host
null === $this->port
null === $this->scheme
$host
$port
$scheme
$_SERVER['HTTP_HOST']
$_SERVER['HTTP_HOST']
$_SERVER['HTTP_X_FORWARDED_PROTO']
$_SERVER['SERVER_PORT']
$_SERVER['SSL_HTTPS']
$host
$host
$host
$name
$port
$host
$name
$path
$port
$path
$port
(bool) $useProxy
(int) $port
AssetFactory
$config['view_helper_config']
$config
$configHelper
$container
get
$cName
getServiceLocator
$config['view_helper_config']['doctype']
$config['view_helper_config']
$config
FlashMessenger
FlashMessenger
new FlashMessenger()
FlashMessengerFactory
$configHelper['message_close_string']
$configHelper['message_open_format']
$configHelper['message_separator_string']
$flashMessenger
$configHelper['message_close_string']
$configHelper['message_open_format']
$configHelper['message_separator_string']
$config['view_helper_config']
$config
$configHelper
$container
$controllerPluginManager
$flashMessenger
get
get
get
$container
$requestedName
getServiceLocator
IdentityFactory
$cName
$rName
$cName
$container
$container
null|AuthenticationServiceInterface
$container->get(AuthenticationService::class)
$container->get(\Zend\Authentication\AuthenticationService::class)
getServiceLocator
$this
$this
$this
$translator
$translator
$translator
$translator
$translator
$translator
$translator
(bool) $enabled
3 == func_num_args() && is_bool($options)
is_array($params)
is_bool($options)
null === $this->router
$options['name']
protected $routeMatch;
$router
$routeMatch
$routeMatchParams
$routeMatchParams[ModuleRouteListener::MODULE_NAMESPACE]
$routeMatchParams[ModuleRouteListener::ORIGINAL_CONTROLLER]
$routeMatchParams[ModuleRouteListener::ORIGINAL_CONTROLLER]
$routeMatchParams['controller']
$name
$options['name']
$reuseMatchedParams
$routeMatchParams
$routeMatchParams['controller']
Url
Url
string
getMatchedRouteName
getParams
$this->router->assemble($params, $options)
$options
$this->router
LegacyRouteMatch|RouteMatch
LegacyRouteStackInterface|RouteStackInterface
LegacyRouteStackInterface|RouteStackInterface
$current
$root
Helper\FlashMessenger::class
Helper\FlashMessenger::class
Helper\FlashMessenger::class
Helper\FlashMessenger::class
Helper\FlashMessenger::class
Helper\FlashMessenger::class
\Zend\View\Helper\FlashMessenger::class
! $events
$e->getCode()
$container->get('EventManager')
$container->get('MvcTranslator')
$container->get('Translator')
$container->get(TranslatorInterface::class)
$container
$container
get
get
get
get
has
has
has
has
$factories
$renderer
HelperPluginManager
null|ConfigInterface|ContainerInterface
getServiceLocator
getServiceLocator
$value
$name
$value
$key
$value
$this[$name]
$name
$name
$name
$storeValue
$this[$name]
$value
$value
$value
$value
clearChildren
clearOptions
clearVariables
int
$this->options['errorLevel']
null
$this->type
$this->type
false|string
$this->type
$variables
$feed
$this->feed instanceof Feed
null
null
null !== $this->jsonpCallback
gettype($variables)
is_array($options)
array|ArrayAccess|Traversable
$key
$children[]
$child
$children
$children[]
$value
array
captureTo
getChildrenByCaptureTo
$child->getChildrenByCaptureTo($capture)
$children
$variables
$variables
$variables
$variables
(bool) $append
(bool) $terminate
(string) $capture
(string) $name
(string) $name
(string) $name
(string) $name
(string) $template
is_object($variables)
null === $this->__filterChain
$values
$child
$child
$value
$this->getFilterChain()->filter($values['result'])
$model
$values
$__filterChain
$resolver
$type
is_string($nameOrModel)
$options
void
$resolver
$child
$nameOrModel
$child
$values[$captureTo]
$captureTo
$child
$value
captureTo
$childValues
$children
$values
null
(bool) $mergeUnnamedChildren
(string) $callback
! is_object($nameOrModel)
$mergeChildren
null !== $this->jsonpCallback
! is_array($variables) && ! $variables instanceof ArrayAccess
gettype($helpers)
is_callable($plugin)
null === $this->__filterChain
null === $this->__helpers
null === $this->__templateResolver
null === $this->__vars
null === $this->__vars
$values
$__vars
$__vars
$this->__template
$this->__template
array_pop($this->__varsCache)
$__vars['this']
$vars[$name]
$vars[$name]
$vars[$name]
$this->__vars[$key]
$this->__vars[$key]
$includeReturn
$this->__template
$this->__vars
$value
$value
$variablesAsArray[$key]
$vars
$vars
$vars
$vars
$vars[$name]
clone $this->vars()
call_user_func_array($plugin, $argv)
AbstractHelper
string
string|Resolver
getArrayCopy
new $helpers(new ServiceManager())
$this->__filterChain->filter($this->__content)
$this->__templateResolver->resolve($name, $this)
$this->getHelperPluginManager()->get($name, $options)
$variables
$this->__file
$values
$this->resolver($this->__template)
null
$__filterChain
$__helpers
$__templateResolver
$__vars
(bool) $renderTrees
is_object($helpers)
setCurrent
include $this->__file
$resolver
$resource
$this->lastLookupFailure
$this->lastLookupFailure
$this->lastSuccessfulResolver
false|string
resolve
$resource
null
$lastSuccessfulResolver
$prefix
$result
! is_array($map) && ! $map instanceof Traversable
! is_array($map) && ! $map instanceof Traversable
is_string($nameOrMap)
$nameOrMap
false|string
$this->map[$name]
! is_array($options) && ! $options instanceof Traversable
is_string($path)
false
false
$useStreamWrapper
$useViewStream
$key
$path
$path
$value
$value
$value
$value
$key
$path
$path
$this->lastLookupFailure
$this->lastLookupFailure
$value
$path
$path
$this->paths
(bool) $flag
(bool) $flag
(string) $defaultSuffix
is_array($paths)
$renderer->getFeedType()
$feedType
$headers
addHeaderLine
$feed->getEncoding()
getFeedType
getFeedType
setContent
getFeedType
getFeedType
getHeaders
$headers
addHeaderLine
addHeaderLine
setContent
(string) $charset
getHeaders
$placeholder
$placeholders
$result
containerExists
getContainer
plugin
plugin
$data
$stat
$mode
$offset
$opened_path
$options
$whence
$this->pos
$this->pos
$this->pos
$offset
$offset
$offset
break;
break;
break;
'ArrayIterator'
$key
$value
$key
$return
$return
$spec
$this[$key]
$this[$key]
$value
$value
(bool) $flag
$this->events instanceof EventManagerInterface
View
$result
$events
$request
$response
$child
$child
$oldResult
setOption
terminate
$oldResult
$events
$options
hasChildren
$options
ViewEvent
ViewEvent
$params
$value
$value
$value
$value
$params['result']
$name
$name
array|\ArrayAccess
$params['model']
$params['renderer']
$params['request']
$params['response']
$params['result']
$renderer
ViewEvent
ViewEvent
AbstractHtmlElement|\PHPUnit_Framework_MockObject_MockObject
$value
testInvokeResult
(string) $this->helper->toString()
$vars
$vars
__invoke
plugin
setStrictVars
vars
vars
$vars
$vars
$vars
$vars->varName1
$vars->varName1
$vars->varName2
$vars->varName2
$vars->varName3
$vars->varName3
$vars->varName4
$vars->varName4
$vars->varName5
addPath
addPath
$this->view
$this->view
$this->view
$this->view
$this->view
$test
$test
$test
$test
$test
$test
$test
$test
$test
$test
$test
$test
$test
$test
$test
$test
$test
$test
$test
$test
$plugin->reveal()
new FlashMessenger
new FlashMessenger
new FlashMessenger
new FlashMessenger
new FlashMessenger
new FlashMessenger()
new FlashMessenger()
new FlashMessenger()
new FlashMessenger()
$args
$name
$name
$options
$options
$services
$services
$services
$services
$this->helper->getPluginFlashMessenger()
$this->mvcPluginClass
$this->plugin
$args[0]
$display
$display
$display
$display
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$displayInfo
$helper
$helper
$helper
$helper
$helper
$helper
$helper
$helper
$helper
$helper
$helperPluginManager
$helperPluginManager
$helperPluginManager
$helperPluginManager
$helper('default')
$helper('default')
$helper('error')
$helper('error')
$helper('info')
$helper('info')
$helper('success')
$helper('success')
$helper('warning')
$helper()
$helper()
$helper()
$helper()
$helper()
$helper()
$helper()
$helper()
$helper()
$helper()
$helper()
$helper()
$helper()
addMessage
addMessage
addMessage
addMessage
get
get
get
get
getAutoEscape
getAutoEscape
getAutoEscape
getPluginFlashMessenger
getPluginFlashMessenger
hasCurrentErrorMessages
hasCurrentErrorMessages
hasCurrentErrorMessages
hasCurrentErrorMessages
hasCurrentInfoMessages
hasCurrentInfoMessages
hasCurrentInfoMessages
hasCurrentInfoMessages
hasCurrentMessages
hasCurrentMessages
hasCurrentMessages
hasCurrentMessages
hasCurrentSuccessMessages
hasCurrentSuccessMessages
hasCurrentSuccessMessages
hasCurrentSuccessMessages
hasErrorMessages
hasErrorMessages
hasErrorMessages
hasErrorMessages
hasInfoMessages
hasInfoMessages
hasInfoMessages
hasInfoMessages
hasMessages
hasMessages
hasMessages
hasMessages
hasSuccessMessages
hasSuccessMessages
hasSuccessMessages
hasSuccessMessages
hasTranslator
hasTranslator
hasWarningMessages
hasWarningMessages
hasWarningMessages
hasWarningMessages
render
render
render
render
render
render
render
render
render
render
render
render
render
render
renderCurrent
renderCurrent
renderCurrent
renderCurrent
renderCurrent
renderCurrent
renderCurrent
renderCurrent
renderCurrent
renderCurrent
renderCurrent
renderCurrent
renderCurrent
renderCurrent
setAutoEscape
setAutoEscape
setAutoEscape
setAutoEscape
setAutoEscape
setAutoEscape
setAutoEscape
setAutoEscape
setMessageCloseString
setMessageCloseString
setMessageCloseString
setMessageCloseString
setMessageOpenFormat
setMessageOpenFormat
setMessageOpenFormat
setMessageOpenFormat
setMessageSeparatorString
setMessageSeparatorString
setMessageSeparatorString
setMessageSeparatorString
setPluginFlashMessenger
setTranslator
setTranslator
willReturn
getMessagesFromNamespace
$this->helper
$this->mvcPluginClass
$this->plugin
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->helper
$this->mvcPluginClass
$this->mvcPluginClass
$this->mvcPluginClass
$this->plugin
$this->plugin
$this->plugin
$name
$name
$options
$options
getAttribs
setAttribs
Exception\ExceptionInterface::class
$value
$value
$value
gravatar
'foo'
'foo'
Exception\ExceptionInterface::class
Exception\ExceptionInterface::class
Exception\ExceptionInterface::class
Exception\ExceptionInterface::class
Exception\ExceptionInterface::class
Exception\ExceptionInterface::class
Exception\ExceptionInterface::class
1
$attributeEscaper('/styles.css')
$attributeEscaper('/styles.css')
$attributeEscaper('/styles.css')
$attributeEscaper('/styles.css')
$attributeEscaper('/test1.css')
$attributeEscaper('/test2.css')
$attributeEscaper('/test3.css')
$attributeEscaper('/test4.css')
$attributeEscaper('text/css')
$item
$item
$item
$item
$item
$item
$order[$key]
$order[$key]
$order[$key]
$item
$item
$item
$item
$item
$key
$key
$key
$link
$link
$order[$key]
$order[$key]
$order[$key]
$value
$value
$value
iterable
__invoke
plugin
$attributeEscaper($link['href'])
$attributeEscaper($link['href'])
$attributeEscaper($link['href'])
$attributeEscaper($link['rel'])
$attributeEscaper($link['rel'])
$attributeEscaper($link['title'])
$attributeEscaper($link['type'])
$attributeEscaper($link['type'])
$attributeEscaper($link['type'])
$attributeEscaper('/foo/bar')
$attributeEscaper('/foo/bar')
$item->conditionalStylesheet
$item->conditionalStylesheet
$item->conditionalStylesheet
$item->conditionalStylesheet
$item->conditionalStylesheet
$item->media
$link->href
$link->href
$value->href
$value->href
$value->href
var_export($this->helper->getContainer()->getArrayCopy(), 1)
appendNext
appendPrev
bogusMethod
getArrayCopy
getValue
getValue
getValue
getValue
getValue
getValue
setIndent
$this->view
$this->view
'foo'
'foo'
'foo'
Exception\ExceptionInterface::class
Exception\ExceptionInterface::class
Exception\ExceptionInterface::class
[$this, 'handleErrors']
$errno
$errstr
$type
$attributeEscaper('HeadMeta with Microdata')
$attributeEscaper('og:title')
$attributeEscaper('some content')
$attributeEscaper('some content')
$item
$item
$item
$item
$item
$item
$item
$item
$item
$item
$item
$item
$item->type
$item->type
$item->type
$modifiers
$modifiers
$type
$value
$values
$values
$values
$values
$values
$values
$values
$values
$values
$modifiers['lang']
$modifiers['scheme']
$values[$i]
$values[100]
$item
$item
$item
$item
$item
$modifiers
$value
$values
$values
$values
$values
$values
__invoke
doctype
doctype
doctype
doctype
doctype
doctype
doctype
doctype
plugin
setCharset
$attributeEscaper('boo bah')
$attributeEscaper('foo bar')
$item->content
$item->content
$item->content
$item->content
$item->content
$item->name
$item->name
$item->type
$item->type
$item->type
$item->type
$item->type
$item->{$item->type}
$item->{$item->type}
$item->{$item->type}
$value->modifiers
getArrayCopy
getArrayCopy
getArrayCopy
getArrayCopy
getArrayCopy
getValue
offsetSetHttpEquiv
offsetSetHttpEquiv
offsetSetName
offsetSetName
offsetSetName
setFoo
setIndent
__invoke
__invoke
__invoke
__invoke
__invoke
__invoke
__invoke
appendHttpEquiv
appendHttpEquiv
appendHttpEquiv
appendHttpEquiv
setCharset
setCharset
setCharset
setName
setName
setName
setName
setName
setName
setProperty
toString
toString
toString
toString
toString
toString
$this->error
$this->error
$this->view
$this->error
$this->view
$this->view
$this->view
$this->view
$this->view
$this->view
$this->view
$this->view
$this->view
public function booleanAttributeDataProvider(): Generator
1
$type
$attributeEscaper('test1.js')
$attributeEscaper('test2.js')
$attributeEscaper('test3.js')
$attributeEscaper('test4.js')
$attributeEscaper('text/javascript')
$item
$item
$item
$item->source
$type
$values
$values
$values
$values
$values
$values
$values
$first->attributes['src']
$items[$i]
$values[$i]
$values[$i]
$values[$i]
$values[0]
$values[0]
$values[0]
$values[5]
$values[5]
$values[5]
$first
$item
$item
$items
$values
$values
$values
$values
$values
Generator<string, array<int, string>
$first->attributes
$first->source
$first->type
$item->attributes
$item->source
$item->source
$item->source
$values[$i]->attributes
$values[$i]->source
$values[$i]->type
$values[0]->attributes
$values[0]->source
$values[0]->type
$values[5]->attributes
$values[5]->source
$values[5]->type
var_export($values, 1)
fooBar
getArrayCopy
getArrayCopy
getArrayCopy
getArrayCopy
getArrayCopy
getArrayCopy
setIndent
setIndent
setDoctype
setDoctype
'stdClass'
'stdClass'
'stdClass'
$item
$item
$item
$item
$item
$item
$item->content
$item->content
$value
$values
$values
$values
$values
$values
$values
$values
$values
$values[0]->content
$values[1]->content
$values[2]->content
$values[$i]
$values[0]
$values[1]
$values[2]
$item
$item
$item
$item
$item
$value
$values
$values
$values
$values
$values
$item->content
$item->content
$item->content
$item->content
$item->content
$value->attributes
$values[0]->content
$values[1]->content
$values[2]->content
bogusMethod
getArrayCopy
getArrayCopy
getArrayCopy
getArrayCopy
getArrayCopy
getArrayCopy
getValue
setIndent
setIndent
setIndent
$placeholder
renderTitle
null
$this->view
false
false
false
$key
$userdata
$value
$userdata
$value
$this->view
__invoke
__invoke
plugin
plugin
$this->view
$this->view
$this->view
$this->view
$this->view
$value
$escape($value)
$escape($value)
$escape('http://www.w3.org/1999/xhtml')
$escape
$escape
$escape($value)
$escape($value)
$escape('http://www.w3.org/1999/xhtml')
plugin
plugin
plugin
setDoctype
$this->view
$this->view
$this->view
setIdentity
setIdentity
$header
$headers
__invoke
__invoke
get
getFieldValue
getHeaders
has
$this->helper
$this->response
$this->helper
$this->helper
$this->response
$helper
$helper
$result
$helper('alternate/layout')
$helper()
getLayout
getTemplate
getTemplate
setTemplate
setRoot
setTemplate
$this->helper
$this->parent
$this->renderer
$this->viewModelHelper
$this->helper
$this->helper
$this->helper
$this->helper
$this->parent
$this->parent
$this->parent
$this->serviceManager->get('Navigation')
$_helper
$this->_helper
new Navigation($config->get('nav_test2'))
new Navigation($config->get('nav_test3'))
new $this->_helperName
$config->get('nav_test1')
$config->get('nav_test2')
$config->get('nav_test3')
$app
bootstrap
getMvcEvent
loadModules
setContainer
setRouteMatch
setView
null
null
null
addPath
get
get
get
get
new $this->_helperName
new GenericResource('admin_foo', 'member_foo')
Navigation\Navigation
Navigation\Navigation
addPath
$this->_nav2
$this->_nav2
$this->_nav2
$this->_nav3
'Navigation'
'Navigation'
$_helper
$this->_nav2
$_doctypeHelper
$_oldDoctype
$active
$active
$active
$active
$active
$active
$active
$active
$found
$found
$found
$found
$found
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$active
$actual
$actual
$actual
$actual
$actual
$actual
$actual
$actual[$attrib][$type][$key]
$actual[]
$actual[]
$actual[]
$actual[]
$found
$found
$found
$found
$found
$found
$found
$found
$found
$found
$found
$page
$page
$page
$page
$page
$page
$page
addRel
addRel
addRel
addRel
addRel
addRel
addRel
addRel
addRel
addRel
addRev
addRev
getDoctype
getHref
getHref
getHref
getLabel
getLabel
getLabel
getLabel
getLabel
getLabel
getLabel
getLabel
getLabel
getLabel
getLabel
getLabel
getLabel
getLabel
getLabel
getLabel
getLabel
removeRel
removeRev
setActive
setActive
setDoctype
$active
$active
$active
$page
$page
$_helper
$found
getHref
getLabel
getLabel
getHref
getLabel
getLabel
plugin
plugin
$this->_doctypeHelper->setDoctype($this->_oldDoctype);
$discard
$discard
$this->_nav2
$this->_nav2
$this->_nav2
$this->_nav2
$this->_nav3
'Navigation'
'Navigation'
$pages
$this->_nav2->toArray()
$this->_nav2->toArray()
$this->_nav2->toArray()
$this->_nav2->toArray()
$pages[1]
$pages[1]
$p
$page
$pages
setActive
setActive
$_helper
$this->_nav2
$this->_nav2
$this->_nav2
$this->_nav2
$this->_nav2
getServiceLocator
$this->_nav2
$this->_nav2
$this->_nav2
$this->_nav2
[$this, 'toStringErrorHandler']
new $this->_helperName
new $this->_helperName
$code
$file
$line
$msg
$_errorMessage
$this->_errorMessage
$actual
$creationContextValue
$expected
getContainer
getContainer
getContainer
getPluginManager
setPluginManager
setServiceLocator
setView
$_helper
method_exists($plugins, 'configure')
$this->getServiceNotFoundException()
$this->getServiceNotFoundException()
new Config([])
method_exists($helpers, 'configure')
method_exists($helpers, 'configure')
$this->_nav2
$this->_nav2
$this->_nav2
clone $this->_nav2
clone $this->_nav2
$_oldServer
$e->getMessage()
$nav
$nav
$this->_oldServer['REQUEST_URI']
$this->_oldServer['SERVER_NAME']
$this->_oldServer['SERVER_PORT']
$_SERVER[$key]
$_SERVER[$key]
$key
$nav
$nav
$value
addPage
addPage
setBasePath
$_helper
plugin
$e
\Laminas\URI\Exception\ExceptionInterface
plugin
$nav = clone $this->_nav2;
$all
Exception\ExceptionInterface::class
['partial.phtml', 'test']
$_paginator
$this->_paginator
$this->_paginator
$this->_paginator
$this->_paginator
$this->_paginator
$this->_viewHelper->getView()->paginator
null
null
null
$this->_viewHelper->getView()
vars
vars
$o
$o
$o
$o
$o
$o
$o
$o
$o
$o
$rIterator
$rIterator
$rIterator
$rIterator
'foo'
'foo'
new stdClass()
new stdClass()
1
1
1
1
$value
$value
$item
$item
$item
$item
$key
$key
$key
$key
$value
$value
$value
$value
$item->message
$item->message
$item->objectKey
$item->objectKey
$value
$value
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
var_export($value, 1)
var_export($value, 1)
var_export($value, 1)
var_export($value, 1)
new TestAsset\BogusIteratorTest($data)
new TestAsset\BogusIteratorTest($data)
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
$item->message
$item->message
$data
$data
$key
$key
$key
$key
$key
$value
$value
$value
$value
$key
$value
$value
$value
$value
$view->vars()
$model->getVariables()
$model->getVariables()
$return
$return
$return
$return
$return
$return
$return
$return
$return
$return
$return
$return
$return
$return
$return
$return
$return
$return
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
$lastIndex
$lastIndex
$value
$value
$value
$value
$value
$value
$value
$value[$lastIndex - 1]
$value[$lastIndex]
$value[$lastIndex - 1]
$value[$lastIndex - 1]
$value[$lastIndex]
$value[$lastIndex]
$return
$value
$value
$value
$value
$value
$value
$value
new \Laminas\View\Helper\Placeholder\Container([])
new Container(['foo', 'bar'])
new Container(['foo', 'bar'])
$container->data
$result
$result
$result
$result
$result
$result
$result
$result
$result
$result
$this->resolver
$result
$result
$result
$result
$result
addChild
addChild
render
render
render
render
render
render
setTemplate
setCurrent
setRoot
$this->helper
$this->parent
$this->renderer
$this->resolver
$this->viewModelHelper
$this->helper
$this->helper
$this->helper
$this->helper
$this->parent
$this->parent
$this->parent
$this->renderer
$this->resolver
$_view
$placeholder
__invoke
__invoke
getValue
plugin
plugin
addPath
addPath
new \stdClass()
1337
method_exists($helpers, 'configure')
$factory
$factory
$factory
getContainerForFactory
$this->getContainerForFactory()
$this->getContainerForFactory()
$this->getContainerForFactory()
$this->helpers
get
get
get
get
get
get
get
get
get
get
has
has
has
has
has
has
has
has
has
has
shouldNotBeCalled
shouldNotBeCalled
shouldNotBeCalled
shouldNotBeCalled
shouldNotBeCalled
shouldNotBeCalled
shouldNotBeCalled
shouldNotBeCalled
will
will
willReturn
willReturn
willReturn
willReturn
willReturn
willReturn
willReturn
willReturn
willReturn
willReturn
$this->helpers
$this->services
$this->helpers
$this->services
$this->services
$this->services
$this->services
$vars
toArray
$translations
$this->translations
$filename
$locale
$identity
$identity
Bar
Bar
$output
$_regKey
(string) $password
(string) $username
next($this->items)
reset($this->items)
next
rewind
current($this->items)
next($this->items)
reset($this->items)
next
rewind
current($this->items)
$_info
toArray
$value
$data
$data
MockContainer
MockContainer
next($this->items)
reset($this->items)
$items
$this->items
$this->items
$this->items
$this->items
$this->items
$this->items[]
next
rewind
current($this->items)
$array
toArray
toArray
$this->data
$this->data
$serviceConfig
$test
$router
$serviceConfig
$test
$test
$test
$urlHelper
$urlHelper
$urlHelper
$viewHelpers
$viewHelpers
$viewHelpers
$urlHelper('test')
$urlHelper('test')
$urlHelper('test', [], ['force_canonical' => true])
bootstrap
bootstrap
bootstrap
get
get
get
setRequestUri
Wildcard::class
$it
'invalid params'
true
true
$this->getServiceNotFoundException()
$this->getServiceNotFoundException()
void
$name
$options
$services
$services
$target
$target
$alias
$aliases
$target
\Generator<mixed, array{0: mixed, 1: mixed}, mixed, void>
V2FlashMessenger
$name
$options
new Config([])
$container
$container
$expected
$helper
$helper
$helper
$helper
$helper
$helperB
$identity
getAuthenticationService
getTranslator
getTranslator
getTranslator
getTranslator
getView
getView
method_exists($manager, 'configure')
method_exists($this->helpers, 'configure')
method_exists($this->helpers, 'configure')
method_exists($this->helpers, 'configure')
$container
$container
void
$vars
'Laminas\View\Model\ClearableModelInterface'
'Laminas\View\Model\ModelInterface'
'Laminas\View\Variables'
new stdClass
new stdClass
$variables
$variables
$variables
'Exception'
Exception\ExceptionInterface::class
Exception\ExceptionInterface::class
$content
$errno
$errstr
$plugins
$template
$content
$content
$content
$content
$content
$result
$test
$test
$test
$test
$this->renderer
$this->renderer
$actual
$actual
$content
$content
$content
$content
$filename
$foo
$helper
$plugins
$previousOutput
$previousOutput
$result
$return
$test
$test
$test
$test
$test
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
addPath
assign
assign
assign
assign
assign
attach
canRenderTrees
canRenderTrees
canRenderTrees
get
getArrayCopy
getArrayCopy
getCurrent
getEngine
getFilterChain
getFilterChain
getFilterChain
getHelperPluginManager
getHelperPluginManager
getHelperPluginManager
getRenderer
hasCurrent
invokable
plugin
plugin
render
render
render
render
render
render
render
render
render
render
render
render
render
render
render
render
render
render
render
resolver
resolver
resolver
resolver
resolver
resolver
resolver
resolver
resolver
resolver
resolver
resolver
setCanRenderTrees
setCanRenderTrees
setFilterChain
setHelperPluginManager
setHelperPluginManager
setHelperPluginManager
setHelperPluginManager
setHelperPluginManager
setHelperPluginManager
setHelperPluginManager
setResolver
setResolver
setResolver
setResolver
setResolver
setResolver
setResolver
setResolver
setVars
setVars
setVars
setVars
sharedinstance
sharedinstance
sharedinstance
sharedinstance
sharedinstance
sharedinstance
uninvokable
vars
vars
vars
vars
vars
vars
vars
vars
vars
vars
vars
vars
vars
$this->renderer
$this->renderer
$this->renderer->foo
$this->renderer->vars()->foo
$vars
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$errno
$errstr
$xml
$xml
$xml
$xml
$xml
$returnValue
$returnValue
$xml
$xml
$xml
$xml
$xml
render
render
render
render
render
render
setFeedType
setFeedType
setFeedType
setFeedType
setFeedType
setResolver
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$model
$model
$model
$model
$model
$model
false
false
0
$model
$model
$model
$model
$value
$test
$test
setCurrent
setCurrent
setCurrent
Exception\ExceptionInterface::class
Exception\ExceptionInterface::class
$options
testAllowsPassingOptionsToConstructor
testAllowsSettingOptions
$content
$content
$content
$headers
$headers
$headers
$headers
$listener
$listener
$priority
$priority
$result
$result
$result
$result
attach
attach
attach
detach
get
get
get
getContent
getContent
getContent
getContent
getFeedType
getFieldValue
getFieldValue
getFieldValue
getHeaders
getHeaders
getHeaders
getHeaders
has
has
has
has
injectResponse
injectResponse
injectResponse
injectResponse
injectResponse
injectResponse
selectRenderer
selectRenderer
selectRenderer
selectRenderer
selectRenderer
selectRenderer
setFeedType
setFeedType
setFeedType
setModel
setModel
setModel
setRenderer
setRenderer
setRenderer
setRenderer
setRenderer
setRequest
setRequest
setRequest
setRequest
setResponse
setResponse
setResponse
setResponse
setResponse
setResult
setResult
setResult
setResult
addHeaderLine
addHeaderLine
addHeaderLine
addHeaderLine
addHeaderLine
addHeaderLine
$this->event
$this->renderer
$this->response
$this->strategy
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->response
$this->response
$this->response
$this->response
$this->response
$this->response
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$charset
$headers->get('content-type')->getFieldValue()
$headers->get('content-type')->getFieldValue()
$headers->get('content-type')->getFieldValue()
$headers->get('content-type')->getFieldValue()
$headers->get('content-type')->getFieldValue()
$headers->get('content-type')->getFieldValue()
$content
$content
$content
$content
$content
$content
$headers
$headers
$headers
$headers
$headers
$headers
$headers
$headers
$listener
$listener
$priority
$priority
$result
$result
$result
$result
attach
attach
attach
detach
get
get
get
get
get
get
get
getCharset
getCharset
getContent
getContent
getContent
getContent
getContent
getContent
getContent
getContent
getFieldValue
getFieldValue
getFieldValue
getFieldValue
getFieldValue
getFieldValue
getFieldValue
getHeaders
getHeaders
getHeaders
getHeaders
getHeaders
getHeaders
getHeaders
getHeaders
has
has
has
has
has
has
has
has
hasJsonpCallback
injectResponse
injectResponse
injectResponse
injectResponse
injectResponse
injectResponse
injectResponse
injectResponse
injectResponse
injectResponse
selectRenderer
selectRenderer
selectRenderer
selectRenderer
selectRenderer
selectRenderer
setCharset
setCharset
setCharset
setCharset
setJsonpCallback
setJsonpCallback
setJsonpCallback
setModel
setModel
setModel
setRenderer
setRenderer
setRenderer
setRenderer
setRenderer
setRenderer
setRenderer
setRenderer
setRenderer
setRequest
setRequest
setRequest
setRequest
setResponse
setResponse
setResponse
setResponse
setResponse
setResponse
setResponse
setResponse
setResponse
setResult
setResult
setResult
setResult
setResult
setResult
setResult
setResult
addHeaderLine
addHeaderLine
addHeaderLine
addHeaderLine
addHeaderLine
addHeaderLine
$this->event
$this->renderer
$this->response
$this->strategy
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->event
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->response
$this->response
$this->response
$this->response
$this->response
$this->response
$this->response
$this->response
$this->response
$this->response
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->strategy
$this->event
$this->event
$this->renderer
$this->renderer
$this->renderer
$this->response
$this->response
$this->response
$content
$content
$content
$headers
$listener
$listener
$priority
$priority
getContent
getHeaders
has
placeholder
placeholder
placeholder
placeholder
placeholder
set
set
set
set
set
setResponse
detach
$this->event
$this->renderer
$this->response
$this->event
$this->event
$this->renderer
$this->renderer
$this->renderer
$this->renderer
$this->response
$this->response
$this->response
$this->response
$this->response
void
$count
int
$this->count
$this->count
$value
$value
[$this, 'handleErrors']
$errcode
$errmsg
$this->error
$this->vars
$this->vars
$this->vars['bar']
$this->vars['bar']
$this->vars['bar']
$this->vars['baz']
$this->vars['foo']
$this->vars['foo']
$this->vars['foo']
$this->vars['foo']
$this->vars['foo']
assign
assign
assign
assign
clear
isStrict
isStrict
setStrictVars
setStrictVars
$this->vars
$this->vars
$this->vars->foo
$this->vars->foo
$this->error
$this->error
$this->vars
$this->vars
$this->error
$this->vars
$this->vars
$this->vars
$this->vars
$this->vars
$this->vars
$this->vars
$this->vars
$this->vars
$this->vars
$event
getModel
getModel
getModel
getModel
getParam
getParam
getParam
getParam
getParam
getParam
getParam
getParam
getParam
getParam
getParam
getParams
getRenderer
getRenderer
getRenderer
getRenderer
getRequest
getRequest
getRequest
getRequest
getResponse
getResponse
getResponse
getResponse
getResult
getResult
getResult
getResult
setModel
setParam
setParam
setParam
setParam
setParam
setParams
setRenderer
setRequest
setResponse
setResult
setMethods
$e
$e
$e
$e
$e
$e
$e
$e
$e
$e
$e
$e
$e
$e
$result
$result->content
$this->result->content
$result[]
addChild
addChild
addChild
addChild
addChild
addChild
addChild
addChild
addChild
addChild
addRenderingStrategy
addRenderingStrategy
addRenderingStrategy
addRenderingStrategy
addRenderingStrategy
addRenderingStrategy
addRenderingStrategy
addResponseStrategy
addResponseStrategy
addResponseStrategy
addResponseStrategy
addResponseStrategy
attach
getEventManager
getEventManager
getModel
getModel
getResult
getResult
getResult
getResult
getResult
render
render
render
render
render
render
render
render
render
render
render
setModel
setVariable
setVariable
setVariable
setVariable
setVariable
setVariable
setVariables
setVariables
$this->result->content
$this->result->content
$this->result->content
$this->result->content
null
$this->model
$this->request
$this->response
$this->view
$this->model
$this->model
$this->model
$this->model
$this->model
$this->model
$this->model
$this->model
$this->view
$this->view
$this->view
$this->view
$this->view
$this->view
$this->view
$this->view
$this->view
$this->view
$this->view
$this->view
$e
$e
$e
$e
$e
$e
PHPUnit_Framework_Error_Deprecated::class
PHPUnit_Framework_Error_Deprecated
PK LMSȎ README.mdnu ٘ # laminas-view
[![Build Status](https://github.com/laminas/laminas-view/workflows/Continuous%20Integration/badge.svg)](https://github.com/laminas/laminas-view/actions?query=workflow%3A"Continuous+Integration")
laminas-view provides the “View” layer of the Laminas MVC system. It is a
multi-tiered system allowing a variety of mechanisms for extension,
substitution, and more.
## Installation
Run the following to install this library:
```bash
$ composer require laminas/laminas-view
```
## Documentation
Browse the documentation online at https://docs.laminas.dev/laminas-view/
## Support
- [Issues](https://github.com/laminas/laminas-view/issues/)
- [Chat](https://laminas.dev/chat/)
- [Forum](https://discourse.laminas.dev/)
PK LMS4
.gitignorenu ٘ /clover.xml
/coveralls-upload.json
/docs/html/
/laminas-mkdoc-theme.tgz
/laminas-mkdoc-theme/
/phpunit.xml
/vendor/
.phpunit.result.cache
PK LMSL+@ ( src/Exception/InvalidHelperException.phpnu ٘ feed instanceof Feed) {
return $this->feed;
}
if (! $this->type) {
$options = $this->getOptions();
if (isset($options['feed_type'])) {
$this->type = $options['feed_type'];
}
}
$variables = $this->getVariables();
$feed = FeedFactory::factory($variables);
$this->setFeed($feed);
return $this->feed;
}
/**
* Set the feed object
*
* @param Feed $feed
* @return FeedModel
*/
public function setFeed(Feed $feed)
{
$this->feed = $feed;
return $this;
}
/**
* Get the feed type
*
* @return false|string
*/
public function getFeedType()
{
if ($this->type) {
return $this->type;
}
$options = $this->getOptions();
if (isset($options['feed_type'])) {
$this->type = $options['feed_type'];
}
return $this->type;
}
}
PK LMSi' src/Model/ConsoleModel.phpnu ٘ options['errorLevel'] = $errorLevel;
return $this;
}
/**
* @return int
*/
public function getErrorLevel()
{
if (array_key_exists('errorLevel', $this->options)) {
return $this->options['errorLevel'];
}
}
/**
* Set result text.
*
* @param string $text
* @return \Laminas\View\Model\ConsoleModel
*/
public function setResult($text)
{
$this->setVariable(self::RESULT, $text);
return $this;
}
/**
* Get result text.
*
* @return mixed
*/
public function getResult()
{
return $this->getVariable(self::RESULT);
}
}
PK LMS7m m % src/Model/ClearableModelInterface.phpnu ٘ setVariables($variables, true);
if (null !== $options) {
$this->setOptions($options);
}
}
/**
* Property overloading: set variable value
*
* @param string $name
* @param mixed $value
* @return void
*/
public function __set($name, $value)
{
$this->setVariable($name, $value);
}
/**
* Property overloading: get variable value
*
* @param string $name
* @return mixed
*/
public function __get($name)
{
if (! $this->__isset($name)) {
return;
}
$variables = $this->getVariables();
return $variables[$name];
}
/**
* Property overloading: do we have the requested variable value?
*
* @param string $name
* @return bool
*/
public function __isset($name)
{
$variables = $this->getVariables();
return isset($variables[$name]);
}
/**
* Property overloading: unset the requested variable
*
* @param string $name
* @return void
*/
public function __unset($name)
{
if (! $this->__isset($name)) {
return;
}
unset($this->variables[$name]);
}
/**
* Called after this view model is cloned.
*
* Clones $variables property so changes done to variables in the new
* instance don't change the current one.
*
* @return void
*/
public function __clone()
{
if (is_object($this->variables)) {
$this->variables = clone $this->variables;
}
}
/**
* Set a single option
*
* @param string $name
* @param mixed $value
* @return ViewModel
*/
public function setOption($name, $value)
{
$this->options[(string) $name] = $value;
return $this;
}
/**
* Get a single option
*
* @param string $name The option to get.
* @param mixed|null $default (optional) A default value if the option is not yet set.
* @return mixed
*/
public function getOption($name, $default = null)
{
$name = (string) $name;
return array_key_exists($name, $this->options) ? $this->options[$name] : $default;
}
/**
* Set renderer options/hints en masse
*
* @param array|Traversable $options
* @throws \Laminas\View\Exception\InvalidArgumentException
* @return ViewModel
*/
public function setOptions($options)
{
// Assumption is that lowest common denominator for renderer configuration
// is an array
if ($options instanceof Traversable) {
$options = ArrayUtils::iteratorToArray($options);
}
if (! is_array($options)) {
throw new Exception\InvalidArgumentException(sprintf(
'%s: expects an array, or Traversable argument; received "%s"',
__METHOD__,
(is_object($options) ? get_class($options) : gettype($options))
));
}
$this->options = $options;
return $this;
}
/**
* Get renderer options/hints
*
* @return array
*/
public function getOptions()
{
return $this->options;
}
/**
* Clear any existing renderer options/hints
*
* @return ViewModel
*/
public function clearOptions()
{
$this->options = [];
return $this;
}
/**
* Get a single view variable
*
* @param string $name
* @param mixed|null $default (optional) default value if the variable is not present.
* @return mixed
*/
public function getVariable($name, $default = null)
{
$name = (string) $name;
if (is_array($this->variables)) {
if (array_key_exists($name, $this->variables)) {
return $this->variables[$name];
}
} elseif ($this->variables->offsetExists($name)) {
return $this->variables->offsetGet($name);
}
return $default;
}
/**
* Set view variable
*
* @param string $name
* @param mixed $value
* @return ViewModel
*/
public function setVariable($name, $value)
{
$this->variables[(string) $name] = $value;
return $this;
}
/**
* Set view variables en masse
*
* Can be an array or a Traversable + ArrayAccess object.
*
* @param array|ArrayAccess|Traversable $variables
* @param bool $overwrite Whether or not to overwrite the internal container with $variables
* @throws Exception\InvalidArgumentException
* @return ViewModel
*/
public function setVariables($variables, $overwrite = false)
{
if (! is_array($variables) && ! $variables instanceof Traversable) {
throw new Exception\InvalidArgumentException(sprintf(
'%s: expects an array, or Traversable argument; received "%s"',
__METHOD__,
(is_object($variables) ? get_class($variables) : gettype($variables))
));
}
if ($overwrite) {
if (is_object($variables) && ! $variables instanceof ArrayAccess) {
$variables = ArrayUtils::iteratorToArray($variables);
}
$this->variables = $variables;
return $this;
}
foreach ($variables as $key => $value) {
$this->setVariable($key, $value);
}
return $this;
}
/**
* Get view variables
*
* @return array|ArrayAccess|Traversable
*/
public function getVariables()
{
return $this->variables;
}
/**
* Clear all variables
*
* Resets the internal variable container to an empty container.
*
* @return ViewModel
*/
public function clearVariables()
{
$this->variables = new ViewVariables();
return $this;
}
/**
* Set the template to be used by this model
*
* @param string $template
* @return ViewModel
*/
public function setTemplate($template)
{
$this->template = (string) $template;
return $this;
}
/**
* Get the template to be used by this model
*
* @return string
*/
public function getTemplate()
{
return $this->template;
}
/**
* Add a child model
*
* @param ModelInterface $child
* @param null|string $captureTo Optional; if specified, the "capture to" value to set on the child
* @param null|bool $append Optional; if specified, append to child with the same capture
* @return ViewModel
*/
public function addChild(ModelInterface $child, $captureTo = null, $append = null)
{
$this->children[] = $child;
if (null !== $captureTo) {
$child->setCaptureTo($captureTo);
}
if (null !== $append) {
$child->setAppend($append);
}
return $this;
}
/**
* Return all children.
*
* Return specifies an array, but may be any iterable object.
*
* @return array
*/
public function getChildren()
{
return $this->children;
}
/**
* Does the model have any children?
*
* @return bool
*/
public function hasChildren()
{
return (bool) $this->children;
}
/**
* Clears out all child models
*
* @return ViewModel
*/
public function clearChildren()
{
$this->children = [];
return $this;
}
/**
* Returns an array of Viewmodels with captureTo value $capture
*
* @param string $capture
* @param bool $recursive search recursive through children, default true
* @return array
*/
public function getChildrenByCaptureTo($capture, $recursive = true)
{
$children = [];
foreach ($this->children as $child) {
if ($recursive === true) {
$children += $child->getChildrenByCaptureTo($capture);
}
if ($child->captureTo() === $capture) {
$children[] = $child;
}
}
return $children;
}
/**
* Set the name of the variable to capture this model to, if it is a child model
*
* @param string $capture
* @return ViewModel
*/
public function setCaptureTo($capture)
{
$this->captureTo = (string) $capture;
return $this;
}
/**
* Get the name of the variable to which to capture this model
*
* @return string
*/
public function captureTo()
{
return $this->captureTo;
}
/**
* Set flag indicating whether or not this is considered a terminal or standalone model
*
* @param bool $terminate
* @return ViewModel
*/
public function setTerminal($terminate)
{
$this->terminate = (bool) $terminate;
return $this;
}
/**
* Is this considered a terminal or standalone model?
*
* @return bool
*/
public function terminate()
{
return $this->terminate;
}
/**
* Set flag indicating whether or not append to child with the same capture
*
* @param bool $append
* @return ViewModel
*/
public function setAppend($append)
{
$this->append = (bool) $append;
return $this;
}
/**
* Is this append to child with the same capture?
*
* @return bool
*/
public function isAppend()
{
return $this->append;
}
/**
* Return count of children
*
* @return int
*/
#[ReturnTypeWillChange]
public function count()
{
return count($this->children);
}
/**
* Get iterator of children
*
* @return ArrayIterator
*/
#[ReturnTypeWillChange]
public function getIterator()
{
return new ArrayIterator($this->children);
}
}
PK LMSPf { { src/Model/JsonModel.phpnu ٘ jsonpCallback = $callback;
return $this;
}
/**
* Serialize to JSON
*
* @return string
*/
public function serialize()
{
$variables = $this->getVariables();
if ($variables instanceof Traversable) {
$variables = ArrayUtils::iteratorToArray($variables);
}
$options = [
'prettyPrint' => $this->getOption('prettyPrint'),
];
if (null !== $this->jsonpCallback) {
return $this->jsonpCallback.'('.Json::encode($variables, false, $options).');';
}
return Json::encode($variables, false, $options);
}
}
PK LMSb, * src/Model/RetrievableChildrenInterface.phpnu ٘ Helper\Asset::class,
'Asset' => Helper\Asset::class,
'basePath' => Helper\BasePath::class,
'BasePath' => Helper\BasePath::class,
'basepath' => Helper\BasePath::class,
'Cycle' => Helper\Cycle::class,
'cycle' => Helper\Cycle::class,
'declareVars' => Helper\DeclareVars::class,
'DeclareVars' => Helper\DeclareVars::class,
'declarevars' => Helper\DeclareVars::class,
'Doctype' => Helper\Doctype::class,
'doctype' => Helper\Doctype::class, // overridden by a factory in ViewHelperManagerFactory
'escapeCss' => Helper\EscapeCss::class,
'EscapeCss' => Helper\EscapeCss::class,
'escapecss' => Helper\EscapeCss::class,
'escapeHtmlAttr' => Helper\EscapeHtmlAttr::class,
'EscapeHtmlAttr' => Helper\EscapeHtmlAttr::class,
'escapehtmlattr' => Helper\EscapeHtmlAttr::class,
'escapeHtml' => Helper\EscapeHtml::class,
'EscapeHtml' => Helper\EscapeHtml::class,
'escapehtml' => Helper\EscapeHtml::class,
'escapeJs' => Helper\EscapeJs::class,
'EscapeJs' => Helper\EscapeJs::class,
'escapejs' => Helper\EscapeJs::class,
'escapeUrl' => Helper\EscapeUrl::class,
'EscapeUrl' => Helper\EscapeUrl::class,
'escapeurl' => Helper\EscapeUrl::class,
'flashmessenger' => Helper\FlashMessenger::class,
'flashMessenger' => Helper\FlashMessenger::class,
'FlashMessenger' => Helper\FlashMessenger::class,
'Gravatar' => Helper\Gravatar::class,
'gravatar' => Helper\Gravatar::class,
'headLink' => Helper\HeadLink::class,
'HeadLink' => Helper\HeadLink::class,
'headlink' => Helper\HeadLink::class,
'headMeta' => Helper\HeadMeta::class,
'HeadMeta' => Helper\HeadMeta::class,
'headmeta' => Helper\HeadMeta::class,
'headScript' => Helper\HeadScript::class,
'HeadScript' => Helper\HeadScript::class,
'headscript' => Helper\HeadScript::class,
'headStyle' => Helper\HeadStyle::class,
'HeadStyle' => Helper\HeadStyle::class,
'headstyle' => Helper\HeadStyle::class,
'headTitle' => Helper\HeadTitle::class,
'HeadTitle' => Helper\HeadTitle::class,
'headtitle' => Helper\HeadTitle::class,
'htmlattributes' => Helper\HtmlAttributes::class,
'htmlAttributes' => Helper\HtmlAttributes::class,
'HtmlAttributes' => Helper\HtmlAttributes::class,
'htmlflash' => Helper\HtmlFlash::class,
'htmlFlash' => Helper\HtmlFlash::class,
'HtmlFlash' => Helper\HtmlFlash::class,
'htmllist' => Helper\HtmlList::class,
'htmlList' => Helper\HtmlList::class,
'HtmlList' => Helper\HtmlList::class,
'htmlobject' => Helper\HtmlObject::class,
'htmlObject' => Helper\HtmlObject::class,
'HtmlObject' => Helper\HtmlObject::class,
'htmlpage' => Helper\HtmlPage::class,
'htmlPage' => Helper\HtmlPage::class,
'HtmlPage' => Helper\HtmlPage::class,
'htmlquicktime' => Helper\HtmlQuicktime::class,
'htmlQuicktime' => Helper\HtmlQuicktime::class,
'HtmlQuicktime' => Helper\HtmlQuicktime::class,
'htmltag' => Helper\HtmlTag::class,
'htmlTag' => Helper\HtmlTag::class,
'HtmlTag' => Helper\HtmlTag::class,
'identity' => Helper\Identity::class,
'Identity' => Helper\Identity::class,
'inlinescript' => Helper\InlineScript::class,
'inlineScript' => Helper\InlineScript::class,
'InlineScript' => Helper\InlineScript::class,
'json' => Helper\Json::class,
'Json' => Helper\Json::class,
'layout' => Helper\Layout::class,
'Layout' => Helper\Layout::class,
'paginationcontrol' => Helper\PaginationControl::class,
'paginationControl' => Helper\PaginationControl::class,
'PaginationControl' => Helper\PaginationControl::class,
'partial' => Helper\Partial::class,
'partialloop' => Helper\PartialLoop::class,
'partialLoop' => Helper\PartialLoop::class,
'PartialLoop' => Helper\PartialLoop::class,
'Partial' => Helper\Partial::class,
'placeholder' => Helper\Placeholder::class,
'Placeholder' => Helper\Placeholder::class,
'renderchildmodel' => Helper\RenderChildModel::class,
'renderChildModel' => Helper\RenderChildModel::class,
'RenderChildModel' => Helper\RenderChildModel::class,
'render_child_model' => Helper\RenderChildModel::class,
'rendertoplaceholder' => Helper\RenderToPlaceholder::class,
'renderToPlaceholder' => Helper\RenderToPlaceholder::class,
'RenderToPlaceholder' => Helper\RenderToPlaceholder::class,
'serverurl' => Helper\ServerUrl::class,
'serverUrl' => Helper\ServerUrl::class,
'ServerUrl' => Helper\ServerUrl::class,
'url' => Helper\Url::class,
'Url' => Helper\Url::class,
'view_model' => Helper\ViewModel::class,
'viewmodel' => Helper\ViewModel::class,
'viewModel' => Helper\ViewModel::class,
'ViewModel' => Helper\ViewModel::class,
// Legacy Zend Framework aliases
\Zend\View\Helper\Asset::class => Helper\Asset::class,
\Zend\View\Helper\FlashMessenger::class => Helper\FlashMessenger::class,
\Zend\View\Helper\Identity::class => Helper\Identity::class,
\Zend\View\Helper\BasePath::class => Helper\BasePath::class,
\Zend\View\Helper\Cycle::class => Helper\Cycle::class,
\Zend\View\Helper\DeclareVars::class => Helper\DeclareVars::class,
\Zend\View\Helper\Doctype::class => Helper\Doctype::class,
\Zend\View\Helper\EscapeHtml::class => Helper\EscapeHtml::class,
\Zend\View\Helper\EscapeHtmlAttr::class => Helper\EscapeHtmlAttr::class,
\Zend\View\Helper\EscapeJs::class => Helper\EscapeJs::class,
\Zend\View\Helper\EscapeCss::class => Helper\EscapeCss::class,
\Zend\View\Helper\EscapeUrl::class => Helper\EscapeUrl::class,
\Zend\View\Helper\Gravatar::class => Helper\Gravatar::class,
\Zend\View\Helper\HtmlTag::class => Helper\HtmlTag::class,
\Zend\View\Helper\HeadLink::class => Helper\HeadLink::class,
\Zend\View\Helper\HeadMeta::class => Helper\HeadMeta::class,
\Zend\View\Helper\HeadScript::class => Helper\HeadScript::class,
\Zend\View\Helper\HeadStyle::class => Helper\HeadStyle::class,
\Zend\View\Helper\HeadTitle::class => Helper\HeadTitle::class,
\Zend\View\Helper\HtmlFlash::class => Helper\HtmlFlash::class,
\Zend\View\Helper\HtmlList::class => Helper\HtmlList::class,
\Zend\View\Helper\HtmlObject::class => Helper\HtmlObject::class,
\Zend\View\Helper\HtmlPage::class => Helper\HtmlPage::class,
\Zend\View\Helper\HtmlQuicktime::class => Helper\HtmlQuicktime::class,
\Zend\View\Helper\InlineScript::class => Helper\InlineScript::class,
\Zend\View\Helper\Json::class => Helper\Json::class,
\Zend\View\Helper\Layout::class => Helper\Layout::class,
\Zend\View\Helper\PaginationControl::class => Helper\PaginationControl::class,
\Zend\View\Helper\PartialLoop::class => Helper\PartialLoop::class,
\Zend\View\Helper\Partial::class => Helper\Partial::class,
\Zend\View\Helper\Placeholder::class => Helper\Placeholder::class,
\Zend\View\Helper\RenderChildModel::class => Helper\RenderChildModel::class,
\Zend\View\Helper\RenderToPlaceholder::class => Helper\RenderToPlaceholder::class,
\Zend\View\Helper\ServerUrl::class => Helper\ServerUrl::class,
\Zend\View\Helper\Url::class => Helper\Url::class,
\Zend\View\Helper\ViewModel::class => Helper\ViewModel::class,
// v2 normalized FQCNs
'zendviewhelperasset' => Helper\Asset::class,
'zendviewhelperflashmessenger' => Helper\FlashMessenger::class,
'zendviewhelperidentity' => Helper\Identity::class,
'zendviewhelperbasepath' => Helper\BasePath::class,
'zendviewhelpercycle' => Helper\Cycle::class,
'zendviewhelperdeclarevars' => Helper\DeclareVars::class,
'zendviewhelperdoctype' => Helper\Doctype::class,
'zendviewhelperescapehtml' => Helper\EscapeHtml::class,
'zendviewhelperescapehtmlattr' => Helper\EscapeHtmlAttr::class,
'zendviewhelperescapejs' => Helper\EscapeJs::class,
'zendviewhelperescapecss' => Helper\EscapeCss::class,
'zendviewhelperescapeurl' => Helper\EscapeUrl::class,
'zendviewhelpergravatar' => Helper\Gravatar::class,
'zendviewhelperhtmltag' => Helper\HtmlTag::class,
'zendviewhelperheadlink' => Helper\HeadLink::class,
'zendviewhelperheadmeta' => Helper\HeadMeta::class,
'zendviewhelperheadscript' => Helper\HeadScript::class,
'zendviewhelperheadstyle' => Helper\HeadStyle::class,
'zendviewhelperheadtitle' => Helper\HeadTitle::class,
'zendviewhelperhtmlflash' => Helper\HtmlFlash::class,
'zendviewhelperhtmllist' => Helper\HtmlList::class,
'zendviewhelperhtmlobject' => Helper\HtmlObject::class,
'zendviewhelperhtmlpage' => Helper\HtmlPage::class,
'zendviewhelperhtmlquicktime' => Helper\HtmlQuicktime::class,
'zendviewhelperinlinescript' => Helper\InlineScript::class,
'zendviewhelperjson' => Helper\Json::class,
'zendviewhelperlayout' => Helper\Layout::class,
'zendviewhelperpaginationcontrol' => Helper\PaginationControl::class,
'zendviewhelperpartialloop' => Helper\PartialLoop::class,
'zendviewhelperpartial' => Helper\Partial::class,
'zendviewhelperplaceholder' => Helper\Placeholder::class,
'zendviewhelperrenderchildmodel' => Helper\RenderChildModel::class,
'zendviewhelperrendertoplaceholder' => Helper\RenderToPlaceholder::class,
'zendviewhelperserverurl' => Helper\ServerUrl::class,
'zendviewhelperurl' => Helper\Url::class,
'zendviewhelperviewmodel' => Helper\ViewModel::class,
];
/**
* Default factories
*
* basepath, doctype, and url are set up as factories in the ViewHelperManagerFactory.
* basepath and url are not very useful without their factories, however the doctype
* helper works fine as an invokable. The factory for doctype simply checks for the
* config value from the merged config.
*
* @var array
*/
protected $factories = [
Helper\Asset::class => Helper\Service\AssetFactory::class,
Helper\HtmlAttributes::class => InvokableFactory::class,
Helper\FlashMessenger::class => Helper\Service\FlashMessengerFactory::class,
Helper\Identity::class => Helper\Service\IdentityFactory::class,
Helper\BasePath::class => InvokableFactory::class,
Helper\Cycle::class => InvokableFactory::class,
Helper\DeclareVars::class => InvokableFactory::class,
// overridden in ViewHelperManagerFactory
Helper\Doctype::class => Helper\Service\DoctypeFactory::class,
Helper\EscapeHtml::class => InvokableFactory::class,
Helper\EscapeHtmlAttr::class => InvokableFactory::class,
Helper\EscapeJs::class => InvokableFactory::class,
Helper\EscapeCss::class => InvokableFactory::class,
Helper\EscapeUrl::class => InvokableFactory::class,
Helper\Gravatar::class => InvokableFactory::class,
Helper\HtmlTag::class => InvokableFactory::class,
Helper\HeadLink::class => InvokableFactory::class,
Helper\HeadMeta::class => InvokableFactory::class,
Helper\HeadScript::class => InvokableFactory::class,
Helper\HeadStyle::class => InvokableFactory::class,
Helper\HeadTitle::class => InvokableFactory::class,
Helper\HtmlFlash::class => InvokableFactory::class,
Helper\HtmlList::class => InvokableFactory::class,
Helper\HtmlObject::class => InvokableFactory::class,
Helper\HtmlPage::class => InvokableFactory::class,
Helper\HtmlQuicktime::class => InvokableFactory::class,
Helper\InlineScript::class => InvokableFactory::class,
Helper\Json::class => InvokableFactory::class,
Helper\Layout::class => InvokableFactory::class,
Helper\PaginationControl::class => InvokableFactory::class,
Helper\PartialLoop::class => InvokableFactory::class,
Helper\Partial::class => InvokableFactory::class,
Helper\Placeholder::class => InvokableFactory::class,
Helper\RenderChildModel::class => InvokableFactory::class,
Helper\RenderToPlaceholder::class => InvokableFactory::class,
Helper\ServerUrl::class => InvokableFactory::class,
Helper\Url::class => InvokableFactory::class,
Helper\ViewModel::class => InvokableFactory::class,
// v2 canonical FQCNs
'laminasviewhelperasset' => Helper\Service\AssetFactory::class,
'laminasviewhelperattributes' => InvokableFactory::class,
'laminasviewhelperflashmessenger' => Helper\Service\FlashMessengerFactory::class,
'laminasviewhelperidentity' => Helper\Service\IdentityFactory::class,
'laminasviewhelperbasepath' => InvokableFactory::class,
'laminasviewhelpercycle' => InvokableFactory::class,
'laminasviewhelperdeclarevars' => InvokableFactory::class,
'laminasviewhelperdoctype' => InvokableFactory::class,
'laminasviewhelperescapehtml' => InvokableFactory::class,
'laminasviewhelperescapehtmlattr' => InvokableFactory::class,
'laminasviewhelperescapejs' => InvokableFactory::class,
'laminasviewhelperescapecss' => InvokableFactory::class,
'laminasviewhelperescapeurl' => InvokableFactory::class,
'laminasviewhelpergravatar' => InvokableFactory::class,
'laminasviewhelperhtmltag' => InvokableFactory::class,
'laminasviewhelperheadlink' => InvokableFactory::class,
'laminasviewhelperheadmeta' => InvokableFactory::class,
'laminasviewhelperheadscript' => InvokableFactory::class,
'laminasviewhelperheadstyle' => InvokableFactory::class,
'laminasviewhelperheadtitle' => InvokableFactory::class,
'laminasviewhelperhtmlflash' => InvokableFactory::class,
'laminasviewhelperhtmllist' => InvokableFactory::class,
'laminasviewhelperhtmlobject' => InvokableFactory::class,
'laminasviewhelperhtmlpage' => InvokableFactory::class,
'laminasviewhelperhtmlquicktime' => InvokableFactory::class,
'laminasviewhelperinlinescript' => InvokableFactory::class,
'laminasviewhelperjson' => InvokableFactory::class,
'laminasviewhelperlayout' => InvokableFactory::class,
'laminasviewhelperpaginationcontrol' => InvokableFactory::class,
'laminasviewhelperpartialloop' => InvokableFactory::class,
'laminasviewhelperpartial' => InvokableFactory::class,
'laminasviewhelperplaceholder' => InvokableFactory::class,
'laminasviewhelperrenderchildmodel' => InvokableFactory::class,
'laminasviewhelperrendertoplaceholder' => InvokableFactory::class,
'laminasviewhelperserverurl' => InvokableFactory::class,
'laminasviewhelperurl' => InvokableFactory::class,
'laminasviewhelperviewmodel' => InvokableFactory::class,
];
/**
* @var Renderer\RendererInterface
*/
protected $renderer;
/**
* Constructor
*
* Merges provided configuration with default configuration.
*
* Adds initializers to inject the attached renderer and translator, if
* any, to the currently requested helper.
*
* @param null|ConfigInterface|ContainerInterface $configOrContainerInstance
* @param array $v3config If $configOrContainerInstance is a container, this
* value will be passed to the parent constructor.
*/
public function __construct($configOrContainerInstance = null, array $v3config = [])
{
$this->initializers[] = [$this, 'injectRenderer'];
$this->initializers[] = [$this, 'injectTranslator'];
$this->initializers[] = [$this, 'injectEventManager'];
parent::__construct($configOrContainerInstance, $v3config);
}
/**
* Set renderer
*
* @param Renderer\RendererInterface $renderer
* @return HelperPluginManager
*/
public function setRenderer(Renderer\RendererInterface $renderer)
{
$this->renderer = $renderer;
return $this;
}
/**
* Retrieve renderer instance
*
* @return null|Renderer\RendererInterface
*/
public function getRenderer()
{
return $this->renderer;
}
/**
* Inject a helper instance with the registered renderer
*
* @param ContainerInterface|Helper\HelperInterface $first helper instance
* under laminas-servicemanager v2, ContainerInterface under v3.
* @param ContainerInterface|Helper\HelperInterface $second
* ContainerInterface under laminas-servicemanager v3, helper instance
* under v2. Ignored regardless.
* @return void
*/
public function injectRenderer($first, $second)
{
$helper = ($first instanceof ContainerInterface)
? $second
: $first;
if (! $helper instanceof Helper\HelperInterface) {
return;
}
$renderer = $this->getRenderer();
if (null === $renderer) {
return;
}
$helper->setView($renderer);
}
/**
* Inject a helper instance with the registered translator
*
* @param ContainerInterface|Helper\HelperInterface $first helper instance
* under laminas-servicemanager v2, ContainerInterface under v3.
* @param ContainerInterface|Helper\HelperInterface $second
* ContainerInterface under laminas-servicemanager v3, helper instance
* under v2. Ignored regardless.
* @return void
*/
public function injectTranslator($first, $second)
{
if ($first instanceof ContainerInterface) {
// v3 usage
$container = $first;
$helper = $second;
} else {
// v2 usage; grab the parent container
$container = $second->getServiceLocator();
$helper = $first;
}
// Allow either direct implementation or duck-typing.
if (! $helper instanceof TranslatorAwareInterface
&& ! method_exists($helper, 'setTranslator')
) {
return;
}
if (! $container) {
// Under laminas-navigation v2.5, the navigation PluginManager is
// always lazy-loaded, which means it never has a parent
// container.
return;
}
if (method_exists($helper, 'hasTranslator') && $helper->hasTranslator()) {
return;
}
if ($container->has('MvcTranslator')) {
$helper->setTranslator($container->get('MvcTranslator'));
return;
}
if ($container->has(TranslatorInterface::class)) {
$helper->setTranslator($container->get(TranslatorInterface::class));
return;
}
if ($container->has('Translator')) {
$helper->setTranslator($container->get('Translator'));
return;
}
}
/**
* Inject a helper instance with the registered event manager
*
* @param ContainerInterface|Helper\HelperInterface $first helper instance
* under laminas-servicemanager v2, ContainerInterface under v3.
* @param ContainerInterface|Helper\HelperInterface $second
* ContainerInterface under laminas-servicemanager v3, helper instance
* under v2. Ignored regardless.
*
* @return void
*/
public function injectEventManager($first, $second)
{
if ($first instanceof ContainerInterface) {
// v3 usage
$container = $first;
$helper = $second;
} else {
// v2 usage; grab the parent container
$container = $second->getServiceLocator();
$helper = $first;
}
if (! $container) {
// Under laminas-navigation v2.5, the navigation PluginManager is
// always lazy-loaded, which means it never has a parent
// container.
return;
}
if (! $helper instanceof EventManagerAwareInterface) {
return;
}
if (! $container->has('EventManager')) {
// If the container doesn't have an EM service, do nothing.
return;
}
$events = $helper->getEventManager();
if (! $events || ! $events->getSharedManager() instanceof SharedEventManagerInterface) {
$helper->setEventManager($container->get('EventManager'));
}
}
/**
* Validate the plugin is of the expected type (v3).
*
* Validates against callables and HelperInterface implementations.
*
* @param mixed $instance
* @throws InvalidServiceException
*/
public function validate($instance)
{
if (! is_callable($instance) && ! $instance instanceof Helper\HelperInterface) {
throw new InvalidServiceException(
sprintf(
'%s can only create instances of %s and/or callables; %s is invalid',
get_class($this),
Helper\HelperInterface::class,
(is_object($instance) ? get_class($instance) : gettype($instance))
)
);
}
}
/**
* Validate the plugin is of the expected type (v2).
*
* Proxies to `validate()`.
*
* @param mixed $instance
* @return void
* @throws InvalidHelperException
*/
public function validatePlugin($instance)
{
try {
$this->validate($instance);
} catch (InvalidServiceException $e) {
throw new InvalidHelperException($e->getMessage(), $e->getCode(), $e);
}
}
}
PK LMSA9u8V V src/View.phpnu ٘ request = $request;
return $this;
}
/**
* Set MVC response object
*
* @param Response $response
* @return View
*/
public function setResponse(Response $response)
{
$this->response = $response;
return $this;
}
/**
* Get MVC request object
*
* @return null|Request
*/
public function getRequest()
{
return $this->request;
}
/**
* Get MVC response object
*
* @return null|Response
*/
public function getResponse()
{
return $this->response;
}
/**
* Set the event manager instance
*
* @param EventManagerInterface $events
* @return View
*/
public function setEventManager(EventManagerInterface $events)
{
$events->setIdentifiers([
__CLASS__,
get_class($this),
]);
$this->events = $events;
return $this;
}
/**
* Retrieve the event manager instance
*
* Lazy-loads a default instance if none available
*
* @return EventManagerInterface
*/
public function getEventManager()
{
if (! $this->events instanceof EventManagerInterface) {
$this->setEventManager(new EventManager());
}
return $this->events;
}
/**
* Add a rendering strategy
*
* Expects a callable. Strategies should accept a ViewEvent object, and should
* return a Renderer instance if the strategy is selected.
*
* Internally, the callable provided will be subscribed to the "renderer"
* event, at the priority specified.
*
* @param callable $callable
* @param int $priority
* @return View
*/
public function addRenderingStrategy($callable, $priority = 1)
{
$this->getEventManager()->attach(ViewEvent::EVENT_RENDERER, $callable, $priority);
return $this;
}
/**
* Add a response strategy
*
* Expects a callable. Strategies should accept a ViewEvent object. The return
* value will be ignored.
*
* Typical usages for a response strategy are to populate the Response object.
*
* Internally, the callable provided will be subscribed to the "response"
* event, at the priority specified.
*
* @param callable $callable
* @param int $priority
* @return View
*/
public function addResponseStrategy($callable, $priority = 1)
{
$this->getEventManager()->attach(ViewEvent::EVENT_RESPONSE, $callable, $priority);
return $this;
}
/**
* Render the provided model.
*
* Internally, the following workflow is used:
*
* - Trigger the "renderer" event to select a renderer.
* - Call the selected renderer with the provided Model
* - Trigger the "response" event
*
* @triggers renderer(ViewEvent)
* @triggers response(ViewEvent)
* @param Model $model
* @throws Exception\RuntimeException
* @return null|string
*/
public function render(Model $model)
{
$event = $this->getEvent();
$event->setModel($model);
$event->setName(ViewEvent::EVENT_RENDERER);
$events = $this->getEventManager();
$results = $events->triggerEventUntil(function ($result) {
return ($result instanceof Renderer);
}, $event);
$renderer = $results->last();
if (! $renderer instanceof Renderer) {
throw new Exception\RuntimeException(sprintf(
'%s: no renderer selected!',
__METHOD__
));
}
$event->setRenderer($renderer);
$event->setName(ViewEvent::EVENT_RENDERER_POST);
$events->triggerEvent($event);
// If EVENT_RENDERER or EVENT_RENDERER_POST changed the model, make sure
// we use this new model instead of the current $model
$model = $event->getModel();
// If we have children, render them first, but only if:
// a) the renderer does not implement TreeRendererInterface, or
// b) it does, but canRenderTrees() returns false
if ($model->hasChildren()
&& (! $renderer instanceof TreeRendererInterface
|| ! $renderer->canRenderTrees())
) {
$this->renderChildren($model);
}
// Reset the model, in case it has changed, and set the renderer
$event->setModel($model);
$event->setRenderer($renderer);
$rendered = $renderer->render($model);
// If this is a child model, return the rendered content; do not
// invoke the response strategy.
$options = $model->getOptions();
if (array_key_exists('has_parent', $options) && $options['has_parent']) {
return $rendered;
}
$event->setResult($rendered);
$event->setName(ViewEvent::EVENT_RESPONSE);
$events->triggerEvent($event);
}
/**
* Loop through children, rendering each
*
* @param Model $model
* @throws Exception\DomainException
* @return void
*/
protected function renderChildren(Model $model)
{
foreach ($model as $child) {
if ($child->terminate()) {
throw new Exception\DomainException('Inconsistent state; child view model is marked as terminal');
}
$child->setOption('has_parent', true);
$result = $this->render($child);
$child->setOption('has_parent', null);
$capture = $child->captureTo();
if (! empty($capture)) {
if ($child->isAppend()) {
$oldResult = $model->{$capture};
$model->setVariable($capture, $oldResult . $result);
} else {
$model->setVariable($capture, $result);
}
}
}
}
/**
* Create and return ViewEvent used by render()
*
* @return ViewEvent
*/
protected function getEvent()
{
$event = new ViewEvent();
$event->setTarget($this);
if (null !== ($request = $this->getRequest())) {
$event->setRequest($request);
}
if (null !== ($response = $this->getResponse())) {
$event->setResponse($response);
}
return $event;
}
}
PK LMSZy y src/Renderer/FeedRenderer.phpnu ٘ resolver = $resolver;
return $this;
}
/**
* Renders values as JSON
*
* @todo Determine what use case exists for accepting only $nameOrModel
* @param string|Model $nameOrModel The script/resource process, or a view model
* @param null|array|\ArrayAccess $values Values to use during rendering
* @throws Exception\InvalidArgumentException
* @return string The script output.
*/
public function render($nameOrModel, $values = null)
{
if ($nameOrModel instanceof Model) {
// Use case 1: View Model provided
// Non-FeedModel: cast to FeedModel
if (! $nameOrModel instanceof FeedModel) {
$vars = $nameOrModel->getVariables();
$options = $nameOrModel->getOptions();
$type = $this->getFeedType();
if (isset($options['feed_type'])) {
$type = $options['feed_type'];
} else {
$this->setFeedType($type);
}
$nameOrModel = new FeedModel($vars, ['feed_type' => $type]);
}
} elseif (is_string($nameOrModel)) {
// Use case 2: string $nameOrModel + array|Traversable|Feed $values
$nameOrModel = new FeedModel($values, (array) $nameOrModel);
} else {
// Use case 3: failure
throw new Exception\InvalidArgumentException(sprintf(
'%s expects a ViewModel or a string feed type as the first argument; received "%s"',
__METHOD__,
(is_object($nameOrModel) ? get_class($nameOrModel) : gettype($nameOrModel))
));
}
// Get feed and type
$feed = $nameOrModel->getFeed();
$type = $nameOrModel->getFeedType();
if (! $type) {
$type = $this->getFeedType();
} else {
$this->setFeedType($type);
}
// Render feed
return $feed->export($type);
}
/**
* Set feed type ('rss' or 'atom')
*
* @param string $feedType
* @throws Exception\InvalidArgumentException
* @return FeedRenderer
*/
public function setFeedType($feedType)
{
$feedType = strtolower($feedType);
if (! in_array($feedType, ['rss', 'atom'])) {
throw new Exception\InvalidArgumentException(sprintf(
'%s expects a string of either "rss" or "atom"',
__METHOD__
));
}
$this->feedType = $feedType;
return $this;
}
/**
* Get feed type
*
* @return string
*/
public function getFeedType()
{
return $this->feedType;
}
}
PK LMS+Zm m src/Renderer/JsonRenderer.phpnu ٘ resolver = $resolver;
}
/**
* Set flag indicating whether or not to merge unnamed children
*
* @param bool $mergeUnnamedChildren
* @return JsonRenderer
*/
public function setMergeUnnamedChildren($mergeUnnamedChildren)
{
$this->mergeUnnamedChildren = (bool) $mergeUnnamedChildren;
return $this;
}
/**
* Set the JSONP callback function name
*
* @param string $callback
* @return JsonRenderer
*/
public function setJsonpCallback($callback)
{
$callback = (string) $callback;
if (! empty($callback)) {
$this->jsonpCallback = $callback;
}
return $this;
}
/**
* Returns whether or not the jsonpCallback has been set
*
* @return bool
*/
public function hasJsonpCallback()
{
return (null !== $this->jsonpCallback);
}
/**
* Should we merge unnamed children?
*
* @return bool
*/
public function mergeUnnamedChildren()
{
return $this->mergeUnnamedChildren;
}
/**
* Renders values as JSON
*
* @todo Determine what use case exists for accepting both $nameOrModel and $values
* @param string|Model $nameOrModel The script/resource process, or a view model
* @param null|array|\ArrayAccess $values Values to use during rendering
* @throws Exception\DomainException
* @return string The script output.
*/
public function render($nameOrModel, $values = null)
{
// use case 1: View Models
// Serialize variables in view model
if ($nameOrModel instanceof Model) {
if ($nameOrModel instanceof JsonModel) {
$children = $this->recurseModel($nameOrModel, false);
$this->injectChildren($nameOrModel, $children);
$values = $nameOrModel->serialize();
} else {
$values = $this->recurseModel($nameOrModel);
$values = Json::encode($values);
}
if ($this->hasJsonpCallback()) {
$values = $this->jsonpCallback . '(' . $values . ');';
}
return $values;
}
// use case 2: $nameOrModel is populated, $values is not
// Serialize $nameOrModel
if (null === $values) {
if (! is_object($nameOrModel) || $nameOrModel instanceof JsonSerializable) {
$return = Json::encode($nameOrModel);
} elseif ($nameOrModel instanceof Traversable) {
$nameOrModel = ArrayUtils::iteratorToArray($nameOrModel);
$return = Json::encode($nameOrModel);
} else {
$return = Json::encode(get_object_vars($nameOrModel));
}
if ($this->hasJsonpCallback()) {
$return = $this->jsonpCallback . '(' . $return . ');';
}
return $return;
}
// use case 3: Both $nameOrModel and $values are populated
throw new Exception\DomainException(sprintf(
'%s: Do not know how to handle operation when both $nameOrModel and $values are populated',
__METHOD__
));
}
/**
* Can this renderer render trees of view models?
*
* Yes.
*
* @return true
*/
public function canRenderTrees()
{
return true;
}
/**
* Retrieve values from a model and recurse its children to build a data structure
*
* @param Model $model
* @param bool $mergeWithVariables Whether or not to merge children with
* the variables of the $model
* @return (array|mixed)[]|\ArrayAccess
* @psalm-return \ArrayAccess|array
*/
protected function recurseModel(Model $model, $mergeWithVariables = true)
{
$values = [];
if ($mergeWithVariables) {
$values = $model->getVariables();
}
if ($values instanceof Traversable) {
$values = ArrayUtils::iteratorToArray($values);
}
if (! $model->hasChildren()) {
return $values;
}
$mergeChildren = $this->mergeUnnamedChildren();
foreach ($model as $child) {
$captureTo = $child->captureTo();
if (! $captureTo && ! $mergeChildren) {
// We don't want to do anything with this child
continue;
}
$childValues = $this->recurseModel($child);
if ($captureTo) {
// Capturing to a specific key
// TODO please complete if append is true. must change old
// value to array and append to array?
$values[$captureTo] = $childValues;
} elseif ($mergeChildren) {
// Merging values with parent
$values = array_replace_recursive($values, $childValues);
}
}
return $values;
}
/**
* Inject discovered child model values into parent model
*
* @todo detect collisions and decide whether to append and/or aggregate?
* @param Model $model
* @param array $children
* @return void
*/
protected function injectChildren(Model $model, array $children): void
{
foreach ($children as $child => $value) {
// TODO detect collisions and decide whether to append and/or aggregate?
$model->setVariable($child, $value);
}
}
}
PK LMSc &