diff --git a/.gitignore b/.gitignore
index d21ba1d..c186018 100755
--- a/.gitignore
+++ b/.gitignore
@@ -2,5 +2,6 @@ vendor/
.idea/
composer.phar
.phpunit.result.cache
-test/coverage/clover.xml
+test/coverage/
.php_cs.cache
+.php-cs-fixer.cache
diff --git a/.php_cs.dist b/.php-cs-fixer.dist
similarity index 100%
rename from .php_cs.dist
rename to .php-cs-fixer.dist
diff --git a/README.md b/README.md
index b04cf08..30881c7 100755
--- a/README.md
+++ b/README.md
@@ -11,4 +11,22 @@ Monolog integration module for Laminas Applications
Installation via [Composer](https://getcomposer.org).
- require alex-patterson-webdev/laminas-monolog ^1
+ require alex-patterson-webdev/laminas-monolog ^0.1
+
+Register the modules services with the Laminas Service Manager by adding the module namespace to your applications `config/modules.config.php` file.
+
+ // config/modules.config.php
+ return [
+ // ...
+ 'Arp\\LaminasMonolog',
+ // ...
+ ];
+
+## Loggers
+
+The easiest way to create a new Monolog logger is via configuration options. The `Arp\\Monolog` provides factory classes to allow
+for _most_ of the default Monolog features to be optionally included, without having to write any code.
+
+
+
+
diff --git a/composer.json b/composer.json
index d2f0dbb..1bd7def 100755
--- a/composer.json
+++ b/composer.json
@@ -12,14 +12,16 @@
],
"require" : {
"php": ">=7.4 || >=8.0",
- "alex-patterson-webdev/laminas-factory" : "dev-feature/3.0.0",
- "monolog/monolog" : "^2.2"
+ "alex-patterson-webdev/laminas-factory" : "^3.0.0",
+ "monolog/monolog" : "^2.2",
+ "ext-json": "*"
},
"require-dev" : {
+ "phpspec/prophecy": "^1.15.0",
"phpunit/phpunit": "^9.5",
- "squizlabs/php_codesniffer": "^3.5",
- "phpstan/phpstan": ">=0.12",
- "friendsofphp/php-cs-fixer": "^2.18"
+ "squizlabs/php_codesniffer": "^3.6",
+ "phpstan/phpstan": "^1.4.8",
+ "friendsofphp/php-cs-fixer": "^3.6.0"
},
"autoload": {
"psr-4": {
@@ -42,14 +44,13 @@
"@arp:check",
"@arp:lint",
"@arp:fix",
- "@arp:analyse-max",
+ "@arp:analyse",
"@arp:unit-test"
],
"arp:check": "php vendor/bin/phpcs -s --standard=phpcs.xml --colors src/ test/",
- "arp:lint": "php vendor/bin/php-cs-fixer fix --dry-run --config=.php_cs.dist",
- "arp:fix": "php vendor/bin/php-cs-fixer fix --config=.php_cs.dist",
- "arp:analyse": "php vendor/bin/phpstan analyse src/ test/ --level=7",
- "arp:analyse-max": "php vendor/bin/phpstan analyse src/ test/ --level=8",
+ "arp:lint": "php vendor/bin/php-cs-fixer fix --dry-run --verbose --config=.php-cs-fixer.dist",
+ "arp:fix": "php vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist",
+ "arp:analyse": "php vendor/bin/phpstan analyse -c phpstan.neon --level=7",
"arp:unit-test": "php vendor/bin/phpunit",
"arp:unit-test-with-coverage": [
"@putenv XDEBUG_MODE=coverage",
diff --git a/composer.lock b/composer.lock
index 4e57b5f..5e2f0b4 100755
--- a/composer.lock
+++ b/composer.lock
@@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "c41e879b3299857f1bdfc22c5b7736b2",
+ "content-hash": "368974df1b829e15e4c7b89285673423",
"packages": [
{
"name": "alex-patterson-webdev/laminas-factory",
- "version": "dev-feature/3.0.0",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/alex-patterson-webdev/laminas-factory.git",
- "reference": "3b268f15baf977bc48195020ffa6e4ff0f673975"
+ "reference": "9b68ef06290c7863f9249f57698d17a3a3abf6ad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/alex-patterson-webdev/laminas-factory/zipball/3b268f15baf977bc48195020ffa6e4ff0f673975",
- "reference": "3b268f15baf977bc48195020ffa6e4ff0f673975",
+ "url": "https://api.github.com/repos/alex-patterson-webdev/laminas-factory/zipball/9b68ef06290c7863f9249f57698d17a3a3abf6ad",
+ "reference": "9b68ef06290c7863f9249f57698d17a3a3abf6ad",
"shasum": ""
},
"require": {
@@ -25,10 +25,11 @@
"php": ">=7.4 || >=8.0"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^2.18",
- "phpstan/phpstan": ">=0.12",
+ "friendsofphp/php-cs-fixer": "^3.6.0",
+ "phpspec/prophecy": "^1.15.0",
+ "phpstan/phpstan": "^1.4.8",
"phpunit/phpunit": "^9.5",
- "squizlabs/php_codesniffer": "^3.5"
+ "squizlabs/php_codesniffer": "^3.6"
},
"type": "library",
"autoload": {
@@ -49,9 +50,9 @@
"description": "Factory components used to create services in Laminas Framework applications",
"support": {
"issues": "https://github.com/alex-patterson-webdev/laminas-factory/issues",
- "source": "https://github.com/alex-patterson-webdev/laminas-factory/tree/feature/3.0.0"
+ "source": "https://github.com/alex-patterson-webdev/laminas-factory/tree/3.0.0"
},
- "time": "2021-03-29T19:41:04+00:00"
+ "time": "2022-03-18T03:18:26+00:00"
},
{
"name": "container-interop/container-interop",
@@ -91,46 +92,45 @@
},
{
"name": "laminas/laminas-servicemanager",
- "version": "3.6.4",
+ "version": "3.10.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-servicemanager.git",
- "reference": "b1445e1a7077c21b0fad0974a1b7a11b9dbe0828"
+ "reference": "e52b985909e0940bf22d34f322eb3f48bbef6bd1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/b1445e1a7077c21b0fad0974a1b7a11b9dbe0828",
- "reference": "b1445e1a7077c21b0fad0974a1b7a11b9dbe0828",
+ "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/e52b985909e0940bf22d34f322eb3f48bbef6bd1",
+ "reference": "e52b985909e0940bf22d34f322eb3f48bbef6bd1",
"shasum": ""
},
"require": {
"container-interop/container-interop": "^1.2",
"laminas/laminas-stdlib": "^3.2.1",
- "laminas/laminas-zendframework-bridge": "^1.0",
- "php": "^7.3 || ~8.0.0",
+ "php": "~7.4.0 || ~8.0.0 || ~8.1.0",
"psr/container": "^1.0"
},
"conflict": {
"laminas/laminas-code": "<3.3.1",
- "zendframework/zend-code": "<3.3.1"
+ "zendframework/zend-code": "<3.3.1",
+ "zendframework/zend-servicemanager": "*"
},
"provide": {
"container-interop/container-interop-implementation": "^1.2",
"psr/container-implementation": "^1.0"
},
- "replace": {
- "zendframework/zend-servicemanager": "^3.4.0"
- },
"require-dev": {
"composer/package-versions-deprecated": "^1.0",
- "laminas/laminas-coding-standard": "~1.0.0",
+ "laminas/laminas-coding-standard": "~2.2.1",
"laminas/laminas-container-config-test": "^0.3",
- "laminas/laminas-dependency-plugin": "^2.1",
- "mikey179/vfsstream": "^1.6.8",
- "ocramius/proxy-manager": "^2.2.3",
- "phpbench/phpbench": "^1.0.0-alpha3",
+ "laminas/laminas-dependency-plugin": "^2.1.2",
+ "mikey179/vfsstream": "^1.6.10@alpha",
+ "ocramius/proxy-manager": "^2.11",
+ "phpbench/phpbench": "^1.1",
"phpspec/prophecy-phpunit": "^2.0",
- "phpunit/phpunit": "^9.4"
+ "phpunit/phpunit": "^9.5.5",
+ "psalm/plugin-phpunit": "^0.16.1",
+ "vimeo/psalm": "^4.8"
},
"suggest": {
"ocramius/proxy-manager": "ProxyManager ^2.1.1 to handle lazy initialization of services"
@@ -174,33 +174,34 @@
"type": "community_bridge"
}
],
- "time": "2021-02-03T08:44:41+00:00"
+ "time": "2021-09-18T20:19:36+00:00"
},
{
"name": "laminas/laminas-stdlib",
- "version": "3.3.1",
+ "version": "3.7.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-stdlib.git",
- "reference": "d81c7ffe602ed0e6ecb18691019111c0f4bf1efe"
+ "reference": "bcd869e2fe88d567800057c1434f2380354fe325"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/d81c7ffe602ed0e6ecb18691019111c0f4bf1efe",
- "reference": "d81c7ffe602ed0e6ecb18691019111c0f4bf1efe",
+ "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/bcd869e2fe88d567800057c1434f2380354fe325",
+ "reference": "bcd869e2fe88d567800057c1434f2380354fe325",
"shasum": ""
},
"require": {
- "laminas/laminas-zendframework-bridge": "^1.0",
- "php": "^7.3 || ^8.0"
+ "php": "^7.3 || ~8.0.0 || ~8.1.0"
},
- "replace": {
- "zendframework/zend-stdlib": "^3.2.1"
+ "conflict": {
+ "zendframework/zend-stdlib": "*"
},
"require-dev": {
- "laminas/laminas-coding-standard": "~1.0.0",
- "phpbench/phpbench": "^0.17.1",
- "phpunit/phpunit": "~9.3.7"
+ "laminas/laminas-coding-standard": "~2.3.0",
+ "phpbench/phpbench": "^1.0",
+ "phpunit/phpunit": "^9.3.7",
+ "psalm/plugin-phpunit": "^0.16.0",
+ "vimeo/psalm": "^4.7"
},
"type": "library",
"autoload": {
@@ -232,90 +233,28 @@
"type": "community_bridge"
}
],
- "time": "2020-11-19T20:18:59+00:00"
- },
- {
- "name": "laminas/laminas-zendframework-bridge",
- "version": "1.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/laminas/laminas-zendframework-bridge.git",
- "reference": "6cccbddfcfc742eb02158d6137ca5687d92cee32"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6cccbddfcfc742eb02158d6137ca5687d92cee32",
- "reference": "6cccbddfcfc742eb02158d6137ca5687d92cee32",
- "shasum": ""
- },
- "require": {
- "php": "^7.3 || ^8.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3",
- "psalm/plugin-phpunit": "^0.15.1",
- "squizlabs/php_codesniffer": "^3.5",
- "vimeo/psalm": "^4.6"
- },
- "type": "library",
- "extra": {
- "laminas": {
- "module": "Laminas\\ZendFrameworkBridge"
- }
- },
- "autoload": {
- "files": [
- "src/autoload.php"
- ],
- "psr-4": {
- "Laminas\\ZendFrameworkBridge\\": "src//"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "Alias legacy ZF class names to Laminas Project equivalents.",
- "keywords": [
- "ZendFramework",
- "autoloading",
- "laminas",
- "zf"
- ],
- "support": {
- "forum": "https://discourse.laminas.dev/",
- "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues",
- "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom",
- "source": "https://github.com/laminas/laminas-zendframework-bridge"
- },
- "funding": [
- {
- "url": "https://funding.communitybridge.org/projects/laminas-project",
- "type": "community_bridge"
- }
- ],
- "time": "2021-02-25T21:54:58+00:00"
+ "time": "2022-01-21T15:50:46+00:00"
},
{
"name": "monolog/monolog",
- "version": "2.2.0",
+ "version": "2.4.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084"
+ "reference": "d7fd7450628561ba697b7097d86db72662f54aef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084",
- "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/d7fd7450628561ba697b7097d86db72662f54aef",
+ "reference": "d7fd7450628561ba697b7097d86db72662f54aef",
"shasum": ""
},
"require": {
"php": ">=7.2",
- "psr/log": "^1.0.1"
+ "psr/log": "^1.0.1 || ^2.0 || ^3.0"
},
"provide": {
- "psr/log-implementation": "1.0.0"
+ "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0"
},
"require-dev": {
"aws/aws-sdk-php": "^2.4.9 || ^3.0",
@@ -323,14 +262,14 @@
"elasticsearch/elasticsearch": "^7",
"graylog2/gelf-php": "^1.4.2",
"mongodb/mongodb": "^1.8",
- "php-amqplib/php-amqplib": "~2.4",
+ "php-amqplib/php-amqplib": "~2.4 || ^3",
"php-console/php-console": "^3.1.3",
"phpspec/prophecy": "^1.6.1",
- "phpstan/phpstan": "^0.12.59",
+ "phpstan/phpstan": "^0.12.91",
"phpunit/phpunit": "^8.5",
"predis/predis": "^1.1",
- "rollbar/rollbar": "^1.3",
- "ruflin/elastica": ">=0.90 <7.0.1",
+ "rollbar/rollbar": "^1.3 || ^2 || ^3",
+ "ruflin/elastica": ">=0.90@dev",
"swiftmailer/swiftmailer": "^5.3|^6.0"
},
"suggest": {
@@ -338,8 +277,11 @@
"doctrine/couchdb": "Allow sending log messages to a CouchDB server",
"elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
"ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
+ "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler",
"ext-mbstring": "Allow to work properly with unicode symbols",
"ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
+ "ext-openssl": "Required to send log messages using SSL",
+ "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)",
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
"mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
@@ -378,7 +320,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/2.2.0"
+ "source": "https://github.com/Seldaek/monolog/tree/2.4.0"
},
"funding": [
{
@@ -390,24 +332,24 @@
"type": "tidelift"
}
],
- "time": "2020-12-14T13:15:25+00:00"
+ "time": "2022-03-14T12:44:37+00:00"
},
{
"name": "psr/container",
- "version": "1.1.1",
+ "version": "1.1.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
- "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
- "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
"shasum": ""
},
"require": {
- "php": ">=7.2.0"
+ "php": ">=7.4.0"
},
"type": "library",
"autoload": {
@@ -436,22 +378,22 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/1.1.1"
+ "source": "https://github.com/php-fig/container/tree/1.1.2"
},
- "time": "2021-03-05T17:36:06+00:00"
+ "time": "2021-11-05T16:50:12+00:00"
},
{
"name": "psr/log",
- "version": "1.1.3",
+ "version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
"shasum": ""
},
"require": {
@@ -475,7 +417,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
@@ -486,31 +428,102 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/1.1.3"
+ "source": "https://github.com/php-fig/log/tree/1.1.4"
},
- "time": "2020-03-23T09:12:05+00:00"
+ "time": "2021-05-03T11:20:27+00:00"
}
],
"packages-dev": [
+ {
+ "name": "composer/pcre",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/pcre.git",
+ "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/e300eb6c535192decd27a85bc72a9290f0d6b3bd",
+ "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd",
+ "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.0.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": "2022-02-25T20:21:48+00:00"
+ },
{
"name": "composer/semver",
- "version": "3.2.4",
+ "version": "3.3.1",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
- "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464"
+ "reference": "5d8e574bb0e69188786b8ef77d43341222a41a71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/a02fdf930a3c1c3ed3a49b5f63859c0c20e10464",
- "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464",
+ "url": "https://api.github.com/repos/composer/semver/zipball/5d8e574bb0e69188786b8ef77d43341222a41a71",
+ "reference": "5d8e574bb0e69188786b8ef77d43341222a41a71",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
- "phpstan/phpstan": "^0.12.54",
+ "phpstan/phpstan": "^1.4",
"symfony/phpunit-bridge": "^4.2 || ^5"
},
"type": "library",
@@ -555,7 +568,7 @@
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.2.4"
+ "source": "https://github.com/composer/semver/tree/3.3.1"
},
"funding": [
{
@@ -571,29 +584,31 @@
"type": "tidelift"
}
],
- "time": "2020-11-13T08:59:24+00:00"
+ "time": "2022-03-16T11:22:07+00:00"
},
{
"name": "composer/xdebug-handler",
- "version": "1.4.6",
+ "version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/composer/xdebug-handler.git",
- "reference": "f27e06cd9675801df441b3656569b328e04aa37c"
+ "reference": "ced299686f41dce890debac69273b47ffe98a40c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f27e06cd9675801df441b3656569b328e04aa37c",
- "reference": "f27e06cd9675801df441b3656569b328e04aa37c",
+ "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c",
+ "reference": "ced299686f41dce890debac69273b47ffe98a40c",
"shasum": ""
},
"require": {
- "php": "^5.3.2 || ^7.0 || ^8.0",
- "psr/log": "^1.0"
+ "composer/pcre": "^1 || ^2 || ^3",
+ "php": "^7.2.5 || ^8.0",
+ "psr/log": "^1 || ^2 || ^3"
},
"require-dev": {
- "phpstan/phpstan": "^0.12.55",
- "symfony/phpunit-bridge": "^4.2 || ^5"
+ "phpstan/phpstan": "^1.0",
+ "phpstan/phpstan-strict-rules": "^1.1",
+ "symfony/phpunit-bridge": "^6.0"
},
"type": "library",
"autoload": {
@@ -619,7 +634,7 @@
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/xdebug-handler/issues",
- "source": "https://github.com/composer/xdebug-handler/tree/1.4.6"
+ "source": "https://github.com/composer/xdebug-handler/tree/3.0.3"
},
"funding": [
{
@@ -635,32 +650,34 @@
"type": "tidelift"
}
],
- "time": "2021-03-25T17:01:18+00:00"
+ "time": "2022-02-25T21:32:43+00:00"
},
{
"name": "doctrine/annotations",
- "version": "1.12.1",
+ "version": "1.13.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/annotations.git",
- "reference": "b17c5014ef81d212ac539f07a1001832df1b6d3b"
+ "reference": "5b668aef16090008790395c02c893b1ba13f7e08"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/annotations/zipball/b17c5014ef81d212ac539f07a1001832df1b6d3b",
- "reference": "b17c5014ef81d212ac539f07a1001832df1b6d3b",
+ "url": "https://api.github.com/repos/doctrine/annotations/zipball/5b668aef16090008790395c02c893b1ba13f7e08",
+ "reference": "5b668aef16090008790395c02c893b1ba13f7e08",
"shasum": ""
},
"require": {
"doctrine/lexer": "1.*",
"ext-tokenizer": "*",
- "php": "^7.1 || ^8.0"
+ "php": "^7.1 || ^8.0",
+ "psr/cache": "^1 || ^2 || ^3"
},
"require-dev": {
- "doctrine/cache": "1.*",
+ "doctrine/cache": "^1.11 || ^2.0",
"doctrine/coding-standard": "^6.0 || ^8.1",
"phpstan/phpstan": "^0.12.20",
- "phpunit/phpunit": "^7.5 || ^9.1.5"
+ "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5",
+ "symfony/cache": "^4.4 || ^5.2"
},
"type": "library",
"autoload": {
@@ -703,35 +720,36 @@
],
"support": {
"issues": "https://github.com/doctrine/annotations/issues",
- "source": "https://github.com/doctrine/annotations/tree/1.12.1"
+ "source": "https://github.com/doctrine/annotations/tree/1.13.2"
},
- "time": "2021-02-21T21:00:45+00:00"
+ "time": "2021-08-05T19:00:23+00:00"
},
{
"name": "doctrine/instantiator",
- "version": "1.4.0",
+ "version": "1.4.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
- "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
+ "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
- "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc",
+ "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^8.0",
+ "doctrine/coding-standard": "^9",
"ext-pdo": "*",
"ext-phar": "*",
- "phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
- "phpstan/phpstan": "^0.12",
- "phpstan/phpstan-phpunit": "^0.12",
- "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
+ "phpbench/phpbench": "^0.16 || ^1",
+ "phpstan/phpstan": "^1.4",
+ "phpstan/phpstan-phpunit": "^1",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "vimeo/psalm": "^4.22"
},
"type": "library",
"autoload": {
@@ -758,7 +776,7 @@
],
"support": {
"issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/1.4.0"
+ "source": "https://github.com/doctrine/instantiator/tree/1.4.1"
},
"funding": [
{
@@ -774,36 +792,32 @@
"type": "tidelift"
}
],
- "time": "2020-11-10T18:47:58+00:00"
+ "time": "2022-03-03T08:28:38+00:00"
},
{
"name": "doctrine/lexer",
- "version": "1.2.1",
+ "version": "1.2.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/lexer.git",
- "reference": "e864bbf5904cb8f5bb334f99209b48018522f042"
+ "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042",
- "reference": "e864bbf5904cb8f5bb334f99209b48018522f042",
+ "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229",
+ "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^6.0",
- "phpstan/phpstan": "^0.11.8",
- "phpunit/phpunit": "^8.2"
+ "doctrine/coding-standard": "^9.0",
+ "phpstan/phpstan": "^1.3",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "vimeo/psalm": "^4.11"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
"autoload": {
"psr-4": {
"Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer"
@@ -838,7 +852,7 @@
],
"support": {
"issues": "https://github.com/doctrine/lexer/issues",
- "source": "https://github.com/doctrine/lexer/tree/1.2.1"
+ "source": "https://github.com/doctrine/lexer/tree/1.2.3"
},
"funding": [
{
@@ -854,62 +868,60 @@
"type": "tidelift"
}
],
- "time": "2020-05-25T17:44:05+00:00"
+ "time": "2022-02-28T11:07:21+00:00"
},
{
"name": "friendsofphp/php-cs-fixer",
- "version": "v2.18.4",
+ "version": "v3.8.0",
"source": {
"type": "git",
"url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git",
- "reference": "06f764e3cb6d60822d8f5135205f9d32b5508a31"
+ "reference": "cbad1115aac4b5c3c5540e7210d3c9fba2f81fa3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/06f764e3cb6d60822d8f5135205f9d32b5508a31",
- "reference": "06f764e3cb6d60822d8f5135205f9d32b5508a31",
+ "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/cbad1115aac4b5c3c5540e7210d3c9fba2f81fa3",
+ "reference": "cbad1115aac4b5c3c5540e7210d3c9fba2f81fa3",
"shasum": ""
},
"require": {
- "composer/semver": "^1.4 || ^2.0 || ^3.0",
- "composer/xdebug-handler": "^1.2",
- "doctrine/annotations": "^1.2",
+ "composer/semver": "^3.2",
+ "composer/xdebug-handler": "^3.0.3",
+ "doctrine/annotations": "^1.13",
"ext-json": "*",
"ext-tokenizer": "*",
- "php": "^5.6 || ^7.0 || ^8.0",
- "php-cs-fixer/diff": "^1.3",
- "symfony/console": "^3.4.43 || ^4.1.6 || ^5.0",
- "symfony/event-dispatcher": "^3.0 || ^4.0 || ^5.0",
- "symfony/filesystem": "^3.0 || ^4.0 || ^5.0",
- "symfony/finder": "^3.0 || ^4.0 || ^5.0",
- "symfony/options-resolver": "^3.0 || ^4.0 || ^5.0",
- "symfony/polyfill-php70": "^1.0",
- "symfony/polyfill-php72": "^1.4",
- "symfony/process": "^3.0 || ^4.0 || ^5.0",
- "symfony/stopwatch": "^3.0 || ^4.0 || ^5.0"
+ "php": "^7.4 || ^8.0",
+ "php-cs-fixer/diff": "^2.0",
+ "symfony/console": "^5.4 || ^6.0",
+ "symfony/event-dispatcher": "^5.4 || ^6.0",
+ "symfony/filesystem": "^5.4 || ^6.0",
+ "symfony/finder": "^5.4 || ^6.0",
+ "symfony/options-resolver": "^5.4 || ^6.0",
+ "symfony/polyfill-mbstring": "^1.23",
+ "symfony/polyfill-php80": "^1.25",
+ "symfony/polyfill-php81": "^1.25",
+ "symfony/process": "^5.4 || ^6.0",
+ "symfony/stopwatch": "^5.4 || ^6.0"
},
"require-dev": {
- "justinrainbow/json-schema": "^5.0",
- "keradus/cli-executor": "^1.4",
- "mikey179/vfsstream": "^1.6",
- "php-coveralls/php-coveralls": "^2.4.2",
- "php-cs-fixer/accessible-object": "^1.0",
+ "justinrainbow/json-schema": "^5.2",
+ "keradus/cli-executor": "^1.5",
+ "mikey179/vfsstream": "^1.6.10",
+ "php-coveralls/php-coveralls": "^2.5.2",
+ "php-cs-fixer/accessible-object": "^1.1",
"php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2",
"php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1",
- "phpspec/prophecy-phpunit": "^1.1 || ^2.0",
- "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.13 || ^9.5",
+ "phpspec/prophecy": "^1.15",
+ "phpspec/prophecy-phpunit": "^2.0",
+ "phpunit/phpunit": "^9.5",
"phpunitgoodpractices/polyfill": "^1.5",
"phpunitgoodpractices/traits": "^1.9.1",
- "sanmai/phpunit-legacy-adapter": "^6.4 || ^8.2.1",
- "symfony/phpunit-bridge": "^5.2.1",
- "symfony/yaml": "^3.0 || ^4.0 || ^5.0"
+ "symfony/phpunit-bridge": "^6.0",
+ "symfony/yaml": "^5.4 || ^6.0"
},
"suggest": {
"ext-dom": "For handling output formats in XML",
- "ext-mbstring": "For handling non-UTF8 characters.",
- "php-cs-fixer/phpunit-constraint-isidenticalstring": "For IsIdenticalString constraint.",
- "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "For XmlMatchesXsd constraint.",
- "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible."
+ "ext-mbstring": "For handling non-UTF8 characters."
},
"bin": [
"php-cs-fixer"
@@ -918,20 +930,7 @@
"autoload": {
"psr-4": {
"PhpCsFixer\\": "src/"
- },
- "classmap": [
- "tests/Test/AbstractFixerTestCase.php",
- "tests/Test/AbstractIntegrationCaseFactory.php",
- "tests/Test/AbstractIntegrationTestCase.php",
- "tests/Test/Assert/AssertTokensTrait.php",
- "tests/Test/IntegrationCase.php",
- "tests/Test/IntegrationCaseFactory.php",
- "tests/Test/IntegrationCaseFactoryInterface.php",
- "tests/Test/InternalIntegrationCaseFactory.php",
- "tests/Test/IsIdenticalConstraint.php",
- "tests/Test/TokensWithObservedTransformers.php",
- "tests/TestCase.php"
- ]
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -950,7 +949,7 @@
"description": "A tool to automatically fix PHP code style",
"support": {
"issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues",
- "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v2.18.4"
+ "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.8.0"
},
"funding": [
{
@@ -958,41 +957,42 @@
"type": "github"
}
],
- "time": "2021-03-20T14:52:33+00:00"
+ "time": "2022-03-18T17:20:59+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.10.2",
+ "version": "1.11.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
+ "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
- "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
+ "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
- "replace": {
- "myclabs/deep-copy": "self.version"
+ "conflict": {
+ "doctrine/collections": "<1.6.8",
+ "doctrine/common": "<2.13.3 || >=3,<3.2.2"
},
"require-dev": {
- "doctrine/collections": "^1.0",
- "doctrine/common": "^2.6",
- "phpunit/phpunit": "^7.1"
+ "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": {
- "psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
- },
"files": [
"src/DeepCopy/deep_copy.php"
- ]
+ ],
+ "psr-4": {
+ "DeepCopy\\": "src/DeepCopy/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1008,7 +1008,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
},
"funding": [
{
@@ -1016,20 +1016,20 @@
"type": "tidelift"
}
],
- "time": "2020-11-13T09:40:50+00:00"
+ "time": "2022-03-03T13:19:32+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v4.10.4",
+ "version": "v4.13.2",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e"
+ "reference": "210577fe3cf7badcc5814d99455df46564f3c077"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e",
- "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077",
+ "reference": "210577fe3cf7badcc5814d99455df46564f3c077",
"shasum": ""
},
"require": {
@@ -1070,22 +1070,22 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.2"
},
- "time": "2020-12-20T10:01:03+00:00"
+ "time": "2021-11-30T19:35:32+00:00"
},
{
"name": "phar-io/manifest",
- "version": "2.0.1",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
- "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133"
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
- "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
"shasum": ""
},
"require": {
@@ -1130,22 +1130,22 @@
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"support": {
"issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/master"
+ "source": "https://github.com/phar-io/manifest/tree/2.0.3"
},
- "time": "2020-06-27T14:33:11+00:00"
+ "time": "2021-07-20T11:28:43+00:00"
},
{
"name": "phar-io/version",
- "version": "3.1.0",
+ "version": "3.2.1",
"source": {
"type": "git",
"url": "https://github.com/phar-io/version.git",
- "reference": "bae7c545bef187884426f042434e561ab1ddb182"
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182",
- "reference": "bae7c545bef187884426f042434e561ab1ddb182",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
"shasum": ""
},
"require": {
@@ -1181,22 +1181,22 @@
"description": "Library for handling version information and constraints",
"support": {
"issues": "https://github.com/phar-io/version/issues",
- "source": "https://github.com/phar-io/version/tree/3.1.0"
+ "source": "https://github.com/phar-io/version/tree/3.2.1"
},
- "time": "2021-02-23T14:00:09+00:00"
+ "time": "2022-02-21T01:04:05+00:00"
},
{
"name": "php-cs-fixer/diff",
- "version": "v1.3.1",
+ "version": "v2.0.2",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/diff.git",
- "reference": "dbd31aeb251639ac0b9e7e29405c1441907f5759"
+ "reference": "29dc0d507e838c4580d018bd8b5cb412474f7ec3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/dbd31aeb251639ac0b9e7e29405c1441907f5759",
- "reference": "dbd31aeb251639ac0b9e7e29405c1441907f5759",
+ "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/29dc0d507e838c4580d018bd8b5cb412474f7ec3",
+ "reference": "29dc0d507e838c4580d018bd8b5cb412474f7ec3",
"shasum": ""
},
"require": {
@@ -1224,21 +1224,18 @@
{
"name": "Kore Nordmann",
"email": "mail@kore-nordmann.de"
- },
- {
- "name": "SpacePossum"
}
],
- "description": "sebastian/diff v2 backport support for PHP5.6",
+ "description": "sebastian/diff v3 backport support for PHP 5.6+",
"homepage": "https://github.com/PHP-CS-Fixer",
"keywords": [
"diff"
],
"support": {
"issues": "https://github.com/PHP-CS-Fixer/diff/issues",
- "source": "https://github.com/PHP-CS-Fixer/diff/tree/v1.3.1"
+ "source": "https://github.com/PHP-CS-Fixer/diff/tree/v2.0.2"
},
- "time": "2020-10-14T08:39:05+00:00"
+ "time": "2020-10-14T08:32:19+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -1295,16 +1292,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "5.2.2",
+ "version": "5.3.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
- "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
"shasum": ""
},
"require": {
@@ -1315,7 +1312,8 @@
"webmozart/assert": "^1.9.1"
},
"require-dev": {
- "mockery/mockery": "~1.3.2"
+ "mockery/mockery": "~1.3.2",
+ "psalm/phar": "^4.8"
},
"type": "library",
"extra": {
@@ -1345,22 +1343,22 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
},
- "time": "2020-09-03T19:13:55+00:00"
+ "time": "2021-10-19T17:43:47+00:00"
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.4.0",
+ "version": "1.6.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
+ "reference": "93ebd0014cab80c4ea9f5e297ea48672f1b87706"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
- "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/93ebd0014cab80c4ea9f5e297ea48672f1b87706",
+ "reference": "93ebd0014cab80c4ea9f5e297ea48672f1b87706",
"shasum": ""
},
"require": {
@@ -1368,7 +1366,8 @@
"phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
- "ext-tokenizer": "*"
+ "ext-tokenizer": "*",
+ "psalm/phar": "^4.8"
},
"type": "library",
"extra": {
@@ -1394,39 +1393,39 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.0"
},
- "time": "2020-09-17T18:55:26+00:00"
+ "time": "2022-01-04T19:58:01+00:00"
},
{
"name": "phpspec/prophecy",
- "version": "1.13.0",
+ "version": "v1.15.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
- "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea"
+ "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea",
- "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13",
+ "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.2",
- "php": "^7.2 || ~8.0, <8.1",
+ "php": "^7.2 || ~8.0, <8.2",
"phpdocumentor/reflection-docblock": "^5.2",
"sebastian/comparator": "^3.0 || ^4.0",
"sebastian/recursion-context": "^3.0 || ^4.0"
},
"require-dev": {
- "phpspec/phpspec": "^6.0",
+ "phpspec/phpspec": "^6.0 || ^7.0",
"phpunit/phpunit": "^8.0 || ^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.11.x-dev"
+ "dev-master": "1.x-dev"
}
},
"autoload": {
@@ -1461,22 +1460,22 @@
],
"support": {
"issues": "https://github.com/phpspec/prophecy/issues",
- "source": "https://github.com/phpspec/prophecy/tree/1.13.0"
+ "source": "https://github.com/phpspec/prophecy/tree/v1.15.0"
},
- "time": "2021-03-17T13:42:18+00:00"
+ "time": "2021-12-08T12:19:24+00:00"
},
{
"name": "phpstan/phpstan",
- "version": "0.12.82",
+ "version": "1.4.10",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
- "reference": "3920f0fb0aff39263d3a4cb0bca120a67a1a6a11"
+ "reference": "898c479c39caa727bedf4311dd294a8f4e250e72"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/3920f0fb0aff39263d3a4cb0bca120a67a1a6a11",
- "reference": "3920f0fb0aff39263d3a4cb0bca120a67a1a6a11",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/898c479c39caa727bedf4311dd294a8f4e250e72",
+ "reference": "898c479c39caa727bedf4311dd294a8f4e250e72",
"shasum": ""
},
"require": {
@@ -1490,11 +1489,6 @@
"phpstan.phar"
],
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "0.12-dev"
- }
- },
"autoload": {
"files": [
"bootstrap.php"
@@ -1507,13 +1501,17 @@
"description": "PHPStan - PHP Static Analysis Tool",
"support": {
"issues": "https://github.com/phpstan/phpstan/issues",
- "source": "https://github.com/phpstan/phpstan/tree/0.12.82"
+ "source": "https://github.com/phpstan/phpstan/tree/1.4.10"
},
"funding": [
{
"url": "https://github.com/ondrejmirtes",
"type": "github"
},
+ {
+ "url": "https://github.com/phpstan",
+ "type": "github"
+ },
{
"url": "https://www.patreon.com/phpstan",
"type": "patreon"
@@ -1523,27 +1521,27 @@
"type": "tidelift"
}
],
- "time": "2021-03-19T06:08:17+00:00"
+ "time": "2022-03-14T10:25:45+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.6",
+ "version": "9.2.15",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "f6293e1b30a2354e8428e004689671b83871edde"
+ "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde",
- "reference": "f6293e1b30a2354e8428e004689671b83871edde",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2e9da11878c4202f97915c1cb4bb1ca318a63f5f",
+ "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.10.2",
+ "nikic/php-parser": "^4.13.0",
"php": ">=7.3",
"phpunit/php-file-iterator": "^3.0.3",
"phpunit/php-text-template": "^2.0.2",
@@ -1592,7 +1590,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.6"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.15"
},
"funding": [
{
@@ -1600,20 +1598,20 @@
"type": "github"
}
],
- "time": "2021-03-28T07:26:59+00:00"
+ "time": "2022-03-07T09:28:20+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "3.0.5",
+ "version": "3.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8"
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8",
- "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
"shasum": ""
},
"require": {
@@ -1652,7 +1650,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5"
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
},
"funding": [
{
@@ -1660,7 +1658,7 @@
"type": "github"
}
],
- "time": "2020-09-28T05:57:25+00:00"
+ "time": "2021-12-02T12:48:52+00:00"
},
{
"name": "phpunit/php-invoker",
@@ -1845,16 +1843,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.5.4",
+ "version": "9.5.19",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "c73c6737305e779771147af66c96ca6a7ed8a741"
+ "reference": "35ea4b7f3acabb26f4bb640f8c30866c401da807"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c73c6737305e779771147af66c96ca6a7ed8a741",
- "reference": "c73c6737305e779771147af66c96ca6a7ed8a741",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/35ea4b7f3acabb26f4bb640f8c30866c401da807",
+ "reference": "35ea4b7f3acabb26f4bb640f8c30866c401da807",
"shasum": ""
},
"require": {
@@ -1866,11 +1864,11 @@
"ext-xml": "*",
"ext-xmlwriter": "*",
"myclabs/deep-copy": "^1.10.1",
- "phar-io/manifest": "^2.0.1",
+ "phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
"php": ">=7.3",
"phpspec/prophecy": "^1.12.1",
- "phpunit/php-code-coverage": "^9.2.3",
+ "phpunit/php-code-coverage": "^9.2.13",
"phpunit/php-file-iterator": "^3.0.5",
"phpunit/php-invoker": "^3.1.1",
"phpunit/php-text-template": "^2.0.3",
@@ -1884,7 +1882,7 @@
"sebastian/global-state": "^5.0.1",
"sebastian/object-enumerator": "^4.0.3",
"sebastian/resource-operations": "^3.0.3",
- "sebastian/type": "^2.3",
+ "sebastian/type": "^3.0",
"sebastian/version": "^3.0.2"
},
"require-dev": {
@@ -1905,11 +1903,11 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ],
"files": [
"src/Framework/Assert/Functions.php"
+ ],
+ "classmap": [
+ "src/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -1932,11 +1930,11 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.4"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.19"
},
"funding": [
{
- "url": "https://phpunit.de/donate.html",
+ "url": "https://phpunit.de/sponsors.html",
"type": "custom"
},
{
@@ -1944,7 +1942,56 @@
"type": "github"
}
],
- "time": "2021-03-23T07:16:29+00:00"
+ "time": "2022-03-15T09:57:31+00:00"
+ },
+ {
+ "name": "psr/cache",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/cache.git",
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Cache\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for caching libraries",
+ "keywords": [
+ "cache",
+ "psr",
+ "psr-6"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/cache/tree/master"
+ },
+ "time": "2016-08-06T20:24:11+00:00"
},
{
"name": "psr/event-dispatcher",
@@ -2425,16 +2472,16 @@
},
{
"name": "sebastian/exporter",
- "version": "4.0.3",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65"
+ "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65",
- "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9",
+ "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9",
"shasum": ""
},
"require": {
@@ -2483,14 +2530,14 @@
}
],
"description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
+ "homepage": "https://www.github.com/sebastianbergmann/exporter",
"keywords": [
"export",
"exporter"
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4"
},
"funding": [
{
@@ -2498,20 +2545,20 @@
"type": "github"
}
],
- "time": "2020-09-28T05:24:23+00:00"
+ "time": "2021-11-11T14:18:36+00:00"
},
{
"name": "sebastian/global-state",
- "version": "5.0.2",
+ "version": "5.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "a90ccbddffa067b51f574dea6eb25d5680839455"
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455",
- "reference": "a90ccbddffa067b51f574dea6eb25d5680839455",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
"shasum": ""
},
"require": {
@@ -2554,7 +2601,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
},
"funding": [
{
@@ -2562,7 +2609,7 @@
"type": "github"
}
],
- "time": "2020-10-26T15:55:19+00:00"
+ "time": "2022-02-14T08:28:10+00:00"
},
{
"name": "sebastian/lines-of-code",
@@ -2853,28 +2900,28 @@
},
{
"name": "sebastian/type",
- "version": "2.3.1",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2"
+ "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
- "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b233b84bc4465aff7b57cf1c4bc75c86d00d6dad",
+ "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^9.5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.3-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -2897,7 +2944,7 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/2.3.1"
+ "source": "https://github.com/sebastianbergmann/type/tree/3.0.0"
},
"funding": [
{
@@ -2905,7 +2952,7 @@
"type": "github"
}
],
- "time": "2020-10-26T13:18:59+00:00"
+ "time": "2022-03-15T09:54:48+00:00"
},
{
"name": "sebastian/version",
@@ -2962,16 +3009,16 @@
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.5.8",
+ "version": "3.6.2",
"source": {
"type": "git",
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "9d583721a7157ee997f235f327de038e7ea6dac4"
+ "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4",
- "reference": "9d583721a7157ee997f235f327de038e7ea6dac4",
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5e4e71592f69da17871dba6e80dd51bce74a351a",
+ "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a",
"shasum": ""
},
"require": {
@@ -3014,31 +3061,33 @@
"source": "https://github.com/squizlabs/PHP_CodeSniffer",
"wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
},
- "time": "2020-10-23T02:01:07+00:00"
+ "time": "2021-12-12T21:44:58+00:00"
},
{
"name": "symfony/console",
- "version": "v5.2.6",
+ "version": "v5.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d"
+ "reference": "d8111acc99876953f52fe16d4c50eb60940d49ad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/35f039df40a3b335ebf310f244cb242b3a83ac8d",
- "reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d",
+ "url": "https://api.github.com/repos/symfony/console/zipball/d8111acc99876953f52fe16d4c50eb60940d49ad",
+ "reference": "d8111acc99876953f52fe16d4c50eb60940d49ad",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "^1.8",
- "symfony/polyfill-php80": "^1.15",
- "symfony/service-contracts": "^1.1|^2",
- "symfony/string": "^5.1"
+ "symfony/polyfill-php73": "^1.9",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/service-contracts": "^1.1|^2|^3",
+ "symfony/string": "^5.1|^6.0"
},
"conflict": {
+ "psr/log": ">=3",
"symfony/dependency-injection": "<4.4",
"symfony/dotenv": "<5.1",
"symfony/event-dispatcher": "<4.4",
@@ -3046,16 +3095,16 @@
"symfony/process": "<4.4"
},
"provide": {
- "psr/log-implementation": "1.0"
+ "psr/log-implementation": "1.0|2.0"
},
"require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "^4.4|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0",
- "symfony/event-dispatcher": "^4.4|^5.0",
- "symfony/lock": "^4.4|^5.0",
- "symfony/process": "^4.4|^5.0",
- "symfony/var-dumper": "^4.4|^5.0"
+ "psr/log": "^1|^2",
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
+ "symfony/lock": "^4.4|^5.0|^6.0",
+ "symfony/process": "^4.4|^5.0|^6.0",
+ "symfony/var-dumper": "^4.4|^5.0|^6.0"
},
"suggest": {
"psr/log": "For using the console logger",
@@ -3095,7 +3144,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.2.6"
+ "source": "https://github.com/symfony/console/tree/v5.4.5"
},
"funding": [
{
@@ -3111,20 +3160,20 @@
"type": "tidelift"
}
],
- "time": "2021-03-28T09:42:18+00:00"
+ "time": "2022-02-24T12:45:35+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v2.2.0",
+ "version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665"
+ "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665",
- "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8",
+ "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8",
"shasum": ""
},
"require": {
@@ -3133,7 +3182,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2-dev"
+ "dev-main": "2.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3162,7 +3211,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/master"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0"
},
"funding": [
{
@@ -3178,27 +3227,27 @@
"type": "tidelift"
}
],
- "time": "2020-09-07T11:33:47+00:00"
+ "time": "2021-07-12T14:48:14+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.2.4",
+ "version": "v5.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "d08d6ec121a425897951900ab692b612a61d6240"
+ "reference": "dec8a9f58d20df252b9cd89f1c6c1530f747685d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d08d6ec121a425897951900ab692b612a61d6240",
- "reference": "d08d6ec121a425897951900ab692b612a61d6240",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dec8a9f58d20df252b9cd89f1c6c1530f747685d",
+ "reference": "dec8a9f58d20df252b9cd89f1c6c1530f747685d",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/event-dispatcher-contracts": "^2",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/event-dispatcher-contracts": "^2|^3",
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"symfony/dependency-injection": "<4.4"
@@ -3208,14 +3257,14 @@
"symfony/event-dispatcher-implementation": "2.0"
},
"require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "^4.4|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0",
- "symfony/error-handler": "^4.4|^5.0",
- "symfony/expression-language": "^4.4|^5.0",
- "symfony/http-foundation": "^4.4|^5.0",
- "symfony/service-contracts": "^1.1|^2",
- "symfony/stopwatch": "^4.4|^5.0"
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/http-foundation": "^4.4|^5.0|^6.0",
+ "symfony/service-contracts": "^1.1|^2|^3",
+ "symfony/stopwatch": "^4.4|^5.0|^6.0"
},
"suggest": {
"symfony/dependency-injection": "",
@@ -3247,7 +3296,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v5.2.4"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.3"
},
"funding": [
{
@@ -3263,20 +3312,20 @@
"type": "tidelift"
}
],
- "time": "2021-02-18T17:12:37+00:00"
+ "time": "2022-01-02T09:53:40+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v2.2.0",
+ "version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2"
+ "reference": "66bea3b09be61613cd3b4043a65a8ec48cfa6d2a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2",
- "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/66bea3b09be61613cd3b4043a65a8ec48cfa6d2a",
+ "reference": "66bea3b09be61613cd3b4043a65a8ec48cfa6d2a",
"shasum": ""
},
"require": {
@@ -3289,7 +3338,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2-dev"
+ "dev-main": "2.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3326,7 +3375,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.2.0"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.0"
},
"funding": [
{
@@ -3342,25 +3391,27 @@
"type": "tidelift"
}
],
- "time": "2020-09-07T11:33:47+00:00"
+ "time": "2021-07-12T14:48:14+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v5.2.6",
+ "version": "v5.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "8c86a82f51658188119e62cff0a050a12d09836f"
+ "reference": "d53a45039974952af7f7ebc461ccdd4295e29440"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/8c86a82f51658188119e62cff0a050a12d09836f",
- "reference": "8c86a82f51658188119e62cff0a050a12d09836f",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/d53a45039974952af7f7ebc461ccdd4295e29440",
+ "reference": "d53a45039974952af7f7ebc461ccdd4295e29440",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/polyfill-ctype": "~1.8"
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-mbstring": "~1.8",
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
"autoload": {
@@ -3388,7 +3439,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v5.2.6"
+ "source": "https://github.com/symfony/filesystem/tree/v5.4.6"
},
"funding": [
{
@@ -3404,24 +3455,26 @@
"type": "tidelift"
}
],
- "time": "2021-03-28T14:30:26+00:00"
+ "time": "2022-03-02T12:42:23+00:00"
},
{
"name": "symfony/finder",
- "version": "v5.2.4",
+ "version": "v5.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "0d639a0943822626290d169965804f79400e6a04"
+ "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/0d639a0943822626290d169965804f79400e6a04",
- "reference": "0d639a0943822626290d169965804f79400e6a04",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/231313534dded84c7ecaa79d14bc5da4ccb69b7d",
+ "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
"autoload": {
@@ -3449,7 +3502,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v5.2.4"
+ "source": "https://github.com/symfony/finder/tree/v5.4.3"
},
"funding": [
{
@@ -3465,27 +3518,27 @@
"type": "tidelift"
}
],
- "time": "2021-02-15T18:55:04+00:00"
+ "time": "2022-01-26T16:34:36+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v5.2.4",
+ "version": "v5.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "5d0f633f9bbfcf7ec642a2b5037268e61b0a62ce"
+ "reference": "cc1147cb11af1b43f503ac18f31aa3bec213aba8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/5d0f633f9bbfcf7ec642a2b5037268e61b0a62ce",
- "reference": "5d0f633f9bbfcf7ec642a2b5037268e61b0a62ce",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/cc1147cb11af1b43f503ac18f31aa3bec213aba8",
+ "reference": "cc1147cb11af1b43f503ac18f31aa3bec213aba8",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
+ "symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-php73": "~1.0",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
"autoload": {
@@ -3518,7 +3571,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v5.2.4"
+ "source": "https://github.com/symfony/options-resolver/tree/v5.4.3"
},
"funding": [
{
@@ -3534,32 +3587,35 @@
"type": "tidelift"
}
],
- "time": "2021-01-27T12:56:27+00:00"
+ "time": "2022-01-02T09:53:40+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.22.1",
+ "version": "v1.25.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
+ "reference": "30885182c981ab175d4d034db0f6f469898070ab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
- "reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab",
+ "reference": "30885182c981ab175d4d034db0f6f469898070ab",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
+ "provide": {
+ "ext-ctype": "*"
+ },
"suggest": {
"ext-ctype": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3567,12 +3623,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- },
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3597,7 +3653,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.25.0"
},
"funding": [
{
@@ -3613,20 +3669,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2021-10-20T20:35:02+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.22.1",
+ "version": "v1.25.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170"
+ "reference": "81b86b50cf841a64252b439e738e97f4a34e2783"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170",
- "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783",
+ "reference": "81b86b50cf841a64252b439e738e97f4a34e2783",
"shasum": ""
},
"require": {
@@ -3638,7 +3694,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3646,12 +3702,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
- },
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3678,7 +3734,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.25.0"
},
"funding": [
{
@@ -3694,20 +3750,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-22T09:19:47+00:00"
+ "time": "2021-11-23T21:10:46+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.22.1",
+ "version": "v1.25.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248"
+ "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248",
- "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8",
+ "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8",
"shasum": ""
},
"require": {
@@ -3719,7 +3775,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3727,12 +3783,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
- },
"files": [
"bootstrap.php"
],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
+ },
"classmap": [
"Resources/stubs"
]
@@ -3762,7 +3818,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.25.0"
},
"funding": [
{
@@ -3778,32 +3834,35 @@
"type": "tidelift"
}
],
- "time": "2021-01-22T09:19:47+00:00"
+ "time": "2021-02-19T12:13:01+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.22.1",
+ "version": "v1.25.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "5232de97ee3b75b0360528dae24e73db49566ab1"
+ "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1",
- "reference": "5232de97ee3b75b0360528dae24e73db49566ab1",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825",
+ "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
+ "provide": {
+ "ext-mbstring": "*"
+ },
"suggest": {
"ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3811,12 +3870,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- },
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3842,75 +3901,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2021-01-22T09:19:47+00:00"
- },
- {
- "name": "symfony/polyfill-php70",
- "version": "v1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php70.git",
- "reference": "5f03a781d984aae42cebd18e7912fa80f02ee644"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/5f03a781d984aae42cebd18e7912fa80f02ee644",
- "reference": "5f03a781d984aae42cebd18e7912fa80f02ee644",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "metapackage",
- "extra": {
- "branch-alias": {
- "dev-main": "1.20-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php70/tree/v1.20.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.25.0"
},
"funding": [
{
@@ -3926,20 +3917,20 @@
"type": "tidelift"
}
],
- "time": "2020-10-23T14:02:19+00:00"
+ "time": "2021-11-30T18:21:41+00:00"
},
{
- "name": "symfony/polyfill-php72",
- "version": "v1.22.1",
+ "name": "symfony/polyfill-php73",
+ "version": "v1.25.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9"
+ "url": "https://github.com/symfony/polyfill-php73.git",
+ "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9",
- "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5",
+ "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5",
"shasum": ""
},
"require": {
@@ -3948,7 +3939,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3956,11 +3947,14 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php72\\": ""
- },
"files": [
"bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php73\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -3977,7 +3971,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
+ "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
@@ -3986,7 +3980,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.25.0"
},
"funding": [
{
@@ -4002,20 +3996,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2021-06-05T21:20:04+00:00"
},
{
- "name": "symfony/polyfill-php73",
- "version": "v1.22.1",
+ "name": "symfony/polyfill-php80",
+ "version": "v1.25.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2"
+ "url": "https://github.com/symfony/polyfill-php80.git",
+ "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2",
- "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4407588e0d3f1f52efb65fbe92babe41f37fe50c",
+ "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c",
"shasum": ""
},
"require": {
@@ -4024,7 +4018,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4032,12 +4026,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php73\\": ""
- },
"files": [
"bootstrap.php"
],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php80\\": ""
+ },
"classmap": [
"Resources/stubs"
]
@@ -4047,6 +4041,10 @@
"MIT"
],
"authors": [
+ {
+ "name": "Ion Bazan",
+ "email": "ion.bazan@gmail.com"
+ },
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
@@ -4056,7 +4054,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
+ "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
@@ -4065,7 +4063,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.25.0"
},
"funding": [
{
@@ -4081,20 +4079,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2022-03-04T08:16:47+00:00"
},
{
- "name": "symfony/polyfill-php80",
- "version": "v1.22.1",
+ "name": "symfony/polyfill-php81",
+ "version": "v1.25.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91"
+ "url": "https://github.com/symfony/polyfill-php81.git",
+ "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91",
- "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f",
+ "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f",
"shasum": ""
},
"require": {
@@ -4103,7 +4101,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4111,12 +4109,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
"files": [
"bootstrap.php"
],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php81\\": ""
+ },
"classmap": [
"Resources/stubs"
]
@@ -4126,10 +4124,6 @@
"MIT"
],
"authors": [
- {
- "name": "Ion Bazan",
- "email": "ion.bazan@gmail.com"
- },
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
@@ -4139,7 +4133,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+ "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
@@ -4148,7 +4142,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1"
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.25.0"
},
"funding": [
{
@@ -4164,25 +4158,25 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2021-09-13T13:58:11+00:00"
},
{
"name": "symfony/process",
- "version": "v5.2.4",
+ "version": "v5.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f"
+ "reference": "95440409896f90a5f85db07a32b517ecec17fa4c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f",
- "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f",
+ "url": "https://api.github.com/repos/symfony/process/zipball/95440409896f90a5f85db07a32b517ecec17fa4c",
+ "reference": "95440409896f90a5f85db07a32b517ecec17fa4c",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
"autoload": {
@@ -4210,7 +4204,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v5.2.4"
+ "source": "https://github.com/symfony/process/tree/v5.4.5"
},
"funding": [
{
@@ -4226,25 +4220,29 @@
"type": "tidelift"
}
],
- "time": "2021-01-27T10:15:41+00:00"
+ "time": "2022-01-30T18:16:22+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v2.2.0",
+ "version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
+ "reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
- "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
+ "reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "psr/container": "^1.0"
+ "psr/container": "^1.1",
+ "symfony/deprecation-contracts": "^2.1"
+ },
+ "conflict": {
+ "ext-psr": "<1.1|>=2"
},
"suggest": {
"symfony/service-implementation": ""
@@ -4252,7 +4250,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2-dev"
+ "dev-main": "2.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -4289,7 +4287,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/master"
+ "source": "https://github.com/symfony/service-contracts/tree/v2.5.0"
},
"funding": [
{
@@ -4305,25 +4303,25 @@
"type": "tidelift"
}
],
- "time": "2020-09-07T11:33:47+00:00"
+ "time": "2021-11-04T16:48:04+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v5.2.4",
+ "version": "v5.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c"
+ "reference": "4d04b5c24f3c9a1a168a131f6cbe297155bc0d30"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b12274acfab9d9850c52583d136a24398cdf1a0c",
- "reference": "b12274acfab9d9850c52583d136a24398cdf1a0c",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/4d04b5c24f3c9a1a168a131f6cbe297155bc0d30",
+ "reference": "4d04b5c24f3c9a1a168a131f6cbe297155bc0d30",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/service-contracts": "^1.0|^2"
+ "symfony/service-contracts": "^1|^2|^3"
},
"type": "library",
"autoload": {
@@ -4351,7 +4349,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v5.2.4"
+ "source": "https://github.com/symfony/stopwatch/tree/v5.4.5"
},
"funding": [
{
@@ -4367,20 +4365,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-27T10:15:41+00:00"
+ "time": "2022-02-18T16:06:09+00:00"
},
{
"name": "symfony/string",
- "version": "v5.2.6",
+ "version": "v5.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572"
+ "reference": "92043b7d8383e48104e411bc9434b260dbeb5a10"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572",
- "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572",
+ "url": "https://api.github.com/repos/symfony/string/zipball/92043b7d8383e48104e411bc9434b260dbeb5a10",
+ "reference": "92043b7d8383e48104e411bc9434b260dbeb5a10",
"shasum": ""
},
"require": {
@@ -4391,20 +4389,23 @@
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php80": "~1.15"
},
+ "conflict": {
+ "symfony/translation-contracts": ">=3.0"
+ },
"require-dev": {
- "symfony/error-handler": "^4.4|^5.0",
- "symfony/http-client": "^4.4|^5.0",
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
+ "symfony/http-client": "^4.4|^5.0|^6.0",
"symfony/translation-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.4|^5.0"
+ "symfony/var-exporter": "^4.4|^5.0|^6.0"
},
"type": "library",
"autoload": {
- "psr-4": {
- "Symfony\\Component\\String\\": ""
- },
"files": [
"Resources/functions.php"
],
+ "psr-4": {
+ "Symfony\\Component\\String\\": ""
+ },
"exclude-from-classmap": [
"/Tests/"
]
@@ -4434,7 +4435,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.2.6"
+ "source": "https://github.com/symfony/string/tree/v5.4.3"
},
"funding": [
{
@@ -4450,20 +4451,20 @@
"type": "tidelift"
}
],
- "time": "2021-03-17T17:12:15+00:00"
+ "time": "2022-01-02T09:53:40+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.0",
+ "version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "75a63c33a8577608444246075ea0af0d052e452a"
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a",
- "reference": "75a63c33a8577608444246075ea0af0d052e452a",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
"shasum": ""
},
"require": {
@@ -4492,7 +4493,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/master"
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
},
"funding": [
{
@@ -4500,7 +4501,7 @@
"type": "github"
}
],
- "time": "2020-07-12T23:59:07+00:00"
+ "time": "2021-07-28T10:34:58+00:00"
},
{
"name": "webmozart/assert",
@@ -4563,13 +4564,12 @@
],
"aliases": [],
"minimum-stability": "dev",
- "stability-flags": {
- "alex-patterson-webdev/laminas-factory": 20
- },
+ "stability-flags": [],
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
- "php": ">=7.4 || >=8.0"
+ "php": ">=7.4 || >=8.0",
+ "ext-json": "*"
},
"platform-dev": [],
"plugin-api-version": "2.0.0"
diff --git a/config/module.config.php b/config/module.config.php
index 690ac0f..38c9853 100755
--- a/config/module.config.php
+++ b/config/module.config.php
@@ -11,8 +11,11 @@
use Arp\LaminasMonolog\Factory\Handler\NullHandlerFactory;
use Arp\LaminasMonolog\Factory\Handler\StreamHandlerFactory;
use Arp\LaminasMonolog\Factory\Processor\GitProcessorFactory;
+use Arp\LaminasMonolog\Factory\Processor\MemoryPeakUsageProcessorFactory;
use Arp\LaminasMonolog\Factory\Processor\MemoryUsageProcessorFactory;
use Arp\LaminasMonolog\Factory\Processor\PsrLogMessageProcessorFactory;
+use Arp\LaminasMonolog\Factory\Processor\TagProcessorFactory;
+use Arp\LaminasMonolog\Factory\Processor\UidProcessorFactory;
use Arp\LaminasMonolog\Factory\Processor\WebProcessorFactory;
use Laminas\ServiceManager\Factory\InvokableFactory;
use Monolog\Formatter\HtmlFormatter;
@@ -23,8 +26,12 @@
use Monolog\Handler\StreamHandler;
use Monolog\Processor\GitProcessor;
use Monolog\Processor\HostnameProcessor;
+use Monolog\Processor\MemoryPeakUsageProcessor;
use Monolog\Processor\MemoryUsageProcessor;
+use Monolog\Processor\ProcessIdProcessor;
use Monolog\Processor\PsrLogMessageProcessor;
+use Monolog\Processor\TagProcessor;
+use Monolog\Processor\UidProcessor;
use Monolog\Processor\WebProcessor;
return [
@@ -40,11 +47,15 @@
NoopHandler::class => NoopHandlerFactory::class,
// Processors
- MemoryUsageProcessor::class => MemoryUsageProcessorFactory::class,
- PsrLogMessageProcessor::class => PsrLogMessageProcessorFactory::class,
GitProcessor::class => GitProcessorFactory::class,
HostnameProcessor::class => InvokableFactory::class,
+ MemoryPeakUsageProcessor::class => MemoryPeakUsageProcessorFactory::class,
+ MemoryUsageProcessor::class => MemoryUsageProcessorFactory::class,
+ PsrLogMessageProcessor::class => PsrLogMessageProcessorFactory::class,
WebProcessor::class => WebProcessorFactory::class,
+ ProcessIdProcessor::class => InvokableFactory::class,
+ TagProcessor::class => TagProcessorFactory::class,
+ UidProcessor::class => UidProcessorFactory::class,
// Formatter
LineFormatter::class => LineFormatterFactory::class,
diff --git a/phpcs.xml b/phpcs.xml
index 6f83c70..372912b 100755
--- a/phpcs.xml
+++ b/phpcs.xml
@@ -1,26 +1,34 @@
ARP coding standard
-
-
-
- 0
+
+
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/phpstan.neon b/phpstan.neon
new file mode 100755
index 0000000..8b4dc29
--- /dev/null
+++ b/phpstan.neon
@@ -0,0 +1,5 @@
+parameters:
+ level: 7
+ paths:
+ - src/
+ - test/
diff --git a/src/Factory/FactoryFormatterProviderTrait.php b/src/Factory/FactoryFormatterProviderTrait.php
new file mode 100755
index 0000000..3ec7340
--- /dev/null
+++ b/src/Factory/FactoryFormatterProviderTrait.php
@@ -0,0 +1,61 @@
+
+ * @package Arp\LaminasMonolog\Factory
+ */
+trait FactoryFormatterProviderTrait
+{
+ /**
+ * @param ContainerInterface $container
+ * @param string|FormatterInterface $formatter
+ * @param string $serviceName
+ *
+ * @return FormatterInterface
+ *
+ * @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
+ * @throws NotFoundExceptionInterface
+ */
+ private function getFormatter(
+ ContainerInterface $container,
+ $formatter,
+ string $serviceName
+ ): FormatterInterface {
+ if (is_string($formatter)) {
+ if (!$container->has($formatter)) {
+ throw new ServiceNotFoundException(
+ sprintf('The formatter \'%s\' could not be found for service \'%s\'', $formatter, $serviceName)
+ );
+ }
+
+ $formatter = $container->get($formatter);
+ }
+
+ if (!$formatter instanceof FormatterInterface) {
+ throw new ServiceNotCreatedException(
+ sprintf(
+ 'The resolved formatter must be an object of type \'%s\'; \'%s\' provided for service \'%s\'',
+ FormatterInterface::class,
+ is_object($formatter) ? get_class($formatter) : gettype($formatter),
+ $serviceName
+ )
+ );
+ }
+
+ return $formatter;
+ }
+}
diff --git a/src/Factory/FactoryLoggerProviderTrait.php b/src/Factory/FactoryLoggerProviderTrait.php
new file mode 100755
index 0000000..2deb05a
--- /dev/null
+++ b/src/Factory/FactoryLoggerProviderTrait.php
@@ -0,0 +1,82 @@
+
+ * @package Arp\LaminasMonolog\Factory
+ */
+trait FactoryLoggerProviderTrait
+{
+ /**
+ * @var string
+ */
+ protected string $loggerService = Logger::class;
+
+ /**
+ * @param ContainerInterface|ServiceLocatorInterface $container
+ * @param LoggerInterface|string|array $logger
+ * @param string $serviceName
+ *
+ * @return LoggerInterface
+ *
+ * @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
+ * @throws NotFoundExceptionInterface
+ */
+ public function getLogger(ContainerInterface $container, $logger, string $serviceName): LoggerInterface
+ {
+ if (is_string($logger)) {
+ if (!$container->has($logger)) {
+ throw new ServiceNotFoundException(
+ sprintf('The logger \'%s\' could not be found for service \'%s\'', $logger, $serviceName)
+ );
+ }
+
+ $logger = $container->get($logger);
+ }
+
+ if (is_array($logger) && $container instanceof ServiceLocatorInterface) {
+ $logger = $container->build($this->loggerService, $logger);
+ }
+
+ if (null === $logger) {
+ $logger = new NullLogger();
+ }
+
+ if (!$logger instanceof LoggerInterface) {
+ throw new ServiceNotCreatedException(
+ sprintf(
+ 'The resolved logger must be an object of type \'%s\'; \'%s\' provided for service \'%s\'',
+ LoggerInterface::class,
+ is_object($logger) ? get_class($logger) : gettype($logger),
+ $serviceName
+ )
+ );
+ }
+
+ return $logger;
+ }
+
+ /**
+ * @param string $loggerService
+ */
+ public function setLoggerService(string $loggerService): void
+ {
+ $this->loggerService = $loggerService;
+ }
+}
diff --git a/src/Factory/Formatter/HtmlFormatterFactory.php b/src/Factory/Formatter/HtmlFormatterFactory.php
index d2805c9..49773e6 100755
--- a/src/Factory/Formatter/HtmlFormatterFactory.php
+++ b/src/Factory/Formatter/HtmlFormatterFactory.php
@@ -6,6 +6,7 @@
use Laminas\ServiceManager\Exception\ServiceNotCreatedException;
use Monolog\Formatter\HtmlFormatter;
+use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
/**
@@ -22,6 +23,7 @@ final class HtmlFormatterFactory extends AbstractNormalizerFormatterFactory
* @return HtmlFormatter
*
* @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
*/
public function __invoke(ContainerInterface $container, string $requestedName, array $options = null): HtmlFormatter
{
diff --git a/src/Factory/Formatter/JsonFormatterFactory.php b/src/Factory/Formatter/JsonFormatterFactory.php
index 1511d7e..61a0f87 100755
--- a/src/Factory/Formatter/JsonFormatterFactory.php
+++ b/src/Factory/Formatter/JsonFormatterFactory.php
@@ -6,6 +6,7 @@
use Laminas\ServiceManager\Exception\ServiceNotCreatedException;
use Monolog\Formatter\JsonFormatter;
+use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
/**
@@ -22,6 +23,7 @@ final class JsonFormatterFactory extends AbstractNormalizerFormatterFactory
* @return JsonFormatter
*
* @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
*/
public function __invoke(ContainerInterface $container, string $requestedName, array $options = null): JsonFormatter
{
@@ -29,8 +31,9 @@ public function __invoke(ContainerInterface $container, string $requestedName, a
$formatter = new JsonFormatter(
$options['batch_mode'] ?? JsonFormatter::BATCH_MODE_JSON,
- $options['append_new_Line'] ?? true,
- $options['ignore_empty_context_and_extra'] ?? false
+ $options['append_new_line'] ?? true,
+ $options['ignore_empty_context_and_extra'] ?? false,
+ $options['include_stack_traces'] ?? false,
);
$this->configureNormalizerFormatter($formatter, $options);
diff --git a/src/Factory/Formatter/LineFormatterFactory.php b/src/Factory/Formatter/LineFormatterFactory.php
index 048e810..69da2f4 100755
--- a/src/Factory/Formatter/LineFormatterFactory.php
+++ b/src/Factory/Formatter/LineFormatterFactory.php
@@ -6,6 +6,7 @@
use Laminas\ServiceManager\Exception\ServiceNotCreatedException;
use Monolog\Formatter\LineFormatter;
+use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
/**
@@ -24,6 +25,7 @@ final class LineFormatterFactory extends AbstractNormalizerFormatterFactory
* @return LineFormatter
*
* @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
*/
public function __invoke(ContainerInterface $container, string $requestedName, array $options = null): LineFormatter
{
@@ -31,13 +33,10 @@ public function __invoke(ContainerInterface $container, string $requestedName, a
$formatter = new LineFormatter(
$options['format'] ?? null,
- null,
- isset($options['allow_line_breaks'])
- ? (bool)$options['allow_line_breaks']
- : false,
- isset($options['ignore_empty_context_and_extra'])
- ? (bool)$options['ignore_empty_context_and_extra']
- : false,
+ $options['date_format'] ?? null,
+ isset($options['allow_inline_line_breaks']) && $options['allow_inline_line_breaks'],
+ isset($options['ignore_empty_context_and_extra']) && $options['ignore_empty_context_and_extra'],
+ isset($options['include_stack_traces']) && $options['include_stack_traces']
);
$this->configureNormalizerFormatter($formatter, $options);
diff --git a/src/Factory/Handler/ErrorLogHandlerFactory.php b/src/Factory/Handler/ErrorLogHandlerFactory.php
new file mode 100755
index 0000000..9592c3a
--- /dev/null
+++ b/src/Factory/Handler/ErrorLogHandlerFactory.php
@@ -0,0 +1,51 @@
+
+ * @package Arp\LaminasMonolog\Factory\Handler
+ *
+ * @phpstan-import-type Level from \Monolog\Logger
+ * @phpstan-import-type LevelName from \Monolog\Logger
+ */
+final class ErrorLogHandlerFactory extends AbstractFactory
+{
+ /**
+ * @param ContainerInterface $container
+ * @param string $requestedName
+ * @param array|null $options
+ *
+ * @return ErrorLogHandler
+ *
+ * @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
+ */
+ public function __invoke(
+ ContainerInterface $container,
+ string $requestedName,
+ array $options = null
+ ): ErrorLogHandler {
+ $options = $options ?? $this->getServiceOptions($container, $requestedName);
+
+ /** @var Level|LevelName|LogLevel::* $level */
+ $level = isset($options['level']) ? (int)$options['level'] : Logger::DEBUG;
+
+ return new ErrorLogHandler(
+ isset($options['message_type']) ? (int)$options['message_type'] : ErrorLogHandler::OPERATING_SYSTEM,
+ $level,
+ !isset($options['bubble']) || $options['bubble'],
+ isset($options['expand_new_lines']) && $options['expand_new_lines']
+ );
+ }
+}
diff --git a/src/Factory/Handler/NullHandlerFactory.php b/src/Factory/Handler/NullHandlerFactory.php
index e522208..2d634ef 100755
--- a/src/Factory/Handler/NullHandlerFactory.php
+++ b/src/Factory/Handler/NullHandlerFactory.php
@@ -8,6 +8,7 @@
use Laminas\ServiceManager\Exception\ServiceNotCreatedException;
use Monolog\Handler\NullHandler;
use Monolog\Logger;
+use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
/**
@@ -24,6 +25,7 @@ final class NullHandlerFactory extends AbstractFactory
* @return NullHandler
*
* @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
*/
public function __invoke(ContainerInterface $container, string $requestedName, array $options = null): NullHandler
{
diff --git a/src/Factory/Handler/PsrHandlerFactory.php b/src/Factory/Handler/PsrHandlerFactory.php
new file mode 100755
index 0000000..a9138f9
--- /dev/null
+++ b/src/Factory/Handler/PsrHandlerFactory.php
@@ -0,0 +1,67 @@
+
+ * @package Arp\LaminasMonolog\Factory\Handler
+ *
+ * @phpstan-import-type Level from \Monolog\Logger
+ * @phpstan-import-type LevelName from \Monolog\Logger
+ */
+final class PsrHandlerFactory extends AbstractFactory
+{
+ use FactoryLoggerProviderTrait;
+ use FactoryFormatterProviderTrait;
+
+ /**
+ * @param ContainerInterface $container
+ * @param string $requestedName
+ * @param array|null $options
+ *
+ * @return PsrHandler
+ *
+ * @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
+ */
+ public function __invoke(ContainerInterface $container, string $requestedName, array $options = null): PsrHandler
+ {
+ $options = $options ?? $this->getServiceOptions($container, $requestedName);
+
+ if (empty($options['logger'])) {
+ throw new ServiceNotCreatedException(
+ sprintf('The required \'logger\' configuration option is missing for service \'%s\'', $requestedName)
+ );
+ }
+
+ /** @var Level|LevelName|LogLevel::* $level */
+ $level = isset($options['level']) ? (int)$options['level'] : Logger::DEBUG;
+
+ $handler = new PsrHandler(
+ $this->getLogger($container, $options['logger'], $requestedName),
+ $level,
+ !isset($options['bubble']) || $options['bubble']
+ );
+
+ if (!empty($options['formatter'])) {
+ $handler->setFormatter(
+ $this->getFormatter($container, $options['formatter'], $requestedName)
+ );
+ }
+
+ return $handler;
+ }
+}
diff --git a/src/Factory/Handler/SyslogHandlerFactory.php b/src/Factory/Handler/SyslogHandlerFactory.php
new file mode 100755
index 0000000..5e49313
--- /dev/null
+++ b/src/Factory/Handler/SyslogHandlerFactory.php
@@ -0,0 +1,50 @@
+
+ * @package Arp\LaminasMonolog\Factory\Handler
+ */
+final class SyslogHandlerFactory extends AbstractFactory
+{
+ /**
+ * @param ContainerInterface $container
+ * @param string $requestedName
+ * @param array|null $options
+ *
+ * @return SyslogHandler
+ *
+ * @throws ServiceNotCreatedException
+ */
+ public function __invoke(
+ ContainerInterface $container,
+ string $requestedName,
+ array $options = null
+ ): SyslogHandler {
+ $options = $options ?? $this->getServiceOptions($container, $requestedName);
+
+ $ident = $options['ident'] ?? '';
+ if (empty($ident)) {
+ throw new ServiceNotCreatedException(
+ sprintf('The required \'ident\' configuration option is missing for service \'%s\'', $requestedName)
+ );
+ }
+
+ return new SyslogHandler(
+ $ident,
+ $options['facility'] ?? LOG_USER,
+ $options['level'] ?? Logger::DEBUG,
+ isset($options['bubble']) ? (bool)$options['bubble'] : true,
+ $options['logopts'] ?? LOG_PID
+ );
+ }
+}
diff --git a/src/Factory/LoggerFactory.php b/src/Factory/LoggerFactory.php
index c2aa38c..aa66771 100755
--- a/src/Factory/LoggerFactory.php
+++ b/src/Factory/LoggerFactory.php
@@ -45,7 +45,7 @@ public function __invoke(ContainerInterface $container, string $requestedName, a
/**
* @param ServiceLocatorInterface&ContainerInterface $container
- * @param array $handlerConfigs
+ * @param array $handlerConfigs
* @param string $serviceName
*
* @return array
@@ -89,10 +89,10 @@ private function getHandlers(
/**
* @param ServiceLocatorInterface&ContainerInterface $container
- * @param array $processorConfigs
+ * @param array $processorConfigs
* @param string $serviceName
*
- * @return array
+ * @return array
*
* @throws ServiceNotCreatedException
*/
diff --git a/src/Factory/Processor/MemoryPeakUsageProcessorFactory.php b/src/Factory/Processor/MemoryPeakUsageProcessorFactory.php
new file mode 100755
index 0000000..89ebec4
--- /dev/null
+++ b/src/Factory/Processor/MemoryPeakUsageProcessorFactory.php
@@ -0,0 +1,39 @@
+
+ * @package Arp\LaminasMonolog\Factory\Processor
+ */
+final class MemoryPeakUsageProcessorFactory extends AbstractFactory
+{
+ /**
+ * @param ContainerInterface $container
+ * @param string $requestedName
+ * @param array|null $options
+ *
+ * @return MemoryPeakUsageProcessor
+ *
+ * @throws ServiceNotCreatedException
+ */
+ public function __invoke(
+ ContainerInterface $container,
+ string $requestedName,
+ array $options = null
+ ): MemoryPeakUsageProcessor {
+ $options = $options ?? $this->getServiceOptions($container, $requestedName);
+
+ return new MemoryPeakUsageProcessor(
+ !isset($options['real_usage']) || $options['real_usage'],
+ !isset($options['use_formatting']) || $options['use_formatting']
+ );
+ }
+}
diff --git a/src/Factory/Processor/MemoryUsageProcessorFactory.php b/src/Factory/Processor/MemoryUsageProcessorFactory.php
index 99de367..c1b1b01 100755
--- a/src/Factory/Processor/MemoryUsageProcessorFactory.php
+++ b/src/Factory/Processor/MemoryUsageProcessorFactory.php
@@ -31,14 +31,9 @@ public function __invoke(
): MemoryUsageProcessor {
$options = $options ?? $this->getServiceOptions($container, $requestedName);
- $realUsage = isset($options['real_usage'])
- ? (bool)$options['real_usage']
- : true;
-
- $useFormatting = isset($options['use_formatting'])
- ? (bool)$options['use_formatting']
- : true;
-
- return new MemoryUsageProcessor($realUsage, $useFormatting);
+ return new MemoryUsageProcessor(
+ !isset($options['real_usage']) || $options['real_usage'],
+ !isset($options['use_formatting']) || $options['use_formatting']
+ );
}
}
diff --git a/src/Factory/Processor/PsrLogMessageProcessorFactory.php b/src/Factory/Processor/PsrLogMessageProcessorFactory.php
index 7b0e57b..354f44b 100755
--- a/src/Factory/Processor/PsrLogMessageProcessorFactory.php
+++ b/src/Factory/Processor/PsrLogMessageProcessorFactory.php
@@ -32,12 +32,10 @@ public function __invoke(
$options = $options ?? $this->getServiceOptions($container, $requestedName);
return new PsrLogMessageProcessor(
- is_string($options['date_format'])
+ (isset($options['date_format']) && is_string($options['date_format']))
? $options['date_format']
: null,
- isset($options['remove_used_context_fields'])
- ? (bool)$options['remove_used_context_fields']
- : false
+ isset($options['remove_used_context_fields']) && $options['remove_used_context_fields']
);
}
}
diff --git a/src/Factory/Processor/TagProcessorFactory.php b/src/Factory/Processor/TagProcessorFactory.php
new file mode 100755
index 0000000..6dfc4f3
--- /dev/null
+++ b/src/Factory/Processor/TagProcessorFactory.php
@@ -0,0 +1,39 @@
+
+ * @package Arp\LaminasMonolog\Factory\Processor
+ */
+final class TagProcessorFactory extends AbstractFactory
+{
+ /**
+ * @param ContainerInterface $container
+ * @param string $requestedName
+ * @param array|null $options
+ *
+ * @return TagProcessor
+ *
+ * @throws ServiceNotCreatedException
+ */
+ public function __invoke(ContainerInterface $container, string $requestedName, array $options = null): TagProcessor
+ {
+ $options = $options ?? $this->getServiceOptions($container, $requestedName);
+
+ if (!isset($options['tags']) || !is_array($options['tags'])) {
+ throw new ServiceNotCreatedException(
+ sprintf('The required \'tags\' configuration option is missing for service \'%s\'', $requestedName)
+ );
+ }
+
+ return new TagProcessor($options['tags']);
+ }
+}
diff --git a/src/Factory/Processor/UidProcessorFactory.php b/src/Factory/Processor/UidProcessorFactory.php
new file mode 100755
index 0000000..f6753ed
--- /dev/null
+++ b/src/Factory/Processor/UidProcessorFactory.php
@@ -0,0 +1,35 @@
+
+ * @package Arp\LaminasMonolog\Factory\Processor
+ */
+final class UidProcessorFactory extends AbstractFactory
+{
+ /**
+ * @param ContainerInterface $container
+ * @param string $requestedName
+ * @param array|null $options
+ *
+ * @return UidProcessor
+ *
+ * @throws ServiceNotCreatedException
+ */
+ public function __invoke(ContainerInterface $container, string $requestedName, array $options = null): UidProcessor
+ {
+ $options = $options ?? $this->getServiceOptions($container, $requestedName);
+
+ return new UidProcessor(
+ isset($options['length']) ? (int)$options['length'] : 7
+ );
+ }
+}
diff --git a/test/unit/Factory/Formatter/HtmlFormatterFactoryTest.php b/test/unit/Factory/Formatter/HtmlFormatterFactoryTest.php
new file mode 100755
index 0000000..2da2411
--- /dev/null
+++ b/test/unit/Factory/Formatter/HtmlFormatterFactoryTest.php
@@ -0,0 +1,79 @@
+
+ * @package ArpTest\LaminasMonolog\Factory\Formatter
+ */
+final class HtmlFormatterFactoryTest extends TestCase
+{
+ /**
+ * @var ContainerInterface&MockObject
+ */
+ private ContainerInterface $container;
+
+ public function setUp(): void
+ {
+ $this->container = $this->createMock(ContainerInterface::class);
+ }
+
+ public function testImplementsFactoryInterface(): void
+ {
+ $factory = new HtmlFormatterFactory();
+
+ $this->assertInstanceOf(FactoryInterface::class, $factory);
+ }
+
+ /**
+ * @dataProvider getInvokeWillReturnConfiguredHtmlFormatterInstanceData
+ *
+ * @param array $options
+ *
+ * @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
+ */
+ public function testInvokeWillReturnConfiguredHtmlFormatterInstance(array $options): void
+ {
+ $factory = new HtmlFormatterFactory();
+
+ $formatter = $factory($this->container, HtmlFormatter::class, $options);
+
+ if (isset($options['date_format'])) {
+ $this->assertSame($options['date_format'], $formatter->getDateFormat());
+ }
+
+ $this->assertInstanceOf(HtmlFormatter::class, $formatter);
+ }
+
+ /**
+ * @return array
+ */
+ public function getInvokeWillReturnConfiguredHtmlFormatterInstanceData(): array
+ {
+ return [
+ [
+ [],
+ ],
+ [
+ [
+ 'date_format' => 'Y-m-d H:i:s',
+ ]
+ ]
+ ];
+ }
+}
diff --git a/test/unit/Factory/Formatter/JsonFormatterFactoryTest.php b/test/unit/Factory/Formatter/JsonFormatterFactoryTest.php
new file mode 100755
index 0000000..3cefcfc
--- /dev/null
+++ b/test/unit/Factory/Formatter/JsonFormatterFactoryTest.php
@@ -0,0 +1,110 @@
+
+ * @package ArpTest\LaminasMonolog\Factory\Formatter
+ */
+final class JsonFormatterFactoryTest extends TestCase
+{
+ /**
+ * @var ContainerInterface&MockObject
+ */
+ private ContainerInterface $container;
+
+ public function setUp(): void
+ {
+ $this->container = $this->createMock(ContainerInterface::class);
+ }
+
+ public function testImplementsFactoryInterface(): void
+ {
+ $factory = new JsonFormatterFactory();
+
+ $this->assertInstanceOf(FactoryInterface::class, $factory);
+ }
+
+ /**
+ * @dataProvider getInvokeReturnsConfiguredJsonFormatterInstanceData
+ *
+ * @param array $options
+ *
+ * @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
+ */
+ public function testInvokeReturnsConfiguredJsonFormatterInstance(array $options): void
+ {
+ $factory = new JsonFormatterFactory();
+
+ $formatter = $factory($this->container, JsonFormatter::class, $options);
+
+ $this->assertSame(
+ $options['batch_mode'] ?? JsonFormatter::BATCH_MODE_JSON,
+ $formatter->getBatchMode()
+ );
+
+ $this->assertSame(
+ $options['append_new_line'] ?? true,
+ $formatter->isAppendingNewlines()
+ );
+
+ if (isset($options['date_format'])) {
+ $this->assertSame($options['date_format'], $formatter->getDateFormat());
+ }
+
+ if (isset($options['max_normalize_depth'])) {
+ $this->assertSame($options['max_normalize_depth'], $formatter->getMaxNormalizeDepth());
+ }
+
+ $this->assertInstanceOf(JsonFormatter::class, $formatter);
+ }
+
+ /**
+ * @return array
+ */
+ public function getInvokeReturnsConfiguredJsonFormatterInstanceData(): array
+ {
+ return [
+ [
+ [],
+ ],
+ [
+ [
+ 'batch_mode' => JsonFormatter::BATCH_MODE_NEWLINES,
+ ]
+ ],
+ [
+ [
+ 'append_new_line' => false,
+ 'ignore_empty_context_and_extra' => true,
+ 'include_stack_traces' => true,
+ ]
+ ],
+ [
+ [
+ 'date_format' => 'Y-m-d H:i:s',
+ ]
+ ],
+ [
+ [
+ 'max_normalize_depth' => 1234,
+ ]
+ ]
+ ];
+ }
+}
diff --git a/test/unit/Factory/Formatter/LineFormatterFactoryTest.php b/test/unit/Factory/Formatter/LineFormatterFactoryTest.php
new file mode 100755
index 0000000..0f3c177
--- /dev/null
+++ b/test/unit/Factory/Formatter/LineFormatterFactoryTest.php
@@ -0,0 +1,97 @@
+
+ * @package ArpTest\LaminasMonolog\Factory\Formatter
+ */
+final class LineFormatterFactoryTest extends TestCase
+{
+ /**
+ * @var ContainerInterface&MockObject
+ */
+ private ContainerInterface $container;
+
+ public function setUp(): void
+ {
+ $this->container = $this->createMock(ContainerInterface::class);
+ }
+
+ public function testImplementsFactoryInterface(): void
+ {
+ $factory = new LineFormatterFactory();
+
+ $this->assertInstanceOf(FactoryInterface::class, $factory);
+ }
+
+ /**
+ * @dataProvider getInvokeWillReturnConfiguredLineFormatterInstanceData
+ *
+ * @param array $options
+ *
+ * @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
+ */
+ public function testInvokeWillReturnConfiguredLineFormatterInstance(array $options): void
+ {
+ $factory = new LineFormatterFactory();
+
+ $formatter = $factory($this->container, LineFormatter::class, $options);
+
+ if (isset($options['date_format'])) {
+ $this->assertSame($options['date_format'], $formatter->getDateFormat());
+ }
+
+ if (isset($options['max_normalize_depth'])) {
+ $this->assertSame($options['max_normalize_depth'], $formatter->getMaxNormalizeDepth());
+ }
+
+ $this->assertInstanceOf(LineFormatter::class, $formatter);
+ }
+
+ /**
+ * @return array
+ */
+ public function getInvokeWillReturnConfiguredLineFormatterInstanceData(): array
+ {
+ return [
+ [
+ [],
+ ],
+ [
+ [
+ 'date_format' => 'Y-m-d H:i:s',
+ ],
+ ],
+ [
+ [
+ 'max_normalize_depth' => 100,
+ ],
+ ],
+ [
+ [
+ 'max_normalize_item_count' => 2000,
+ 'json_pretty_print' => true,
+ 'json_encode_options' => [
+ \JSON_THROW_ON_ERROR,
+ ]
+ ]
+ ],
+ ];
+ }
+}
diff --git a/test/unit/Factory/Handler/ErrorLogHandlerFactoryTest.php b/test/unit/Factory/Handler/ErrorLogHandlerFactoryTest.php
new file mode 100755
index 0000000..e59593d
--- /dev/null
+++ b/test/unit/Factory/Handler/ErrorLogHandlerFactoryTest.php
@@ -0,0 +1,65 @@
+
+ * @package ArpTest\LaminasMonolog\Factory\Handler
+ */
+final class ErrorLogHandlerFactoryTest extends TestCase
+{
+ /**
+ * @var ContainerInterface&MockObject
+ */
+ private ContainerInterface $container;
+
+ /**
+ * Prepare the test case dependencies
+ */
+ public function setUp(): void
+ {
+ $this->container = $this->createMock(ContainerInterface::class);
+ }
+
+ /**
+ * Assert that the factory implements FactoryInterface
+ */
+ public function testImplementsFactoryInterface(): void
+ {
+ $factory = new ErrorLogHandlerFactory();
+
+ $this->assertInstanceOf(FactoryInterface::class, $factory);
+ }
+
+ /**
+ * Assert that calls to __invoke() will return a configured ErrorLogHandler instance
+ *
+ * @throws ServiceNotCreatedException
+ */
+ public function testInvokeWillReturnValidErrorLogHandler(): void
+ {
+ $factory = new ErrorLogHandlerFactory();
+
+ $options = [
+ 'level' => Logger::DEBUG,
+ ];
+
+ $this->assertInstanceOf(
+ ErrorLogHandler::class,
+ $factory($this->container, ErrorLogHandler::class, $options)
+ );
+ }
+}
diff --git a/test/unit/Factory/Handler/NullHandlerFactoryTest.php b/test/unit/Factory/Handler/NullHandlerFactoryTest.php
new file mode 100755
index 0000000..f6900c0
--- /dev/null
+++ b/test/unit/Factory/Handler/NullHandlerFactoryTest.php
@@ -0,0 +1,81 @@
+
+ * @package Factory\Handler
+ */
+final class NullHandlerFactoryTest extends TestCase
+{
+ /**
+ * @var ContainerInterface&MockObject
+ */
+ private ContainerInterface $container;
+
+ /**
+ * Prepare the test case dependencies
+ */
+ public function setUp(): void
+ {
+ $this->container = $this->createMock(ContainerInterface::class);
+ }
+
+ /**
+ * Assert that the factory implements FactoryInterface
+ */
+ public function testImplementsFactoryInterface(): void
+ {
+ $factory = new NullHandlerFactory();
+
+ $this->assertInstanceOf(FactoryInterface::class, $factory);
+ }
+
+ /**
+ * @dataProvider getInvokeWillReturnConfiguredNullHandlerInstanceData
+ *
+ * @param array $options
+ *
+ * @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
+ */
+ public function testInvokeWillReturnConfiguredNullHandlerInstance(array $options): void
+ {
+ $factory = new NullHandlerFactory();
+
+ $handler = $factory($this->container, NullHandler::class, $options);
+
+ $this->assertInstanceOf(NullHandler::class, $handler);
+ }
+
+ /**
+ * @return array
+ */
+ public function getInvokeWillReturnConfiguredNullHandlerInstanceData(): array
+ {
+ return [
+ [
+ []
+ ],
+ [
+ [
+ 'level' => Logger::CRITICAL,
+ ]
+ ]
+ ];
+ }
+}
diff --git a/test/unit/Factory/Handler/PsrHandlerFactoryTest.php b/test/unit/Factory/Handler/PsrHandlerFactoryTest.php
new file mode 100755
index 0000000..007a6de
--- /dev/null
+++ b/test/unit/Factory/Handler/PsrHandlerFactoryTest.php
@@ -0,0 +1,111 @@
+
+ * @package ArpTest\LaminasMonolog\Factory\Handler
+ */
+final class PsrHandlerFactoryTest extends TestCase
+{
+ /**
+ * @var ContainerInterface&MockObject
+ */
+ private ContainerInterface $container;
+
+ /**
+ * Prepare the test case dependencies
+ */
+ public function setUp(): void
+ {
+ $this->container = $this->createMock(ContainerInterface::class);
+ }
+
+ /**
+ * Assert that the factory implements FactoryInterface
+ */
+ public function testImplementsFactoryInterface(): void
+ {
+ $factory = new PsrHandlerFactory();
+
+ $this->assertInstanceOf(FactoryInterface::class, $factory);
+ }
+
+ /**
+ * @throws ContainerExceptionInterface
+ */
+ public function testServiceNotCreatedExceptionIsThrownIfNotLoggerOptionIsProvided(): void
+ {
+ $factory = new PsrHandlerFactory();
+
+ $requestedName = 'LoggerServiceName';
+
+ $this->expectException(ServiceNotCreatedException::class);
+ $this->expectExceptionMessage(
+ sprintf('The required \'logger\' configuration option is missing for service \'%s\'', $requestedName)
+ );
+
+ $factory($this->container, $requestedName, []);
+ }
+
+ /**
+ * @dataProvider getInvokeWillReturnConfiguredPsrHandlerInstanceData
+ *
+ * @param array $options
+ *
+ * @throws ServiceNotCreatedException
+ * @throws ContainerExceptionInterface
+ */
+ public function testInvokeWillReturnConfiguredPsrHandlerInstance(array $options): void
+ {
+ $factory = new PsrHandlerFactory();
+
+ $handler = $factory($this->container, PsrHandler::class, $options);
+
+ $this->assertInstanceOf(PsrHandler::class, $handler);
+ }
+
+ /**
+ * @return array
+ */
+ public function getInvokeWillReturnConfiguredPsrHandlerInstanceData(): array
+ {
+ return [
+ [
+ [
+ 'logger' => $this->createMock(LoggerInterface::class),
+ ]
+ ],
+ [
+ [
+ 'logger' => $this->createMock(LoggerInterface::class),
+ 'level' => Logger::CRITICAL,
+ ]
+ ],
+ [
+ [
+ 'logger' => $this->createMock(LoggerInterface::class),
+ 'handler' => $this->createMock(HandlerInterface::class),
+ ]
+ ]
+ ];
+ }
+}
diff --git a/test/unit/Factory/LoggerFactoryTest.php b/test/unit/Factory/LoggerFactoryTest.php
index 0ebb32a..a2e5268 100755
--- a/test/unit/Factory/LoggerFactoryTest.php
+++ b/test/unit/Factory/LoggerFactoryTest.php
@@ -47,7 +47,7 @@ public function testImplementsFactoryInterface(): void
}
/**
- * Assert that a ServiceNotCreatedException is thrown from invoke() if a handler is invalid
+ * Assert that a ServiceNotCreatedException is thrown from invoke() if a Handler is invalid
*/
public function testInvokeWillThrowServiceNotCreatedExceptionIfProvidingInvalidHandlerConfiguration(): void
{