.github/FUNDING.yml000064400000000042145301263710007717 0ustar00community_bridge: laminas-project .github/workflows/continuous-integration.yml000064400000000304145301263710015412 0ustar00name: "Continuous Integration" on: pull_request: push: branches: tags: jobs: ci: uses: laminas/workflow-continuous-integration/.github/workflows/continuous-integration.yml@1.x .github/workflows/release-on-milestone-closed.yml000064400000000676145301263710016175 0ustar00name: "Automatic Releases" on: milestone: types: - "closed" jobs: release: uses: laminas/workflow-automatic-releases/.github/workflows/release-on-milestone-closed.yml@1.x secrets: GIT_AUTHOR_EMAIL: ${{ secrets.GIT_AUTHOR_EMAIL }} GIT_AUTHOR_NAME: ${{ secrets.GIT_AUTHOR_NAME }} ORGANIZATION_ADMIN_TOKEN: ${{ secrets.ORGANIZATION_ADMIN_TOKEN }} SIGNING_SECRET_KEY: ${{ secrets.SIGNING_SECRET_KEY }} COPYRIGHT.md000064400000000133145301263710006435 0ustar00Copyright (c) 2020 Laminas Project a Series of LF Projects, LLC. (https://getlaminas.org/) LICENSE.md000064400000002732145301263710006156 0ustar00Copyright (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. README.md000064400000012767145301263710006042 0ustar00# laminas-zendframework-bridge [![Build Status](https://github.com/laminas/laminas-zendframework-bridge/workflows/Continuous%20Integration/badge.svg)](https://github.com/laminas/laminas-zendframework-bridge/actions?query=workflow%3A"Continuous+Integration") > This package is considered feature-complete, and is now in **security-only** maintenance mode, following a [decision by the Technical Steering Committee](https://github.com/laminas/technical-steering-committee/blob/6dc4d8a798021f690ad8c65d0d9a0c4b21835a1e/meetings/minutes/2022-07-11-TSC-Minutes.md#future-of-the-migration-layer). > If you have a security issue, please [follow our security reporting guidelines](https://getlaminas.org/security/). > If you wish to take on the role of maintainer, please [nominate yourself](https://github.com/laminas/technical-steering-committee/issues/new?assignees=&labels=Nomination&template=Maintainer_Nomination.md&title=%5BNOMINATION%5D%5BMAINTAINER%5D%3A+%7Bname+of+person+being+nominated%7D) > ## πŸ‡·πŸ‡Ί Русским Π³Ρ€Π°ΠΆΠ΄Π°Π½Π°ΠΌ > > ΠœΡ‹, участники Laminas, Ρ€ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ ΠΈ ΠΆΠΈΠ²Π΅ΠΌ Π² Ρ€Π°Π·Π½Ρ‹Ρ… странах. Π£ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ· нас Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ·ΡŒΡ, родствСнники ΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΠΊΠ°ΠΊ Π² России, Ρ‚Π°ΠΊ ΠΈ Π² Π£ΠΊΡ€Π°ΠΈΠ½Π΅. НСкоторыС ΠΈΠ· нас Ρ€ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π² России. НСкоторыС ΠΈΠ· нас ΠΆΠΈΠ²ΡƒΡ‚ Π² России. Π£ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Π°Π±ΡƒΡˆΠΊΠΈ ΠΈ Π΄Π΅Π΄ΡƒΡˆΠΊΠΈ ΡΡ€Π°ΠΆΠ°Π»ΠΈΡΡŒ с Ρ„Π°ΡˆΠΈΡΡ‚Π°ΠΌΠΈ Π²ΠΎ Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΈΡ€ΠΎΠ²ΠΎΠΉ Π²ΠΎΠΉΠ½Π΅. Π—Π΄Π΅ΡΡŒ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ„Π°ΡˆΠΈΠ·ΠΌ. > > Π£ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· нас Π΅ΡΡ‚ΡŒ украинская родствСнница, которая спаслась ΠΈΠ· Π΄ΠΎΠΌΠ° вмСстС с сыном. ПоСзд задСрТался ΠΈΠ·-Π·Π° Π±ΠΎΠΌΠ±Π΅ΠΆΠΊΠΈ Π½Π° Π΄ΠΎΡ€ΠΎΠ³Π΅ Π²ΠΏΠ΅Ρ€Π΅Π΄ΠΈ. Π£ нас Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ·ΡŒΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прячутся Π² Π±ΠΎΠΌΠ±ΠΎΡƒΠ±Π΅ΠΆΠΈΡ‰Π°Ρ…. ΠœΡ‹ с Ρ‚Ρ€Π΅Π²ΠΎΠ³ΠΎΠΉ ΠΆΠ΄Π΅ΠΌ вСсточки ΠΎΡ‚ Π½ΠΈΡ… послС Π²ΠΎΠ·Π΄ΡƒΡˆΠ½Ρ‹Ρ… Π½Π°Π»Π΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ бСспорядочно наносят ΡƒΠ΄Π°Ρ€Ρ‹ ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΏΠΎ Π±ΠΎΠ»ΡŒΠ½ΠΈΡ†Π°ΠΌ, школам, дСтским садам ΠΈ Π΄ΠΎΠΌΠ°ΠΌ. ΠœΡ‹ Π½Π΅ Π±Π΅Ρ€Π΅ΠΌ это ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ БМИ. ΠœΡ‹ наблюдаСм это Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. > > Π’Ρ‹ довСряСтС Π½Π°ΠΌ достаточно, Ρ‡Ρ‚ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ наши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ ΠΌΡ‹ просим вас Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π½Π°ΠΌ вновь. ΠœΡ‹ нуТдаСмся Π² ΠΏΠΎΠΌΠΎΡ‰ΠΈ. Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈ протСстуйтС ΠΏΡ€ΠΎΡ‚ΠΈΠ² этой бСсполСзной Π²ΠΎΠΉΠ½Ρ‹. ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΊΡ€ΠΎΠ²ΠΎΠΏΡ€ΠΎΠ»ΠΈΡ‚ΠΈΠ΅. Π‘ΠΊΠ°ΠΆΠΈΡ‚Π΅ "НСт Π²ΠΎΠΉΠ½Π΅!" > > ## πŸ‡ΊπŸ‡Έ To Citizens of Russia > > We at Laminas come from all over the world. Many of us have friends, family and colleagues in both Russia and Ukraine. Some of us were born in Russia. Some of us currently live in Russia. Some have grandparents who fought Nazis in World War II. Nobody here supports fascism. > > One team member has a Ukrainian relative who fled her home with her son. The train was delayed due to bombing on the road ahead. We have friends who are hiding in bomb shelters. We anxiously follow up on them after the air raids, which indiscriminately fire at hospitals, schools, kindergartens and houses. We're not taking this from any media. These are our actual experiences. > > You trust us enough to use our software. We ask that you trust us to say the truth on this. We need your help. Go out and protest this unnecessary war. Stop the bloodshed. Say "stop the war!" This library provides a custom autoloader that aliases legacy Zend Framework, Apigility, and Expressive classes to their replacements under the Laminas Project. This package should be installed only if you are also using the composer plugin that installs Laminas packages to replace ZF/Apigility/Expressive packages. This tool supports: - Zend Framework MVC projects, all v2 and v3 releases - Apigility projects, all stable versions - Expressive versions, all stable versions ## Installation Run the following to install this library: ```bash $ composer require laminas/laminas-zendframework-bridge ``` ## Configuration - Since 1.6.0 You may provide additional replacements for the configuration post processor. This is particularly useful if your application uses third-party components that include class names that the post processor otherwise rewrites, and which you want to never rewrite. Configuration is via the following structure: ```php return [ 'laminas-zendframework-bridge' => [ 'replacements' => [ 'to-replace' => 'replacement', // ... ], ], ]; ``` As an example, if your configuration included the following dependency mapping: ```php return [ 'controller_plugins' => [ 'factories' => [ 'customZendFormBinder' => \CustomZendFormBinder\Controller\Plugin\Factory\BinderPluginFactory::class, ], ], ]; ``` And you wanted the two strings that contain the verbiage `ZendForm` to remain untouched, you could define the following replacements mapping: ```php return [ 'laminas-zendframework-bridge' => [ 'replacements' => [ // Never rewrite! 'customZendFormBinder' => 'customZendFormBinder', 'CustomZendFormBinder' => 'CustomZendFormBinder', ], ], ]; ``` ## Support - [Issues](https://github.com/laminas/laminas-zendframework-bridge/issues/) - [Forum](https://discourse.laminas.dev/) composer.json000064400000003647145301263710007302 0ustar00{ "name": "laminas/laminas-zendframework-bridge", "description": "Alias legacy ZF class names to Laminas Project equivalents.", "license": "BSD-3-Clause", "keywords": [ "autoloading", "laminas", "zf", "zendframework" ], "support": { "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", "source": "https://github.com/laminas/laminas-zendframework-bridge", "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", "forum": "https://discourse.laminas.dev/" }, "abandoned": true, "require": { "php": "~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { "phpunit/phpunit": "^10.4", "psalm/plugin-phpunit": "^0.18.0", "squizlabs/php_codesniffer": "^3.7.1", "vimeo/psalm": "^5.16.0" }, "autoload": { "files": [ "src/autoload.php" ], "psr-4": { "Laminas\\ZendFrameworkBridge\\": "src//" } }, "autoload-dev": { "files": [ "test/classes.php" ], "psr-4": { "LaminasTest\\ZendFrameworkBridge\\": "test/", "LaminasTest\\ZendFrameworkBridge\\TestAsset\\": "test/TestAsset/classes/", "Laminas\\ApiTools\\": "test/TestAsset/LaminasApiTools/", "Mezzio\\": "test/TestAsset/Mezzio/", "Laminas\\": "test/TestAsset/Laminas/" } }, "extra": { "laminas": { "module": "Laminas\\ZendFrameworkBridge" } }, "config": { "sort-packages": true, "platform": { "php": "8.1.99" } }, "scripts": { "cs-check": "phpcs", "cs-fix": "phpcbf", "static-analysis": "psalm --shepherd --stats", "test": "phpunit --colors=always", "test-coverage": "phpunit --colors=always --coverage-clover clover.xml" } } composer.lock000064400000412567145301263710007266 0ustar00{ "_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": "7748ecdfd98016b0223c9c32975d1c2b", "packages": [], "packages-dev": [ { "name": "amphp/amp", "version": "v2.6.2", "source": { "type": "git", "url": "https://github.com/amphp/amp.git", "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/amphp/amp/zipball/9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", "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": { "files": [ "lib/functions.php", "lib/Internal/functions.php" ], "psr-4": { "Amp\\": "lib" } }, "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": "https://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.2" }, "funding": [ { "url": "https://github.com/amphp", "type": "github" } ], "time": "2022-02-20T17:52:18+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": { "files": [ "lib/functions.php" ], "psr-4": { "Amp\\ByteStream\\": "lib" } }, "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": "composer/package-versions-deprecated", "version": "1.11.99.5", "source": { "type": "git", "url": "https://github.com/composer/package-versions-deprecated.git", "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d", "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d", "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.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": "2022-01-17T14:14:24+00:00" }, { "name": "composer/pcre", "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", "shasum": "" }, "require": { "php": "^7.4 || ^8.0" }, "require-dev": { "phpstan/phpstan": "^1.3", "phpstan/phpstan-strict-rules": "^1.1", "symfony/phpunit-bridge": "^5" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.x-dev" } }, "autoload": { "psr-4": { "Composer\\Pcre\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", "homepage": "http://seld.be" } ], "description": "PCRE wrapping library that offers type-safe preg_* replacements.", "keywords": [ "PCRE", "preg", "regex", "regular expression" ], "support": { "issues": "https://github.com/composer/pcre/issues", "source": "https://github.com/composer/pcre/tree/3.1.1" }, "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": "2023-10-11T07:11:09+00:00" }, { "name": "composer/semver", "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/composer/semver.git", "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { "phpstan/phpstan": "^1.4", "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": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", "source": "https://github.com/composer/semver/tree/3.4.0" }, "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": "2023-08-31T09:50:34+00:00" }, { "name": "composer/xdebug-handler", "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", "reference": "ced299686f41dce890debac69273b47ffe98a40c" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", "reference": "ced299686f41dce890debac69273b47ffe98a40c", "shasum": "" }, "require": { "composer/pcre": "^1 || ^2 || ^3", "php": "^7.2.5 || ^8.0", "psr/log": "^1 || ^2 || ^3" }, "require-dev": { "phpstan/phpstan": "^1.0", "phpstan/phpstan-strict-rules": "^1.1", "symfony/phpunit-bridge": "^6.0" }, "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/3.0.3" }, "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": "2022-02-25T21:32:43+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/deprecations", "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "^9", "phpstan/phpstan": "1.4.10 || 1.10.15", "phpstan/phpstan-phpunit": "^1.0", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", "psalm/plugin-phpunit": "0.18.4", "psr/log": "^1 || ^2 || ^3", "vimeo/psalm": "4.30.0 || 5.12.0" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" }, "type": "library", "autoload": { "psr-4": { "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", "source": "https://github.com/doctrine/deprecations/tree/1.1.2" }, "time": "2023-09-27T20:04:15+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": "v1.5.2", "source": { "type": "git", "url": "https://github.com/felixfbecker/php-language-server-protocol.git", "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/6e82196ffd7c62f7794d778ca52b69feec9f2842", "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842", "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/v1.5.2" }, "time": "2022-03-02T22:36:06+00:00" }, { "name": "fidry/cpu-core-counter", "version": "0.5.1", "source": { "type": "git", "url": "https://github.com/theofidry/cpu-core-counter.git", "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623", "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { "fidry/makefile": "^0.2.0", "phpstan/extension-installer": "^1.2.0", "phpstan/phpstan": "^1.9.2", "phpstan/phpstan-deprecation-rules": "^1.0.0", "phpstan/phpstan-phpunit": "^1.2.2", "phpstan/phpstan-strict-rules": "^1.4.4", "phpunit/phpunit": "^9.5.26 || ^8.5.31", "theofidry/php-cs-fixer-config": "^1.0", "webmozarts/strict-phpunit": "^7.5" }, "type": "library", "autoload": { "psr-4": { "Fidry\\CpuCoreCounter\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "ThΓ©o FIDRY", "email": "theo.fidry@gmail.com" } ], "description": "Tiny utility to get the number of CPU cores.", "keywords": [ "CPU", "core" ], "support": { "issues": "https://github.com/theofidry/cpu-core-counter/issues", "source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1" }, "funding": [ { "url": "https://github.com/theofidry", "type": "github" } ], "time": "2022-12-24T12:35:10+00:00" }, { "name": "myclabs/deep-copy", "version": "1.11.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "conflict": { "doctrine/collections": "<1.6.8", "doctrine/common": "<2.13.3 || >=3,<3.2.2" }, "require-dev": { "doctrine/collections": "^1.6.8", "doctrine/common": "^2.13.3 || ^3.2.2", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", "autoload": { "files": [ "src/DeepCopy/deep_copy.php" ], "psr-4": { "DeepCopy\\": "src/DeepCopy/" } }, "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.11.1" }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", "type": "tidelift" } ], "time": "2023-03-08T13:26:56+00:00" }, { "name": "netresearch/jsonmapper", "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/cweiske/jsonmapper.git", "reference": "f60565f8c0566a31acf06884cdaa591867ecc956" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956", "reference": "f60565f8c0566a31acf06884cdaa591867ecc956", "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.2.0" }, "time": "2023-04-09T17:37:40+00:00" }, { "name": "nikic/php-parser", "version": "v4.17.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", "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.17.1" }, "time": "2023-08-13T19:53:39+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.2.1", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", "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.2.1" }, "time": "2022-02-21T01:04:05+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.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", "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", "psalm/phar": "^4.8" }, "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/5.3.0" }, "time": "2021-10-19T17:43:47+00:00" }, { "name": "phpdocumentor/type-resolver", "version": "1.7.3", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", "php": "^7.4 || ^8.0", "phpdocumentor/reflection-common": "^2.0", "phpstan/phpdoc-parser": "^1.13" }, "require-dev": { "ext-tokenizer": "*", "phpbench/phpbench": "^1.2", "phpstan/extension-installer": "^1.1", "phpstan/phpstan": "^1.8", "phpstan/phpstan-phpunit": "^1.1", "phpunit/phpunit": "^9.5", "rector/rector": "^0.13.9", "vimeo/psalm": "^4.25" }, "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.7.3" }, "time": "2023-08-12T11:01:26+00:00" }, { "name": "phpstan/phpdoc-parser", "version": "1.24.3", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", "reference": "12f01d214f1c73b9c91fdb3b1c415e4c70652083" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/12f01d214f1c73b9c91fdb3b1c415e4c70652083", "reference": "12f01d214f1c73b9c91fdb3b1c415e4c70652083", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { "doctrine/annotations": "^2.0", "nikic/php-parser": "^4.15", "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^1.5", "phpstan/phpstan-phpunit": "^1.1", "phpstan/phpstan-strict-rules": "^1.0", "phpunit/phpunit": "^9.5", "symfony/process": "^5.2" }, "type": "library", "autoload": { "psr-4": { "PHPStan\\PhpDocParser\\": [ "src/" ] } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.3" }, "time": "2023-11-18T20:15:32+00:00" }, { "name": "phpunit/php-code-coverage", "version": "10.1.9", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", "reference": "a56a9ab2f680246adcf3db43f38ddf1765774735" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/a56a9ab2f680246adcf3db43f38ddf1765774735", "reference": "a56a9ab2f680246adcf3db43f38ddf1765774735", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", "nikic/php-parser": "^4.15", "php": ">=8.1", "phpunit/php-file-iterator": "^4.0", "phpunit/php-text-template": "^3.0", "sebastian/code-unit-reverse-lookup": "^3.0", "sebastian/complexity": "^3.0", "sebastian/environment": "^6.0", "sebastian/lines-of-code": "^2.0", "sebastian/version": "^4.0", "theseer/tokenizer": "^1.2.0" }, "require-dev": { "phpunit/phpunit": "^10.1" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" }, "type": "library", "extra": { "branch-alias": { "dev-main": "10.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": "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", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.9" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-11-23T12:23:20+00:00" }, { "name": "phpunit/php-file-iterator", "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "4.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", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-08-31T06:24:48+00:00" }, { "name": "phpunit/php-invoker", "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "ext-pcntl": "*", "phpunit/phpunit": "^10.0" }, "suggest": { "ext-pcntl": "*" }, "type": "library", "extra": { "branch-alias": { "dev-main": "4.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": "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/4.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-03T06:56:09+00:00" }, { "name": "phpunit/php-text-template", "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "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": "Simple template engine.", "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ "template" ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-08-31T14:07:24+00:00" }, { "name": "phpunit/php-timer", "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "6.0-dev" } }, "autoload": { "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "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/6.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-03T06:57:52+00:00" }, { "name": "phpunit/phpunit", "version": "10.4.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", "shasum": "" }, "require": { "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": ">=8.1", "phpunit/php-code-coverage": "^10.1.5", "phpunit/php-file-iterator": "^4.0", "phpunit/php-invoker": "^4.0", "phpunit/php-text-template": "^3.0", "phpunit/php-timer": "^6.0", "sebastian/cli-parser": "^2.0", "sebastian/code-unit": "^2.0", "sebastian/comparator": "^5.0", "sebastian/diff": "^5.0", "sebastian/environment": "^6.0", "sebastian/exporter": "^5.1", "sebastian/global-state": "^6.0.1", "sebastian/object-enumerator": "^5.0", "sebastian/recursion-context": "^5.0", "sebastian/type": "^4.0", "sebastian/version": "^4.0" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" }, "bin": [ "phpunit" ], "type": "library", "extra": { "branch-alias": { "dev-main": "10.4-dev" } }, "autoload": { "files": [ "src/Framework/Assert/Functions.php" ], "classmap": [ "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de", "role": "lead" } ], "description": "The PHP Unit Testing framework.", "homepage": "https://phpunit.de/", "keywords": [ "phpunit", "testing", "xunit" ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", "source": "https://github.com/sebastianbergmann/phpunit/tree/10.4.2" }, "funding": [ { "url": "https://phpunit.de/sponsors.html", "type": "custom" }, { "url": "https://github.com/sebastianbergmann", "type": "github" }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], "time": "2023-10-26T07:21:45+00:00" }, { "name": "psalm/plugin-phpunit", "version": "0.18.4", "source": { "type": "git", "url": "https://github.com/psalm/psalm-plugin-phpunit.git", "reference": "e4ab3096653d9eb6f6d0ea5f4461898d59ae4dbc" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/e4ab3096653d9eb6f6d0ea5f4461898d59ae4dbc", "reference": "e4ab3096653d9eb6f6d0ea5f4461898d59ae4dbc", "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.7.1 || ^5@beta || ^5.0" }, "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.18.4" }, "time": "2022-12-03T07:47:07+00:00" }, { "name": "psr/container", "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { "php": ">=7.4.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "2.0.x-dev" } }, "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/2.0.2" }, "time": "2021-11-05T16:47:00+00:00" }, { "name": "psr/log", "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", "shasum": "" }, "require": { "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { "Psr\\Log\\": "src" } }, "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/3.0.0" }, "time": "2021-07-14T16:46:02+00:00" }, { "name": "sebastian/cli-parser", "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "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 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/2.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-03T06:58:15+00:00" }, { "name": "sebastian/code-unit", "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "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": "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/2.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-03T06:58:43+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "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": "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/3.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-03T06:59:15+00:00" }, { "name": "sebastian/comparator", "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", "reference": "2db5010a484d53ebf536087a70b4a5423c102372" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", "reference": "2db5010a484d53ebf536087a70b4a5423c102372", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", "php": ">=8.1", "sebastian/diff": "^5.0", "sebastian/exporter": "^5.0" }, "require-dev": { "phpunit/phpunit": "^10.3" }, "type": "library", "extra": { "branch-alias": { "dev-main": "5.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", "security": "https://github.com/sebastianbergmann/comparator/security/policy", "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-08-14T13:18:12+00:00" }, { "name": "sebastian/complexity", "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", "reference": "68cfb347a44871f01e33ab0ef8215966432f6957" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957", "reference": "68cfb347a44871f01e33ab0ef8215966432f6957", "shasum": "" }, "require": { "nikic/php-parser": "^4.10", "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "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": "Library for calculating the complexity of PHP code units", "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", "source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-09-28T11:50:59+00:00" }, { "name": "sebastian/diff", "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b", "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0", "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { "dev-main": "5.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", "security": "https://github.com/sebastianbergmann/diff/security/policy", "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-05-01T07:48:21+00:00" }, { "name": "sebastian/environment", "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "suggest": { "ext-posix": "*" }, "type": "library", "extra": { "branch-alias": { "dev-main": "6.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 functionality to handle HHVM/PHP environments", "homepage": "https://github.com/sebastianbergmann/environment", "keywords": [ "Xdebug", "environment", "hhvm" ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-04-11T05:39:26+00:00" }, { "name": "sebastian/exporter", "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", "shasum": "" }, "require": { "ext-mbstring": "*", "php": ">=8.1", "sebastian/recursion-context": "^5.0" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "5.1-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": "https://www.github.com/sebastianbergmann/exporter", "keywords": [ "export", "exporter" ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-09-24T13:22:09+00:00" }, { "name": "sebastian/global-state", "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", "shasum": "" }, "require": { "php": ">=8.1", "sebastian/object-reflector": "^3.0", "sebastian/recursion-context": "^5.0" }, "require-dev": { "ext-dom": "*", "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "6.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", "security": "https://github.com/sebastianbergmann/global-state/security/policy", "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-07-19T07:19:23+00:00" }, { "name": "sebastian/lines-of-code", "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/649e40d279e243d985aa8fb6e74dd5bb28dc185d", "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d", "shasum": "" }, "require": { "nikic/php-parser": "^4.10", "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "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 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", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-08-31T09:25:50+00:00" }, { "name": "sebastian/object-enumerator", "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", "shasum": "" }, "require": { "php": ">=8.1", "sebastian/object-reflector": "^3.0", "sebastian/recursion-context": "^5.0" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "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": "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/5.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-03T07:08:32+00:00" }, { "name": "sebastian/object-reflector", "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "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": "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/3.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-03T07:06:18+00:00" }, { "name": "sebastian/recursion-context", "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", "reference": "05909fb5bc7df4c52992396d0116aed689f93712" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", "reference": "05909fb5bc7df4c52992396d0116aed689f93712", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "5.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": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-03T07:05:40+00:00" }, { "name": "sebastian/type", "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { "dev-main": "4.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 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/4.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-03T07:10:45+00:00" }, { "name": "sebastian/version", "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", "shasum": "" }, "require": { "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { "dev-main": "4.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/4.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], "time": "2023-02-07T11:34:05+00:00" }, { "name": "spatie/array-to-xml", "version": "3.2.2", "source": { "type": "git", "url": "https://github.com/spatie/array-to-xml.git", "reference": "96be97e664c87613121d073ea39af4c74e57a7f8" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/96be97e664c87613121d073ea39af4c74e57a7f8", "reference": "96be97e664c87613121d073ea39af4c74e57a7f8", "shasum": "" }, "require": { "ext-dom": "*", "php": "^8.0" }, "require-dev": { "mockery/mockery": "^1.2", "pestphp/pest": "^1.21", "spatie/pest-plugin-snapshots": "^1.1" }, "type": "library", "autoload": { "psr-4": { "Spatie\\ArrayToXml\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Freek Van der Herten", "email": "freek@spatie.be", "homepage": "https://freek.dev", "role": "Developer" } ], "description": "Convert an array to xml", "homepage": "https://github.com/spatie/array-to-xml", "keywords": [ "array", "convert", "xml" ], "support": { "source": "https://github.com/spatie/array-to-xml/tree/3.2.2" }, "funding": [ { "url": "https://spatie.be/open-source/support-us", "type": "custom" }, { "url": "https://github.com/spatie", "type": "github" } ], "time": "2023-11-14T14:08:51+00:00" }, { "name": "squizlabs/php_codesniffer", "version": "3.7.2", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879", "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879", "shasum": "" }, "require": { "ext-simplexml": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", "php": ">=5.4.0" }, "require-dev": { "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, "bin": [ "bin/phpcs", "bin/phpcbf" ], "type": "library", "extra": { "branch-alias": { "dev-master": "3.x-dev" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Greg Sherwood", "role": "lead" } ], "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", "keywords": [ "phpcs", "standards", "static analysis" ], "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": "2023-02-22T23:07:41+00:00" }, { "name": "symfony/console", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/console/zipball/0d14a9f6d04d4ac38a8cea1171f4554e325dae92", "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92", "shasum": "" }, "require": { "php": ">=8.1", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", "symfony/string": "^5.4|^6.0" }, "conflict": { "symfony/dependency-injection": "<5.4", "symfony/dotenv": "<5.4", "symfony/event-dispatcher": "<5.4", "symfony/lock": "<5.4", "symfony/process": "<5.4" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", "symfony/config": "^5.4|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/event-dispatcher": "^5.4|^6.0", "symfony/lock": "^5.4|^6.0", "symfony/process": "^5.4|^6.0", "symfony/var-dumper": "^5.4|^6.0" }, "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/v6.3.8" }, "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": "2023-10-31T08:09:35+00:00" }, { "name": "symfony/deprecation-contracts", "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", "shasum": "" }, "require": { "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.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/v3.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": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/filesystem", "version": "v6.3.1", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/filesystem/zipball/edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", "shasum": "" }, "require": { "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Filesystem\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { "source": "https://github.com/symfony/filesystem/tree/v6.3.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": "2023-06-01T08:30:39+00:00" }, { "name": "symfony/polyfill-ctype", "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", "shasum": "" }, "require": { "php": ">=7.1" }, "provide": { "ext-ctype": "*" }, "suggest": { "ext-ctype": "For best performance" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, "autoload": { "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Polyfill\\Ctype\\": "" } }, "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.28.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": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-grapheme", "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", "reference": "875e90aeea2777b6f135677f618529449334a612" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", "reference": "875e90aeea2777b6f135677f618529449334a612", "shasum": "" }, "require": { "php": ">=7.1" }, "suggest": { "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, "autoload": { "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "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.28.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": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-normalizer", "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", "shasum": "" }, "require": { "php": ">=7.1" }, "suggest": { "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, "autoload": { "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, "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.28.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": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-mbstring", "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", "reference": "42292d99c55abe617799667f454222c54c60e229" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", "reference": "42292d99c55abe617799667f454222c54c60e229", "shasum": "" }, "require": { "php": ">=7.1" }, "provide": { "ext-mbstring": "*" }, "suggest": { "ext-mbstring": "For best performance" }, "type": "library", "extra": { "branch-alias": { "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } }, "autoload": { "files": [ "bootstrap.php" ], "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" } }, "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.28.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": "2023-07-28T09:04:16+00:00" }, { "name": "symfony/service-contracts", "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/service-contracts/zipball/b3313c2dbffaf71c8de2934e2ea56ed2291a3838", "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838", "shasum": "" }, "require": { "php": ">=8.1", "psr/container": "^2.0" }, "conflict": { "ext-psr": "<1.1|>=2" }, "type": "library", "extra": { "branch-alias": { "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { "Symfony\\Contracts\\Service\\": "" }, "exclude-from-classmap": [ "/Test/" ] }, "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/v3.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": "2023-07-30T20:28:31+00:00" }, { "name": "symfony/string", "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", "reference": "13880a87790c76ef994c91e87efb96134522577a" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/string/zipball/13880a87790c76ef994c91e87efb96134522577a", "reference": "13880a87790c76ef994c91e87efb96134522577a", "shasum": "" }, "require": { "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { "symfony/translation-contracts": "<2.5" }, "require-dev": { "symfony/error-handler": "^5.4|^6.0", "symfony/http-client": "^5.4|^6.0", "symfony/intl": "^6.2", "symfony/translation-contracts": "^2.5|^3.0", "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", "autoload": { "files": [ "Resources/functions.php" ], "psr-4": { "Symfony\\Component\\String\\": "" }, "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/v6.3.8" }, "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": "2023-11-09T08:28:21+00:00" }, { "name": "theseer/tokenizer", "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", "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.2" }, "funding": [ { "url": "https://github.com/theseer", "type": "github" } ], "time": "2023-11-20T00:12:19+00:00" }, { "name": "vimeo/psalm", "version": "5.16.0", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", "reference": "2897ba636551a8cb61601cc26f6ccfbba6c36591" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/vimeo/psalm/zipball/2897ba636551a8cb61601cc26f6ccfbba6c36591", "reference": "2897ba636551a8cb61601cc26f6ccfbba6c36591", "shasum": "" }, "require": { "amphp/amp": "^2.4.2", "amphp/byte-stream": "^1.5", "composer-runtime-api": "^2", "composer/semver": "^1.4 || ^2.0 || ^3.0", "composer/xdebug-handler": "^2.0 || ^3.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.1", "felixfbecker/language-server-protocol": "^1.5.2", "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", "nikic/php-parser": "^4.16", "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", "sebastian/diff": "^4.0 || ^5.0", "spatie/array-to-xml": "^2.17.0 || ^3.0", "symfony/console": "^4.1.6 || ^5.0 || ^6.0 || ^7.0", "symfony/filesystem": "^5.4 || ^6.0 || ^7.0" }, "conflict": { "nikic/php-parser": "4.17.0" }, "provide": { "psalm/psalm": "self.version" }, "require-dev": { "amphp/phpunit-util": "^2.0", "bamarni/composer-bin-plugin": "^1.4", "brianium/paratest": "^6.9", "ext-curl": "*", "mockery/mockery": "^1.5", "nunomaduro/mock-final-classes": "^1.1", "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/phpdoc-parser": "^1.6", "phpunit/phpunit": "^9.6", "psalm/plugin-mockery": "^1.1", "psalm/plugin-phpunit": "^0.18", "slevomat/coding-standard": "^8.4", "squizlabs/php_codesniffer": "^3.6", "symfony/process": "^4.4 || ^5.0 || ^6.0 || ^7.0" }, "suggest": { "ext-curl": "In order to send data to shepherd", "ext-igbinary": "^2.0.5 is required, used to serialize caching data" }, "bin": [ "psalm", "psalm-language-server", "psalm-plugin", "psalm-refactor", "psalter" ], "type": "project", "extra": { "branch-alias": { "dev-master": "5.x-dev", "dev-4.x": "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/" } }, "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", "static analysis" ], "support": { "docs": "https://psalm.dev/docs", "issues": "https://github.com/vimeo/psalm/issues", "source": "https://github.com/vimeo/psalm" }, "time": "2023-11-22T20:38:47+00:00" }, { "name": "webmozart/assert", "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/webmozarts/assert.git", "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" }, "dist": { "type": "zip", "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", "shasum": "" }, "require": { "ext-ctype": "*", "php": "^7.2 || ^8.0" }, "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.11.0" }, "time": "2022-06-03T18:03:27+00:00" } ], "aliases": [], "minimum-stability": "stable", "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, "platform": { "php": "~8.1.0 || ~8.2.0 || ~8.3.0" }, "platform-dev": [], "platform-overrides": { "php": "8.1.99" }, "plugin-api-version": "2.6.0" } config/replacements.php000064400000042612145301263710011213 0ustar00 'zendframework/zendframework', 'zend-developer-tools/toolbar/bjy' => 'zend-developer-tools/toolbar/bjy', 'zend-developer-tools/toolbar/doctrine' => 'zend-developer-tools/toolbar/doctrine', // NAMESPACES // Zend Framework components 'Zend\\AuraDi\\Config' => 'Laminas\\AuraDi\\Config', 'Zend\\Authentication' => 'Laminas\\Authentication', 'Zend\\Barcode' => 'Laminas\\Barcode', 'Zend\\Cache' => 'Laminas\\Cache', 'Zend\\Captcha' => 'Laminas\\Captcha', 'Zend\\Code' => 'Laminas\\Code', 'ZendCodingStandard\\Sniffs' => 'LaminasCodingStandard\\Sniffs', 'ZendCodingStandard\\Utils' => 'LaminasCodingStandard\\Utils', 'Zend\\ComponentInstaller' => 'Laminas\\ComponentInstaller', 'Zend\\Config' => 'Laminas\\Config', 'Zend\\ConfigAggregator' => 'Laminas\\ConfigAggregator', 'Zend\\ConfigAggregatorModuleManager' => 'Laminas\\ConfigAggregatorModuleManager', 'Zend\\ConfigAggregatorParameters' => 'Laminas\\ConfigAggregatorParameters', 'Zend\\Console' => 'Laminas\\Console', 'Zend\\ContainerConfigTest' => 'Laminas\\ContainerConfigTest', 'Zend\\Crypt' => 'Laminas\\Crypt', 'Zend\\Db' => 'Laminas\\Db', 'ZendDeveloperTools' => 'Laminas\\DeveloperTools', 'Zend\\Di' => 'Laminas\\Di', 'Zend\\Diactoros' => 'Laminas\\Diactoros', 'ZendDiagnostics\\Check' => 'Laminas\\Diagnostics\\Check', 'ZendDiagnostics\\Result' => 'Laminas\\Diagnostics\\Result', 'ZendDiagnostics\\Runner' => 'Laminas\\Diagnostics\\Runner', 'Zend\\Dom' => 'Laminas\\Dom', 'Zend\\Escaper' => 'Laminas\\Escaper', 'Zend\\EventManager' => 'Laminas\\EventManager', 'Zend\\Feed' => 'Laminas\\Feed', 'Zend\\File' => 'Laminas\\File', 'Zend\\Filter' => 'Laminas\\Filter', 'Zend\\Form' => 'Laminas\\Form', 'Zend\\Http' => 'Laminas\\Http', 'Zend\\HttpHandlerRunner' => 'Laminas\\HttpHandlerRunner', 'Zend\\Hydrator' => 'Laminas\\Hydrator', 'Zend\\I18n' => 'Laminas\\I18n', 'Zend\\InputFilter' => 'Laminas\\InputFilter', 'Zend\\Json' => 'Laminas\\Json', 'Zend\\Ldap' => 'Laminas\\Ldap', 'Zend\\Loader' => 'Laminas\\Loader', 'Zend\\Log' => 'Laminas\\Log', 'Zend\\Mail' => 'Laminas\\Mail', 'Zend\\Math' => 'Laminas\\Math', 'Zend\\Memory' => 'Laminas\\Memory', 'Zend\\Mime' => 'Laminas\\Mime', 'Zend\\ModuleManager' => 'Laminas\\ModuleManager', 'Zend\\Mvc' => 'Laminas\\Mvc', 'Zend\\Navigation' => 'Laminas\\Navigation', 'Zend\\Paginator' => 'Laminas\\Paginator', 'Zend\\Permissions' => 'Laminas\\Permissions', 'Zend\\Pimple\\Config' => 'Laminas\\Pimple\\Config', 'Zend\\ProblemDetails' => 'Mezzio\\ProblemDetails', 'Zend\\ProgressBar' => 'Laminas\\ProgressBar', 'Zend\\Psr7Bridge' => 'Laminas\\Psr7Bridge', 'Zend\\Router' => 'Laminas\\Router', 'Zend\\Serializer' => 'Laminas\\Serializer', 'Zend\\Server' => 'Laminas\\Server', 'Zend\\ServiceManager' => 'Laminas\\ServiceManager', 'ZendService\\ReCaptcha' => 'Laminas\\ReCaptcha', 'ZendService\\Twitter' => 'Laminas\\Twitter', 'Zend\\Session' => 'Laminas\\Session', 'Zend\\SkeletonInstaller' => 'Laminas\\SkeletonInstaller', 'Zend\\Soap' => 'Laminas\\Soap', 'Zend\\Stdlib' => 'Laminas\\Stdlib', 'Zend\\Stratigility' => 'Laminas\\Stratigility', 'Zend\\Tag' => 'Laminas\\Tag', 'Zend\\Test' => 'Laminas\\Test', 'Zend\\Text' => 'Laminas\\Text', 'Zend\\Uri' => 'Laminas\\Uri', 'Zend\\Validator' => 'Laminas\\Validator', 'Zend\\View' => 'Laminas\\View', 'ZendXml' => 'Laminas\\Xml', 'Zend\\Xml2Json' => 'Laminas\\Xml2Json', 'Zend\\XmlRpc' => 'Laminas\\XmlRpc', 'ZendOAuth' => 'Laminas\\OAuth', // class ZendAcl in zend-expressive-authorization-acl 'ZendAcl' => 'LaminasAcl', 'Zend\\Expressive\\Authorization\\Acl\\ZendAcl' => 'Mezzio\\Authorization\\Acl\\LaminasAcl', // class ZendHttpClientDecorator in zend-feed 'ZendHttp' => 'LaminasHttp', // class ZendModuleProvider in zend-config-aggregator-modulemanager 'ZendModule' => 'LaminasModule', // class ZendRbac in zend-expressive-authorization-rbac 'ZendRbac' => 'LaminasRbac', 'Zend\\Expressive\\Authorization\\Rbac\\ZendRbac' => 'Mezzio\\Authorization\\Rbac\\LaminasRbac', // class ZendRouter in zend-expressive-router-zendrouter 'ZendRouter' => 'LaminasRouter', 'Zend\\Expressive\\Router\\ZendRouter' => 'Mezzio\\Router\\LaminasRouter', // class ZendViewRenderer in zend-expressive-zendviewrenderer 'ZendViewRenderer' => 'LaminasViewRenderer', 'Zend\\Expressive\\ZendView\\ZendViewRenderer' => 'Mezzio\\LaminasView\\LaminasViewRenderer', 'a\\Zend' => 'a\\Zend', 'b\\Zend' => 'b\\Zend', 'c\\Zend' => 'c\\Zend', 'd\\Zend' => 'd\\Zend', 'e\\Zend' => 'e\\Zend', 'f\\Zend' => 'f\\Zend', 'g\\Zend' => 'g\\Zend', 'h\\Zend' => 'h\\Zend', 'i\\Zend' => 'i\\Zend', 'j\\Zend' => 'j\\Zend', 'k\\Zend' => 'k\\Zend', 'l\\Zend' => 'l\\Zend', 'm\\Zend' => 'm\\Zend', 'n\\Zend' => 'n\\Zend', 'o\\Zend' => 'o\\Zend', 'p\\Zend' => 'p\\Zend', 'q\\Zend' => 'q\\Zend', 'r\\Zend' => 'r\\Zend', 's\\Zend' => 's\\Zend', 't\\Zend' => 't\\Zend', 'u\\Zend' => 'u\\Zend', 'v\\Zend' => 'v\\Zend', 'w\\Zend' => 'w\\Zend', 'x\\Zend' => 'x\\Zend', 'y\\Zend' => 'y\\Zend', 'z\\Zend' => 'z\\Zend', // Expressive 'Zend\\Expressive' => 'Mezzio', 'ZendAuthentication' => 'LaminasAuthentication', 'ZendAcl' => 'LaminasAcl', 'ZendRbac' => 'LaminasRbac', 'ZendRouter' => 'LaminasRouter', 'ExpressiveUrlGenerator' => 'MezzioUrlGenerator', 'ExpressiveInstaller' => 'MezzioInstaller', // Apigility 'ZF\\Apigility' => 'Laminas\\ApiTools', 'ZF\\ApiProblem' => 'Laminas\\ApiTools\\ApiProblem', 'ZF\\AssetManager' => 'Laminas\\ApiTools\\AssetManager', 'ZF\\ComposerAutoloading' => 'Laminas\\ComposerAutoloading', 'ZF\\Configuration' => 'Laminas\\ApiTools\\Configuration', 'ZF\\ContentNegotiation' => 'Laminas\\ApiTools\\ContentNegotiation', 'ZF\\ContentValidation' => 'Laminas\\ApiTools\\ContentValidation', 'ZF\\DevelopmentMode' => 'Laminas\\DevelopmentMode', 'ZF\\Doctrine\\QueryBuilder' => 'Laminas\\ApiTools\\Doctrine\\QueryBuilder', 'ZF\\Hal' => 'Laminas\\ApiTools\\Hal', 'ZF\\HttpCache' => 'Laminas\\ApiTools\\HttpCache', 'ZF\\MvcAuth' => 'Laminas\\ApiTools\\MvcAuth', 'ZF\\OAuth2' => 'Laminas\\ApiTools\\OAuth2', 'ZF\\Rest' => 'Laminas\\ApiTools\\Rest', 'ZF\\Rpc' => 'Laminas\\ApiTools\\Rpc', 'ZF\\Versioning' => 'Laminas\\ApiTools\\Versioning', 'a\\ZF' => 'a\\ZF', 'b\\ZF' => 'b\\ZF', 'c\\ZF' => 'c\\ZF', 'd\\ZF' => 'd\\ZF', 'e\\ZF' => 'e\\ZF', 'f\\ZF' => 'f\\ZF', 'g\\ZF' => 'g\\ZF', 'h\\ZF' => 'h\\ZF', 'i\\ZF' => 'i\\ZF', 'j\\ZF' => 'j\\ZF', 'k\\ZF' => 'k\\ZF', 'l\\ZF' => 'l\\ZF', 'm\\ZF' => 'm\\ZF', 'n\\ZF' => 'n\\ZF', 'o\\ZF' => 'o\\ZF', 'p\\ZF' => 'p\\ZF', 'q\\ZF' => 'q\\ZF', 'r\\ZF' => 'r\\ZF', 's\\ZF' => 's\\ZF', 't\\ZF' => 't\\ZF', 'u\\ZF' => 'u\\ZF', 'v\\ZF' => 'v\\ZF', 'w\\ZF' => 'w\\ZF', 'x\\ZF' => 'x\\ZF', 'y\\ZF' => 'y\\ZF', 'z\\ZF' => 'z\\ZF', 'ApigilityModuleInterface' => 'ApiToolsModuleInterface', 'ApigilityProviderInterface' => 'ApiToolsProviderInterface', 'ApigilityVersionController' => 'ApiToolsVersionController', // PACKAGES // ZF components, MVC 'zendframework/skeleton-application' => 'laminas/skeleton-application', 'zendframework/zend-auradi-config' => 'laminas/laminas-auradi-config', 'zendframework/zend-authentication' => 'laminas/laminas-authentication', 'zendframework/zend-barcode' => 'laminas/laminas-barcode', 'zendframework/zend-cache' => 'laminas/laminas-cache', 'zendframework/zend-captcha' => 'laminas/laminas-captcha', 'zendframework/zend-code' => 'laminas/laminas-code', 'zendframework/zend-coding-standard' => 'laminas/laminas-coding-standard', 'zendframework/zend-component-installer' => 'laminas/laminas-component-installer', 'zendframework/zend-composer-autoloading' => 'laminas/laminas-composer-autoloading', 'zendframework/zend-config-aggregator' => 'laminas/laminas-config-aggregator', 'zendframework/zend-config' => 'laminas/laminas-config', 'zendframework/zend-console' => 'laminas/laminas-console', 'zendframework/zend-container-config-test' => 'laminas/laminas-container-config-test', 'zendframework/zend-crypt' => 'laminas/laminas-crypt', 'zendframework/zend-db' => 'laminas/laminas-db', 'zendframework/zend-developer-tools' => 'laminas/laminas-developer-tools', 'zendframework/zend-diactoros' => 'laminas/laminas-diactoros', 'zendframework/zenddiagnostics' => 'laminas/laminas-diagnostics', 'zendframework/zend-di' => 'laminas/laminas-di', 'zendframework/zend-dom' => 'laminas/laminas-dom', 'zendframework/zend-escaper' => 'laminas/laminas-escaper', 'zendframework/zend-eventmanager' => 'laminas/laminas-eventmanager', 'zendframework/zend-feed' => 'laminas/laminas-feed', 'zendframework/zend-file' => 'laminas/laminas-file', 'zendframework/zend-filter' => 'laminas/laminas-filter', 'zendframework/zend-form' => 'laminas/laminas-form', 'zendframework/zend-httphandlerrunner' => 'laminas/laminas-httphandlerrunner', 'zendframework/zend-http' => 'laminas/laminas-http', 'zendframework/zend-hydrator' => 'laminas/laminas-hydrator', 'zendframework/zend-i18n' => 'laminas/laminas-i18n', 'zendframework/zend-i18n-resources' => 'laminas/laminas-i18n-resources', 'zendframework/zend-inputfilter' => 'laminas/laminas-inputfilter', 'zendframework/zend-json' => 'laminas/laminas-json', 'zendframework/zend-json-server' => 'laminas/laminas-json-server', 'zendframework/zend-ldap' => 'laminas/laminas-ldap', 'zendframework/zend-loader' => 'laminas/laminas-loader', 'zendframework/zend-log' => 'laminas/laminas-log', 'zendframework/zend-mail' => 'laminas/laminas-mail', 'zendframework/zend-math' => 'laminas/laminas-math', 'zendframework/zend-memory' => 'laminas/laminas-memory', 'zendframework/zend-mime' => 'laminas/laminas-mime', 'zendframework/zend-modulemanager' => 'laminas/laminas-modulemanager', 'zendframework/zend-mvc' => 'laminas/laminas-mvc', 'zendframework/zend-navigation' => 'laminas/laminas-navigation', 'zendframework/zend-oauth' => 'laminas/laminas-oauth', 'zendframework/zend-paginator' => 'laminas/laminas-paginator', 'zendframework/zend-permissions-acl' => 'laminas/laminas-permissions-acl', 'zendframework/zend-permissions-rbac' => 'laminas/laminas-permissions-rbac', 'zendframework/zend-pimple-config' => 'laminas/laminas-pimple-config', 'zendframework/zend-progressbar' => 'laminas/laminas-progressbar', 'zendframework/zend-psr7bridge' => 'laminas/laminas-psr7bridge', 'zendframework/zend-recaptcha' => 'laminas/laminas-recaptcha', 'zendframework/zend-router' => 'laminas/laminas-router', 'zendframework/zend-serializer' => 'laminas/laminas-serializer', 'zendframework/zend-server' => 'laminas/laminas-server', 'zendframework/zend-servicemanager' => 'laminas/laminas-servicemanager', 'zendframework/zendservice-recaptcha' => 'laminas/laminas-recaptcha', 'zendframework/zendservice-twitter' => 'laminas/laminas-twitter', 'zendframework/zend-session' => 'laminas/laminas-session', 'zendframework/zend-skeleton-installer' => 'laminas/laminas-skeleton-installer', 'zendframework/zend-soap' => 'laminas/laminas-soap', 'zendframework/zend-stdlib' => 'laminas/laminas-stdlib', 'zendframework/zend-stratigility' => 'laminas/laminas-stratigility', 'zendframework/zend-tag' => 'laminas/laminas-tag', 'zendframework/zend-test' => 'laminas/laminas-test', 'zendframework/zend-text' => 'laminas/laminas-text', 'zendframework/zend-uri' => 'laminas/laminas-uri', 'zendframework/zend-validator' => 'laminas/laminas-validator', 'zendframework/zend-view' => 'laminas/laminas-view', 'zendframework/zend-xml2json' => 'laminas/laminas-xml2json', 'zendframework/zend-xml' => 'laminas/laminas-xml', 'zendframework/zend-xmlrpc' => 'laminas/laminas-xmlrpc', // Expressive packages 'zendframework/zend-expressive' => 'mezzio/mezzio', 'zendframework/zend-expressive-zendrouter' => 'mezzio/mezzio-laminasrouter', 'zendframework/zend-problem-details' => 'mezzio/mezzio-problem-details', 'zendframework/zend-expressive-zendviewrenderer' => 'mezzio/mezzio-laminasviewrenderer', // Apigility packages 'zfcampus/apigility-documentation' => 'laminas-api-tools/documentation', 'zfcampus/statuslib-example' => 'laminas-api-tools/statuslib-example', 'zfcampus/zf-apigility' => 'laminas-api-tools/api-tools', 'zfcampus/zf-api-problem' => 'laminas-api-tools/api-tools-api-problem', 'zfcampus/zf-asset-manager' => 'laminas-api-tools/api-tools-asset-manager', 'zfcampus/zf-configuration' => 'laminas-api-tools/api-tools-configuration', 'zfcampus/zf-content-negotiation' => 'laminas-api-tools/api-tools-content-negotiation', 'zfcampus/zf-content-validation' => 'laminas-api-tools/api-tools-content-validation', 'zfcampus/zf-development-mode' => 'laminas/laminas-development-mode', 'zfcampus/zf-doctrine-querybuilder' => 'laminas-api-tools/api-tools-doctrine-querybuilder', 'zfcampus/zf-hal' => 'laminas-api-tools/api-tools-hal', 'zfcampus/zf-http-cache' => 'laminas-api-tools/api-tools-http-cache', 'zfcampus/zf-mvc-auth' => 'laminas-api-tools/api-tools-mvc-auth', 'zfcampus/zf-oauth2' => 'laminas-api-tools/api-tools-oauth2', 'zfcampus/zf-rest' => 'laminas-api-tools/api-tools-rest', 'zfcampus/zf-rpc' => 'laminas-api-tools/api-tools-rpc', 'zfcampus/zf-versioning' => 'laminas-api-tools/api-tools-versioning', // CONFIG KEYS, SCRIPT NAMES, ETC // ZF components '::fromZend' => '::fromLaminas', // psr7bridge '::toZend' => '::toLaminas', // psr7bridge 'use_zend_loader' => 'use_laminas_loader', // zend-modulemanager 'zend-config' => 'laminas-config', 'zend-developer-tools/' => 'laminas-developer-tools/', 'zend-tag-cloud' => 'laminas-tag-cloud', 'zenddevelopertools' => 'laminas-developer-tools', 'zendbarcode' => 'laminasbarcode', 'ZendBarcode' => 'LaminasBarcode', 'zendcache' => 'laminascache', 'ZendCache' => 'LaminasCache', 'zendconfig' => 'laminasconfig', 'ZendConfig' => 'LaminasConfig', 'zendfeed' => 'laminasfeed', 'ZendFeed' => 'LaminasFeed', 'zendfilter' => 'laminasfilter', 'ZendFilter' => 'LaminasFilter', 'zendform' => 'laminasform', 'ZendForm' => 'LaminasForm', 'zendi18n' => 'laminasi18n', 'ZendI18n' => 'LaminasI18n', 'zendinputfilter' => 'laminasinputfilter', 'ZendInputFilter' => 'LaminasInputFilter', 'zendlog' => 'laminaslog', 'ZendLog' => 'LaminasLog', 'zendmail' => 'laminasmail', 'ZendMail' => 'LaminasMail', 'zendmvc' => 'laminasmvc', 'ZendMvc' => 'LaminasMvc', 'zendpaginator' => 'laminaspaginator', 'ZendPaginator' => 'LaminasPaginator', 'zendserializer' => 'laminasserializer', 'ZendSerializer' => 'LaminasSerializer', 'zendtag' => 'laminastag', 'ZendTag' => 'LaminasTag', 'zendtext' => 'laminastext', 'ZendText' => 'LaminasText', 'zendvalidator' => 'laminasvalidator', 'ZendValidator' => 'LaminasValidator', 'zendview' => 'laminasview', 'ZendView' => 'LaminasView', 'zend-framework.flf' => 'laminas-project.flf', // Expressive-related "'zend-expressive'" => "'mezzio'", '"zend-expressive"' => '"mezzio"', 'zend-expressive.' => 'mezzio.', 'zend-expressive-authorization' => 'mezzio-authorization', 'zend-expressive-hal' => 'mezzio-hal', 'zend-expressive-session' => 'mezzio-session', 'zend-expressive-swoole' => 'mezzio-swoole', 'zend-expressive-tooling' => 'mezzio-tooling', // Apigility-related "'zf-apigility'" => "'api-tools'", '"zf-apigility"' => '"api-tools"', 'zf-apigility/' => 'api-tools/', 'zf-apigility-admin' => 'api-tools-admin', 'zf-content-negotiation' => 'api-tools-content-negotiation', 'zf-hal' => 'api-tools-hal', 'zf-rest' => 'api-tools-rest', 'zf-rpc' => 'api-tools-rpc', 'zf-content-validation' => 'api-tools-content-validation', 'zf-apigility-ui' => 'api-tools-ui', 'zf-apigility-documentation-blueprint' => 'api-tools-documentation-blueprint', 'zf-apigility-documentation-swagger' => 'api-tools-documentation-swagger', 'zf-apigility-welcome' => 'api-tools-welcome', 'zf-api-problem' => 'api-tools-api-problem', 'zf-configuration' => 'api-tools-configuration', 'zf-http-cache' => 'api-tools-http-cache', 'zf-mvc-auth' => 'api-tools-mvc-auth', 'zf-oauth2' => 'api-tools-oauth2', 'zf-versioning' => 'api-tools-versioning', 'ZfApigilityDoctrineQueryProviderManager' => 'LaminasApiToolsDoctrineQueryProviderManager', 'ZfApigilityDoctrineQueryCreateFilterManager' => 'LaminasApiToolsDoctrineQueryCreateFilterManager', 'zf-apigility-doctrine' => 'api-tools-doctrine', 'zf-development-mode' => 'laminas-development-mode', 'zf-doctrine-querybuilder' => 'api-tools-doctrine-querybuilder', // 3rd party Apigility packages 'api-skeletons/zf-' => 'api-skeletons/zf-', // api-skeletons packages 'zf-oauth2-' => 'zf-oauth2-', // api-skeletons OAuth2-related packages 'ZF\\OAuth2\\Client' => 'ZF\\OAuth2\\Client', // api-skeletons/zf-oauth2-client 'ZF\\OAuth2\\Doctrine' => 'ZF\\OAuth2\\Doctrine', // api-skeletons/zf-oauth2-doctrine ]; psalm-baseline.xml000064400000016037145301263710010173 0ustar00 'LaminasAcl']]> 'LaminasRbac']]> 'LaminasRouter']]> RewriteRules::namespaceReverse() RewriteRules::namespaceRewrite() RedundantFunctionCall $keys $value $value $value $value function ($value) { function ($value) { function ($value, array $keys) { function ($value, array $keys) { replaceDependencyConfiguration replaceDependencyFactories replaceDependencyServices $config $newKey $newKey $newKey $target [$key] $config[$key] $aliases[$name] $config[$key] $keys[$key] $rewritten[$newKey] $rewritten[$newKey] $rewritten[$newKey] exactReplacements[$value]]]> $aliases[$name] $a[$key] $a[$key] $a[] $config $config $config[$key] $data $factory $factory $key $key $name $newKey $notIn[] $result $rewritten[$key] $rewritten[$key] $rewritten[$newKey] $rewritten[$newKey][] $serviceInstance $serviceInstance $target $value $value fallbackReplacement noopReplacement replaceDependencyConfiguration replaceExactValue init onMergeConfig $event $moduleManager ModuleEvent ModuleManager replacements]]> replacements]]> $replacement $replacement $original $original $original $replacement new $legacy() $config $config $expected iterable iterable require $configLocation require $expectedResultLocation $event $moduleManager $config $config $expected iterable require $configFile require $expectationsFile iterable AbstractZendServer ApiToolsModuleInterface ApiToolsProviderInterface ApiToolsVersionController Application Authentication AuthenticationAdapter Authorization Autoloading BaseModule DevelopmentMode LaminasAclFactory LaminasAuthentication LaminasBridge LaminasBridge LaminasRbac LaminasRouter LaminasViewRenderer Main Mezzio MezzioUrlGenerator MyClass MyClass OAuthService ProblemDetails Psr7Bridge Psr7Bridge Router RouterAdapter Service Tools Tools XmlService ZendMonitor ZendServerDisk ZendServerShm psalm.xml.dist000064400000002516145301263710007352 0ustar00 renovate.json000064400000000205145301263710007261 0ustar00{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "local>laminas/.github:renovate-config" ] } src/Autoloader.php000064400000013274145301263710010154 0ustar00 $namespaces * @return callable(string): void */ private static function createPrependAutoloader(array $namespaces, ClassLoader $classLoader, ArrayObject $loaded) { /** * @param string $class Class name to autoload * @return void */ return static function ($class) use ($namespaces, $classLoader, $loaded): void { if (isset($loaded[$class])) { return; } $segments = explode('\\', $class); $i = 0; $check = ''; while (isset($segments[$i + 1], $namespaces[$check . $segments[$i] . '\\'])) { $check .= $segments[$i] . '\\'; ++$i; } if ($check === '') { return; } if ($classLoader->loadClass($class)) { $legacy = $namespaces[$check] . strtr(substr($class, strlen($check)), [ 'ApiTools' => 'Apigility', 'Mezzio' => 'Expressive', 'Laminas' => 'Zend', ]); class_alias($class, $legacy); } }; } /** * @param array $namespaces * @return callable(string): void */ private static function createAppendAutoloader(array $namespaces, ArrayObject $loaded) { /** * @param string $class Class name to autoload * @return void */ return static function ($class) use ($namespaces, $loaded) { $segments = explode('\\', $class); if ($segments[0] === 'ZendService' && isset($segments[1])) { $segments[0] .= '\\' . $segments[1]; unset($segments[1]); /** @psalm-suppress RedundantFunctionCall */ $segments = array_values($segments); } $i = 0; $check = ''; // We are checking segments of the namespace to match quicker while (isset($segments[$i + 1], $namespaces[$check . $segments[$i] . '\\'])) { $check .= $segments[$i] . '\\'; ++$i; } if ($check === '') { return; } $alias = $namespaces[$check] . strtr(substr($class, strlen($check)), [ 'Apigility' => 'ApiTools', 'Expressive' => 'Mezzio', 'Zend' => 'Laminas', 'AbstractZendServer' => 'AbstractZendServer', 'ZendServerDisk' => 'ZendServerDisk', 'ZendServerShm' => 'ZendServerShm', 'ZendMonitor' => 'ZendMonitor', ]); $loaded[$alias] = true; if (class_exists($alias) || interface_exists($alias) || trait_exists($alias)) { class_alias($alias, $class); } }; } private static function getClassLoaderFromVendorDirectory(string $composerVendorDirectory): ?ClassLoader { $filename = rtrim($composerVendorDirectory, '/') . '/autoload.php'; if (!file_exists($filename)) { return null; } /** @psalm-suppress MixedAssignment */ $loader = include $filename; if (!$loader instanceof ClassLoader) { return null; } return $loader; } } src/ConfigPostProcessor.php000064400000034353145301263710012031 0ustar00 true, 'factories' => true, 'invokables' => true, 'services' => true, ]; /** @var array String keys => string values */ private $exactReplacements = [ 'zend-expressive' => 'mezzio', 'zf-apigility' => 'api-tools', ]; /** * @psalm-suppress PropertyNotSetInConstructor Initialized during call to the only public method __invoke() * @var Replacements */ private $replacements; /** @var callable[] */ private $rulesets; public function __construct() { /* Define the rulesets for replacements. * * Each ruleset has the following signature: * * @param mixed $value * @param string[] $keys Full nested key hierarchy leading to the value * @return null|callable * * If no match is made, a null is returned, allowing it to fallback to * the next ruleset in the list. If a match is made, a callback is returned, * and that will be used to perform the replacement on the value. * * The callback should have the following signature: * * @param mixed $value * @param string[] $keys * @return mixed The transformed value */ $this->rulesets = [ // Exact values function ($value) { return is_string($value) && isset($this->exactReplacements[$value]) ? [$this, 'replaceExactValue'] : null; }, // Router (MVC applications) // We do not want to rewrite these. function ($value, array $keys) { $key = array_pop($keys); // Only worried about a top-level "router" key. return $key === 'router' && $keys === [] && is_array($value) ? [$this, 'noopReplacement'] : null; }, // service- and pluginmanager handling function ($value) { return is_array($value) && array_intersect_key(self::SERVICE_MANAGER_KEYS_OF_INTEREST, $value) !== [] ? [$this, 'replaceDependencyConfiguration'] : null; }, // Array values function ($value, array $keys) { return $keys !== [] && is_array($value) ? [$this, 'processConfig'] : null; }, ]; } /** * @param string[] $keys Hierarchy of keys, for determining location in * nested configuration. * @return array */ public function __invoke(array $config, array $keys = []) { $this->replacements = $this->initializeReplacements($config); return $this->processConfig($config, $keys); } /** * Perform substitutions as needed on an individual value. * * The $key is provided to allow fine-grained selection of rewrite rules. * * @param mixed $value * @param string[] $keys Key hierarchy * @param null|int|string $key * @return mixed */ private function replace($value, array $keys, $key = null) { // Add new key to the list of keys. // We do not need to remove it later, as we are working on a copy of the array. $keys[] = $key; // Identify rewrite strategy and perform replacements $rewriteRule = $this->replacementRuleMatch($value, $keys); return $rewriteRule($value, $keys); } /** * Merge two arrays together. * * If an integer key exists in both arrays, the value from the second array * will be appended to the first array. If both values are arrays, they are * merged together, else the value of the second array overwrites the one * of the first array. * * Based on zend-stdlib Zend\Stdlib\ArrayUtils::merge * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) * * @return array */ public static function merge(array $a, array $b) { foreach ($b as $key => $value) { if (! isset($a[$key]) && ! array_key_exists($key, $a)) { $a[$key] = $value; continue; } if (null === $value && array_key_exists($key, $a)) { // Leave as-is if value from $b is null continue; } if (is_int($key)) { $a[] = $value; continue; } if (is_array($value) && is_array($a[$key])) { $a[$key] = static::merge($a[$key], $value); continue; } $a[$key] = $value; } return $a; } /** * @param mixed $value * @param null|int|string $key * @return callable Callable to invoke with value */ private function replacementRuleMatch($value, $key = null) { foreach ($this->rulesets as $ruleset) { $result = $ruleset($value, $key); if (is_callable($result)) { return $result; } } return [$this, 'fallbackReplacement']; } /** * Replace a value using the translation table, if the value is a string. * * @param mixed $value * @return mixed */ private function fallbackReplacement($value) { return is_string($value) ? $this->replacements->replace($value) : $value; } /** * Replace a value matched exactly. * * @param mixed $value * @return mixed */ private function replaceExactValue($value) { return $this->exactReplacements[$value]; } private function replaceDependencyConfiguration(array $config) { $aliases = isset($config['aliases']) && is_array($config['aliases']) ? $this->replaceDependencyAliases($config['aliases']) : []; if ($aliases) { $config['aliases'] = $aliases; } $config = $this->replaceDependencyInvokables($config); $config = $this->replaceDependencyFactories($config); $config = $this->replaceDependencyServices($config); $keys = self::SERVICE_MANAGER_KEYS_OF_INTEREST; foreach ($config as $key => $data) { if (isset($keys[$key])) { continue; } $config[$key] = is_array($data) ? $this->processConfig($data, [$key]) : $data; } return $config; } /** * Rewrite dependency aliases array * * In this case, we want to keep the alias as-is, but rewrite the target. * * We need also provide an additional alias if the alias key is a legacy class. * * @return array */ private function replaceDependencyAliases(array $aliases) { foreach ($aliases as $alias => $target) { if (! is_string($alias) || ! is_string($target)) { continue; } $newTarget = $this->replacements->replace($target); $newAlias = $this->replacements->replace($alias); $notIn = [$newTarget]; $name = $newTarget; while (isset($aliases[$name])) { $notIn[] = $aliases[$name]; $name = $aliases[$name]; } if ($newAlias === $alias && ! in_array($alias, $notIn, true)) { $aliases[$alias] = $newTarget; continue; } if (isset($aliases[$newAlias])) { continue; } if (! in_array($newAlias, $notIn, true)) { $aliases[$alias] = $newAlias; $aliases[$newAlias] = $newTarget; } } return $aliases; } /** * Rewrite dependency invokables array * * In this case, we want to keep the alias as-is, but rewrite the target. * * We need also provide an additional alias if invokable is defined with * an alias which is a legacy class. * * @return array */ private function replaceDependencyInvokables(array $config) { if (empty($config['invokables']) || ! is_array($config['invokables'])) { return $config; } foreach ($config['invokables'] as $alias => $target) { if (! is_string($alias)) { continue; } $newTarget = $this->replacements->replace($target); $newAlias = $this->replacements->replace($alias); if ($alias === $target || isset($config['aliases'][$newAlias])) { $config['invokables'][$alias] = $newTarget; continue; } $config['invokables'][$newAlias] = $newTarget; if ($newAlias === $alias) { continue; } $config['aliases'][$alias] = $newAlias; unset($config['invokables'][$alias]); } return $config; } /** * @param mixed $value * @return mixed Returns $value verbatim. */ private function noopReplacement($value) { return $value; } private function replaceDependencyFactories(array $config) { if (empty($config['factories']) || ! is_array($config['factories'])) { return $config; } foreach ($config['factories'] as $service => $factory) { if (! is_string($service)) { continue; } $replacedService = $this->replacements->replace($service); $factory = is_string($factory) ? $this->replacements->replace($factory) : $factory; $config['factories'][$replacedService] = $factory; if ($replacedService === $service) { continue; } unset($config['factories'][$service]); if (isset($config['aliases'][$service])) { continue; } $config['aliases'][$service] = $replacedService; } return $config; } private function replaceDependencyServices(array $config) { if (empty($config['services']) || ! is_array($config['services'])) { return $config; } foreach ($config['services'] as $service => $serviceInstance) { if (! is_string($service)) { continue; } $replacedService = $this->replacements->replace($service); $serviceInstance = is_array($serviceInstance) ? $this->processConfig($serviceInstance) : $serviceInstance; $config['services'][$replacedService] = $serviceInstance; if ($service === $replacedService) { continue; } unset($config['services'][$service]); if (isset($config['aliases'][$service])) { continue; } $config['aliases'][$service] = $replacedService; } return $config; } private function initializeReplacements(array $config): Replacements { $replacements = $config['laminas-zendframework-bridge']['replacements'] ?? []; if (! is_array($replacements)) { throw new RuntimeException(sprintf( 'Invalid laminas-zendframework-bridge.replacements configuration;' . ' value MUST be an array; received %s', is_object($replacements) ? get_class($replacements) : gettype($replacements) )); } foreach ($replacements as $lookup => $replacement) { if ( ! is_string($lookup) || ! is_string($replacement) || preg_match('/^\s*$/', $lookup) || preg_match('/^\s*$/', $replacement) ) { throw new RuntimeException( 'Invalid lookup or replacement in laminas-zendframework-bridge.replacements configuration;' . ' all keys and values MUST be non-empty strings.' ); } } return new Replacements($replacements); } /** * @param string[] $keys Hierarchy of keys, for determining location in * nested configuration. */ private function processConfig(array $config, array $keys = []): array { $rewritten = []; foreach ($config as $key => $value) { // Do not rewrite configuration for the bridge if ($key === 'laminas-zendframework-bridge') { $rewritten[$key] = $value; continue; } // Determine new key from replacements $newKey = is_string($key) ? $this->replace($key, $keys) : $key; // Keep original values with original key, if the key has changed, but only at the top-level. if (empty($keys) && $newKey !== $key) { $rewritten[$key] = $value; } // Perform value replacements, if any $newValue = $this->replace($value, $keys, $newKey); // Key does not already exist and/or is not an array value if (!array_key_exists($newKey, $rewritten) || !is_array($rewritten[$newKey])) { // Do not overwrite existing values with null values $rewritten[$newKey] = array_key_exists($newKey, $rewritten) && null === $newValue ? $rewritten[$newKey] : $newValue; continue; } // New value is null; nothing to do. if (null === $newValue) { continue; } // Key already exists as an array value, but $value is not an array if (!is_array($newValue)) { $rewritten[$newKey][] = $newValue; continue; } // Key already exists as an array value, and $value is also an array $rewritten[$newKey] = static::merge($rewritten[$newKey], $newValue); } return $rewritten; } } src/Module.php000064400000002506145301263710007276 0ustar00getEventManager() ->attach('mergeConfig', [$this, 'onMergeConfig']); } /** * Perform substitutions in the merged configuration. * * Rewrites keys and values matching known ZF classes, namespaces, and * configuration keys to their Laminas equivalents. * * Type-hinting deliberately omitted to allow unit testing * without dependencies on packages that do not exist yet. * * @param ModuleEvent $event */ public function onMergeConfig($event) { /** @var ConfigMergerInterface */ $configMerger = $event->getConfigListener(); $processor = new ConfigPostProcessor(); $configMerger->setMergedConfig( $processor( $configMerger->getMergedConfig($returnAsObject = false) ) ); } } src/Replacements.php000064400000002115145301263710010467 0ustar00replacements = array_merge( require __DIR__ . '/../config/replacements.php', $additionalReplacements ); // Provide multiple variants of strings containing namespace separators foreach ($this->replacements as $original => $replacement) { if (false === strpos($original, '\\')) { continue; } $this->replacements[str_replace('\\', '\\\\', $original)] = str_replace('\\', '\\\\', $replacement); $this->replacements[str_replace('\\', '\\\\\\\\', $original)] = str_replace('\\', '\\\\\\\\', $replacement); } } /** * @param string $value * @return string */ public function replace($value) { return strtr($value, $this->replacements); } } src/RewriteRules.php000064400000005324145301263710010506 0ustar00 'Mezzio\\ProblemDetails\\', 'Zend\\Expressive\\' => 'Mezzio\\', // Laminas 'Zend\\' => 'Laminas\\', 'ZF\\ComposerAutoloading\\' => 'Laminas\\ComposerAutoloading\\', 'ZF\\DevelopmentMode\\' => 'Laminas\\DevelopmentMode\\', // Apigility 'ZF\\Apigility\\' => 'Laminas\\ApiTools\\', 'ZF\\' => 'Laminas\\ApiTools\\', // ZendXml, API wrappers, zend-http OAuth support, zend-diagnostics, ZendDeveloperTools 'ZendXml\\' => 'Laminas\\Xml\\', 'ZendOAuth\\' => 'Laminas\\OAuth\\', 'ZendDiagnostics\\' => 'Laminas\\Diagnostics\\', 'ZendService\\ReCaptcha\\' => 'Laminas\\ReCaptcha\\', 'ZendService\\Twitter\\' => 'Laminas\\Twitter\\', 'ZendDeveloperTools\\' => 'Laminas\\DeveloperTools\\', ]; } /** * @return array */ public static function namespaceReverse() { return [ // ZendXml, ZendOAuth, ZendDiagnostics, ZendDeveloperTools 'Laminas\\Xml\\' => 'ZendXml\\', 'Laminas\\OAuth\\' => 'ZendOAuth\\', 'Laminas\\Diagnostics\\' => 'ZendDiagnostics\\', 'Laminas\\DeveloperTools\\' => 'ZendDeveloperTools\\', // Zend Service 'Laminas\\ReCaptcha\\' => 'ZendService\\ReCaptcha\\', 'Laminas\\Twitter\\' => 'ZendService\\Twitter\\', // Zend 'Laminas\\' => 'Zend\\', // Expressive 'Mezzio\\ProblemDetails\\' => 'Zend\\ProblemDetails\\', 'Mezzio\\' => 'Zend\\Expressive\\', // Laminas to ZfCampus 'Laminas\\ComposerAutoloading\\' => 'ZF\\ComposerAutoloading\\', 'Laminas\\DevelopmentMode\\' => 'ZF\\DevelopmentMode\\', // Apigility 'Laminas\\ApiTools\\Admin\\' => 'ZF\\Apigility\\Admin\\', 'Laminas\\ApiTools\\Doctrine\\' => 'ZF\\Apigility\\Doctrine\\', 'Laminas\\ApiTools\\Documentation\\' => 'ZF\\Apigility\\Documentation\\', 'Laminas\\ApiTools\\Example\\' => 'ZF\\Apigility\\Example\\', 'Laminas\\ApiTools\\Provider\\' => 'ZF\\Apigility\\Provider\\', 'Laminas\\ApiTools\\Welcome\\' => 'ZF\\Apiglity\\Welcome\\', 'Laminas\\ApiTools\\' => 'ZF\\', ]; } } src/autoload.php000064400000000067145301263710007661 0ustar00