Inital commit for unit test configuration

This commit is contained in:
Manish Verma
2018-09-05 12:36:46 +05:30
committed by Manish Verma
parent 2f0796e954
commit e0436b7757
252 changed files with 3219 additions and 1631 deletions

View File

@@ -38,7 +38,7 @@
"doctrine/dbal": "^2.5"
},
"require-dev": {
"phpunit/phpunit": "~7.0",
"phpunit/phpunit": "^7",
"phpspec/phpspec": "^4.0",
"symfony/dom-crawler": "3.1.*",
"symfony/css-selector": "3.1.*",

239
composer.lock generated
View File

@@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "8be9a76bc10983905540a9a884c3692f",
"content-hash": "a1bf77eb13f5e7e01ac48e437fab1da6",
"packages": [
{
"name": "aws/aws-sdk-php",
"version": "3.64.13",
"version": "3.67.5",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "daff999e06bc5334e9bb90286514f1c2db0c4cbb"
"reference": "fa7689ba2865e9e00ac44efefc2c3f2ea8424c63"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/daff999e06bc5334e9bb90286514f1c2db0c4cbb",
"reference": "daff999e06bc5334e9bb90286514f1c2db0c4cbb",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fa7689ba2865e9e00ac44efefc2c3f2ea8424c63",
"reference": "fa7689ba2865e9e00ac44efefc2c3f2ea8424c63",
"shasum": ""
},
"require": {
@@ -84,7 +84,7 @@
"s3",
"sdk"
],
"time": "2018-08-15T23:03:41+00:00"
"time": "2018-09-04T21:04:34+00:00"
},
{
"name": "barryvdh/laravel-debugbar",
@@ -549,16 +549,16 @@
},
{
"name": "doctrine/cache",
"version": "v1.7.1",
"version": "v1.8.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/cache.git",
"reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a"
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a",
"reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a",
"url": "https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57",
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57",
"shasum": ""
},
"require": {
@@ -569,8 +569,9 @@
},
"require-dev": {
"alcaeus/mongo-php-adapter": "^1.1",
"doctrine/coding-standard": "^4.0",
"mongodb/mongodb": "^1.1",
"phpunit/phpunit": "^5.7",
"phpunit/phpunit": "^7.0",
"predis/predis": "~1.0"
},
"suggest": {
@@ -579,7 +580,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.7.x-dev"
"dev-master": "1.8.x-dev"
}
},
"autoload": {
@@ -614,12 +615,12 @@
}
],
"description": "Caching library offering an object-oriented API for many cache backends",
"homepage": "http://www.doctrine-project.org",
"homepage": "https://www.doctrine-project.org",
"keywords": [
"cache",
"caching"
],
"time": "2017-08-25T07:02:50+00:00"
"time": "2018-08-21T18:01:43+00:00"
},
{
"name": "doctrine/dbal",
@@ -987,16 +988,16 @@
},
{
"name": "egulias/email-validator",
"version": "2.1.4",
"version": "2.1.5",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
"reference": "8790f594151ca6a2010c6218e09d96df67173ad3"
"reference": "54859fabea8b3beecbb1a282888d5c990036b9e3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/8790f594151ca6a2010c6218e09d96df67173ad3",
"reference": "8790f594151ca6a2010c6218e09d96df67173ad3",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/54859fabea8b3beecbb1a282888d5c990036b9e3",
"reference": "54859fabea8b3beecbb1a282888d5c990036b9e3",
"shasum": ""
},
"require": {
@@ -1040,7 +1041,7 @@
"validation",
"validator"
],
"time": "2018-04-10T10:11:19+00:00"
"time": "2018-08-16T20:49:45+00:00"
},
{
"name": "erusev/parsedown",
@@ -1142,16 +1143,16 @@
},
{
"name": "giggsey/libphonenumber-for-php",
"version": "8.9.11",
"version": "8.9.12",
"source": {
"type": "git",
"url": "https://github.com/giggsey/libphonenumber-for-php.git",
"reference": "2a6b6661f42644941e4c8e895518f27c99587a68"
"reference": "b906325b1bcf99309bc10bff7cbdc1ed8fbcf774"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/2a6b6661f42644941e4c8e895518f27c99587a68",
"reference": "2a6b6661f42644941e4c8e895518f27c99587a68",
"url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/b906325b1bcf99309bc10bff7cbdc1ed8fbcf774",
"reference": "b906325b1bcf99309bc10bff7cbdc1ed8fbcf774",
"shasum": ""
},
"require": {
@@ -1206,7 +1207,7 @@
"phonenumber",
"validation"
],
"time": "2018-07-26T10:50:48+00:00"
"time": "2018-08-23T10:23:25+00:00"
},
{
"name": "giggsey/locale",
@@ -1694,16 +1695,16 @@
},
{
"name": "laravel/framework",
"version": "v5.6.33",
"version": "v5.6.38",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "8a708b989adc320c451ee639d812af81f884666b"
"reference": "38d838bab9434af79e8ab274ae63f52f7ed45d6e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/8a708b989adc320c451ee639d812af81f884666b",
"reference": "8a708b989adc320c451ee639d812af81f884666b",
"url": "https://api.github.com/repos/laravel/framework/zipball/38d838bab9434af79e8ab274ae63f52f7ed45d6e",
"reference": "38d838bab9434af79e8ab274ae63f52f7ed45d6e",
"shasum": ""
},
"require": {
@@ -1829,7 +1830,7 @@
"framework",
"laravel"
],
"time": "2018-08-09T20:36:39+00:00"
"time": "2018-09-04T13:15:09+00:00"
},
{
"name": "laravel/socialite",
@@ -2021,16 +2022,16 @@
},
{
"name": "league/flysystem",
"version": "1.0.45",
"version": "1.0.46",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6"
"reference": "f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a99f94e63b512d75f851b181afcdf0ee9ebef7e6",
"reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2",
"reference": "f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2",
"shasum": ""
},
"require": {
@@ -2042,7 +2043,7 @@
"require-dev": {
"ext-fileinfo": "*",
"phpspec/phpspec": "^3.4",
"phpunit/phpunit": "^5.7"
"phpunit/phpunit": "^5.7.10"
},
"suggest": {
"ext-fileinfo": "Required for MimeType",
@@ -2101,7 +2102,7 @@
"sftp",
"storage"
],
"time": "2018-05-07T08:44:23+00:00"
"time": "2018-08-22T07:45:22+00:00"
},
{
"name": "league/fractal",
@@ -2232,23 +2233,23 @@
},
{
"name": "maatwebsite/excel",
"version": "2.1.28",
"version": "2.1.30",
"source": {
"type": "git",
"url": "https://github.com/Maatwebsite/Laravel-Excel.git",
"reference": "06e397a30595d1082963d6aa5ec0c3a9961d70c8"
"reference": "f5540c4ba3ac50cebd98b09ca42e61f926ef299f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Maatwebsite/Laravel-Excel/zipball/06e397a30595d1082963d6aa5ec0c3a9961d70c8",
"reference": "06e397a30595d1082963d6aa5ec0c3a9961d70c8",
"url": "https://api.github.com/repos/Maatwebsite/Laravel-Excel/zipball/f5540c4ba3ac50cebd98b09ca42e61f926ef299f",
"reference": "f5540c4ba3ac50cebd98b09ca42e61f926ef299f",
"shasum": ""
},
"require": {
"illuminate/cache": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/config": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/filesystem": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/support": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/cache": "^5.0",
"illuminate/config": "^5.0",
"illuminate/filesystem": "^5.0",
"illuminate/support": "^5.0",
"jeremeamia/superclosure": "^2.3",
"nesbot/carbon": "~1.0",
"php": ">=5.5",
@@ -2262,10 +2263,10 @@
"phpunit/phpunit": "~4.0"
},
"suggest": {
"illuminate/http": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/queue": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/routing": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/view": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*"
"illuminate/http": "^5.0",
"illuminate/queue": "^5.0",
"illuminate/routing": "^5.0",
"illuminate/view": "^5.0"
},
"type": "library",
"extra": {
@@ -2296,7 +2297,7 @@
"email": "patrick@maatwebsite.nl"
}
],
"description": "An eloquent way of importing and exporting Excel and CSV in Laravel 4 with the power of PHPExcel",
"description": "Supercharged Excel exports in Laravel",
"keywords": [
"PHPExcel",
"batch",
@@ -2306,7 +2307,7 @@
"import",
"laravel"
],
"time": "2018-05-09T14:34:18+00:00"
"time": "2018-09-04T19:00:09+00:00"
},
{
"name": "maximebf/debugbar",
@@ -3448,7 +3449,7 @@
},
{
"name": "symfony/console",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
@@ -3569,16 +3570,16 @@
},
{
"name": "symfony/debug",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
"reference": "9316545571f079c4dd183e674721d9dc783ce196"
"reference": "47ead688f1f2877f3f14219670f52e4722ee7052"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/9316545571f079c4dd183e674721d9dc783ce196",
"reference": "9316545571f079c4dd183e674721d9dc783ce196",
"url": "https://api.github.com/repos/symfony/debug/zipball/47ead688f1f2877f3f14219670f52e4722ee7052",
"reference": "47ead688f1f2877f3f14219670f52e4722ee7052",
"shasum": ""
},
"require": {
@@ -3621,11 +3622,11 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
"time": "2018-07-26T11:24:31+00:00"
"time": "2018-08-03T11:13:38+00:00"
},
{
"name": "symfony/event-dispatcher",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
@@ -3688,16 +3689,16 @@
},
{
"name": "symfony/filesystem",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "2e30335e0aafeaa86645555959572fe7cea22b43"
"reference": "c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/2e30335e0aafeaa86645555959572fe7cea22b43",
"reference": "2e30335e0aafeaa86645555959572fe7cea22b43",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e",
"reference": "c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e",
"shasum": ""
},
"require": {
@@ -3734,11 +3735,11 @@
],
"description": "Symfony Filesystem Component",
"homepage": "https://symfony.com",
"time": "2018-07-26T11:24:31+00:00"
"time": "2018-08-18T16:52:46+00:00"
},
{
"name": "symfony/finder",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
@@ -3787,16 +3788,16 @@
},
{
"name": "symfony/http-foundation",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "7d93e3547660ec7ee3dad1428ba42e8076a0e5f1"
"reference": "3a5c91e133b220bb882b3cd773ba91bf39989345"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/7d93e3547660ec7ee3dad1428ba42e8076a0e5f1",
"reference": "7d93e3547660ec7ee3dad1428ba42e8076a0e5f1",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/3a5c91e133b220bb882b3cd773ba91bf39989345",
"reference": "3a5c91e133b220bb882b3cd773ba91bf39989345",
"shasum": ""
},
"require": {
@@ -3837,20 +3838,20 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com",
"time": "2018-08-01T14:07:44+00:00"
"time": "2018-08-27T17:47:02+00:00"
},
{
"name": "symfony/http-kernel",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "6347be5110efb27fe45ea04bf213078b67a05036"
"reference": "33de0a1ff2e1720096189e3ced682d7a4e8f5e35"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/6347be5110efb27fe45ea04bf213078b67a05036",
"reference": "6347be5110efb27fe45ea04bf213078b67a05036",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/33de0a1ff2e1720096189e3ced682d7a4e8f5e35",
"reference": "33de0a1ff2e1720096189e3ced682d7a4e8f5e35",
"shasum": ""
},
"require": {
@@ -3924,11 +3925,11 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com",
"time": "2018-08-01T15:30:34+00:00"
"time": "2018-08-28T06:17:42+00:00"
},
{
"name": "symfony/options-resolver",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
@@ -4262,16 +4263,16 @@
},
{
"name": "symfony/process",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "f01fc7a4493572f7f506c49dcb50ad01fb3a2f56"
"reference": "86cdb930a6a855b0ab35fb60c1504cb36184f843"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/f01fc7a4493572f7f506c49dcb50ad01fb3a2f56",
"reference": "f01fc7a4493572f7f506c49dcb50ad01fb3a2f56",
"url": "https://api.github.com/repos/symfony/process/zipball/86cdb930a6a855b0ab35fb60c1504cb36184f843",
"reference": "86cdb930a6a855b0ab35fb60c1504cb36184f843",
"shasum": ""
},
"require": {
@@ -4307,20 +4308,20 @@
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
"time": "2018-07-26T11:24:31+00:00"
"time": "2018-08-03T11:13:38+00:00"
},
{
"name": "symfony/routing",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "6912cfebc0ea4e7a46fdd15c9bd1f427dd39ff1b"
"reference": "a5784c2ec4168018c87b38f0e4f39d2278499f51"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/6912cfebc0ea4e7a46fdd15c9bd1f427dd39ff1b",
"reference": "6912cfebc0ea4e7a46fdd15c9bd1f427dd39ff1b",
"url": "https://api.github.com/repos/symfony/routing/zipball/a5784c2ec4168018c87b38f0e4f39d2278499f51",
"reference": "a5784c2ec4168018c87b38f0e4f39d2278499f51",
"shasum": ""
},
"require": {
@@ -4384,20 +4385,20 @@
"uri",
"url"
],
"time": "2018-07-26T11:24:31+00:00"
"time": "2018-08-03T07:58:40+00:00"
},
{
"name": "symfony/translation",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "6fcd1bd44fd6d7181e6ea57a6f4e08a09b29ef65"
"reference": "fa2182669f7983b7aa5f1a770d053f79f0ef144f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/6fcd1bd44fd6d7181e6ea57a6f4e08a09b29ef65",
"reference": "6fcd1bd44fd6d7181e6ea57a6f4e08a09b29ef65",
"url": "https://api.github.com/repos/symfony/translation/zipball/fa2182669f7983b7aa5f1a770d053f79f0ef144f",
"reference": "fa2182669f7983b7aa5f1a770d053f79f0ef144f",
"shasum": ""
},
"require": {
@@ -4453,20 +4454,20 @@
],
"description": "Symfony Translation Component",
"homepage": "https://symfony.com",
"time": "2018-07-26T11:24:31+00:00"
"time": "2018-08-07T12:45:11+00:00"
},
{
"name": "symfony/var-dumper",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "69e174f4c02ec43919380171c6f7550753299316"
"reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/69e174f4c02ec43919380171c6f7550753299316",
"reference": "69e174f4c02ec43919380171c6f7550753299316",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/a05426e27294bba7b0226ffc17dd01a3c6ef9777",
"reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777",
"shasum": ""
},
"require": {
@@ -4528,7 +4529,7 @@
"debug",
"dump"
],
"time": "2018-07-26T11:24:31+00:00"
"time": "2018-08-02T09:24:26+00:00"
},
{
"name": "tedivm/fetch",
@@ -4825,19 +4826,19 @@
"source": {
"type": "git",
"url": "https://github.com/tymondesigns/jwt-auth.git",
"reference": "6e419252cc592afc2ed4cd61be6f5e303a636cc5"
"reference": "e190b6a75372e7e5e3a6d2cf0e4456313412299f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/6e419252cc592afc2ed4cd61be6f5e303a636cc5",
"reference": "6e419252cc592afc2ed4cd61be6f5e303a636cc5",
"url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/e190b6a75372e7e5e3a6d2cf0e4456313412299f",
"reference": "e190b6a75372e7e5e3a6d2cf0e4456313412299f",
"shasum": ""
},
"require": {
"illuminate/auth": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/contracts": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/http": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/support": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/auth": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/contracts": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/http": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/support": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"lcobucci/jwt": "^3.2",
"namshi/jose": "^7.0",
"nesbot/carbon": "^1.0",
@@ -4845,9 +4846,9 @@
},
"require-dev": {
"cartalyst/sentinel": "2.0.*",
"illuminate/console": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/database": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/routing": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/console": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/database": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/routing": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"mockery/mockery": ">=0.9.9",
"phpunit/phpunit": "~4.8 || ~6.0"
},
@@ -4892,7 +4893,7 @@
"jwt",
"laravel"
],
"time": "2018-06-19T20:04:27+00:00"
"time": "2018-09-04T19:48:02+00:00"
},
{
"name": "unisharp/laravel-ckeditor",
@@ -5379,16 +5380,16 @@
},
{
"name": "zendframework/zend-stdlib",
"version": "3.2.0",
"version": "3.2.1",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-stdlib.git",
"reference": "cd164b4a18b5d1aeb69be2c26db035b5ed6925ae"
"reference": "66536006722aff9e62d1b331025089b7ec71c065"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cd164b4a18b5d1aeb69be2c26db035b5ed6925ae",
"reference": "cd164b4a18b5d1aeb69be2c26db035b5ed6925ae",
"url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/66536006722aff9e62d1b331025089b7ec71c065",
"reference": "66536006722aff9e62d1b331025089b7ec71c065",
"shasum": ""
},
"require": {
@@ -5421,7 +5422,7 @@
"stdlib",
"zf"
],
"time": "2018-04-30T13:50:40+00:00"
"time": "2018-08-28T21:34:05+00:00"
},
{
"name": "zendframework/zend-uri",
@@ -6663,16 +6664,16 @@
},
{
"name": "phpunit/phpunit",
"version": "7.3.1",
"version": "7.3.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "f9b14c17860eccb440a0352a117a81eb754cff5a"
"reference": "1bd5629cccfb2c0a9ef5474b4ff772349e1ec898"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f9b14c17860eccb440a0352a117a81eb754cff5a",
"reference": "f9b14c17860eccb440a0352a117a81eb754cff5a",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1bd5629cccfb2c0a9ef5474b4ff772349e1ec898",
"reference": "1bd5629cccfb2c0a9ef5474b4ff772349e1ec898",
"shasum": ""
},
"require": {
@@ -6743,7 +6744,7 @@
"testing",
"xunit"
],
"time": "2018-08-07T06:44:28+00:00"
"time": "2018-09-01T15:49:55+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@@ -7366,16 +7367,16 @@
},
{
"name": "symfony/yaml",
"version": "v4.1.3",
"version": "v4.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "46bc69aa91fc4ab78a96ce67873a6b0c148fd48c"
"reference": "b832cc289608b6d305f62149df91529a2ab3c314"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/46bc69aa91fc4ab78a96ce67873a6b0c148fd48c",
"reference": "46bc69aa91fc4ab78a96ce67873a6b0c148fd48c",
"url": "https://api.github.com/repos/symfony/yaml/zipball/b832cc289608b6d305f62149df91529a2ab3c314",
"reference": "b832cc289608b6d305f62149df91529a2ab3c314",
"shasum": ""
},
"require": {
@@ -7421,7 +7422,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
"time": "2018-07-26T11:24:31+00:00"
"time": "2018-08-18T16:52:46+00:00"
},
{
"name": "theseer/tokenizer",

View File

@@ -9,14 +9,23 @@
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Application Test Suite">
<testsuite name="all">
<directory>./tests/</directory>
</testsuite>
<testsuite name="unit">
<directory>./tests/unit</directory>
</testsuite>
</testsuites>
<php>
<env name="APP_ENV" value="testing"/>
<env name="APP_ENV" value="testing"/>
<env name="DB_CONNECTION" value="testing"/>
<env name="DB_DATABASE" value="testing_db"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
<env name="MAIL_DRIVER" value="mail"/>
<env name="APP_URL" value="http://localhost:8000"/>
<env name="DB_DATABASE" value="testing_db"/>
<env name="DB_INSTALL" value="1"/>
</php>
</phpunit>

32
vendor/aws/aws-sdk-php/.changes/3.64.14 vendored Normal file
View File

@@ -0,0 +1,32 @@
[
{
"type": "enhancement",
"category": "TraceMiddleware",
"description": "Removed potential PCRE vulnerability."
},
{
"type": "api-change",
"category": "EC2",
"description": "The 'Attribute' parameter DescribeVolumeAttribute request has been marked as required - the API has always required this parameter, but up until now this wasn't reflected appropriately in the SDK."
},
{
"type": "api-change",
"category": "SSM",
"description": "AWS Systems Manager Inventory now supports groups to quickly see a count of which managed instances are and arent configured to collect one or more Inventory types"
},
{
"type": "api-change",
"category": "ApplicationDiscoveryService",
"description": "The Application Discovery Service's Continuous Export APIs allow you to analyze your on-premises server inventory data, including system performance and network dependencies, in Amazon Athena."
},
{
"type": "api-change",
"category": "Redshift",
"description": "You can now resize your Amazon Redshift cluster quickly. With the new ResizeCluster action, your cluster is available for read and write operations within minutes"
},
{
"type": "api-change",
"category": "MediaConvert",
"description": "Added WriteSegmentTimelineInRepresentation option for Dash Outputs"
}
]

17
vendor/aws/aws-sdk-php/.changes/3.64.15 vendored Normal file
View File

@@ -0,0 +1,17 @@
[
{
"type": "enhancement",
"category": "SecretsManager",
"description": "Documentation updates for Secrets Manager"
},
{
"type": "api-change",
"category": "DAX",
"description": "DAX CreateClusterRequest is updated to include IamRoleArn as a required request parameter. "
},
{
"type": "api-change",
"category": "SageMaker",
"description": "Added an optional boolean parameter, 'DisassociateLifecycleConfig', to the UpdateNotebookInstance operation. When set to true, the lifecycle configuration associated with the notebook instance will be removed, allowing a new one to be set via a new 'LifecycleConfigName' parameter."
}
]

27
vendor/aws/aws-sdk-php/.changes/3.65.0 vendored Normal file
View File

@@ -0,0 +1,27 @@
[
{
"type": "enhancement",
"category": "Test",
"description": "Refactored exception tests to prepare for PHPUnit6"
},
{
"type": "enhancement",
"category": "Test",
"description": "Refactored namespaces of tests to prepare for PHPUnit6"
},
{
"type": "feature",
"category": "Signature\\SignatureV4",
"description": "Add support for pre-signing additional headers. Any additional headers that are supplied and signed must be included when sending the request."
},
{
"type": "api-change",
"category": "DynamoDB",
"description": "Added SSESpecification block to update-table command which allows users to modify table Server-Side Encryption. Added two new fields (SSEType and KMSMasterKeyId) to SSESpecification block used by create-table and update-table commands. Added new SSEDescription Status value UPDATING."
},
{
"type": "api-change",
"category": "MediaConvert",
"description": "This release fixes backward-incompatible changes from a previous release. That previous release changed non-required job settings to required, which prevented jobs and job templates from merging correctly. The current change removes validation of required settings from the SDK and instead centralizes the validation in the service API. For information on required settings, see the Resources chapter of the AWS Elemental MediaConvert API Reference https:\/\/docs.aws.amazon.com\/mediaconvert\/latest\/apireference\/resources.html"
}
]

27
vendor/aws/aws-sdk-php/.changes/3.65.1 vendored Normal file
View File

@@ -0,0 +1,27 @@
[
{
"type": "bugfix",
"category": "Signature\\SignatureV4",
"description": "Updates the SignatureV4 presigning process to not sign, and subsequently require on use, the X-Amz-Security-Token header when it's already signed in the query string."
},
{
"type": "api-change",
"category": "EC2",
"description": "Added support for T3 Instance type in EC2. To learn more about T3 instances, please see https:\/\/aws.amazon.com\/ec2\/instance-types\/t3\/"
},
{
"type": "enhancement",
"category": "DLM",
"description": "Documentation updates for Lifecycle"
},
{
"type": "api-change",
"category": "ElasticBeanstalk",
"description": "Elastic Beanstalk adds the \"Privileged\" field to the \"CPUUtilization\" type, to support enhanced health reporting in Windows environments."
},
{
"type": "api-change",
"category": "RDS",
"description": "Adds a paginator for the DescribeDBClusters operation."
}
]

View File

@@ -0,0 +1,7 @@
[
{
"type": "api-change",
"category": "Snowball",
"description": "Snowball job states allow customers to track the status of the Snowball job. We are launching a new Snowball job state \"WithSortingFacility\"! When customer returns the Snowball to AWS, the device first goes to a sorting facility before it reaches an AWS data center. Many customers have requested us to add a new state to reflect the presence of the device at the sorting facility for better tracking. Today when a customer returns the Snowball, the state first changes from \"InTransitToAWS\" to \"WithAWS\". With the addition of new state, the device will move from \"InTransitToAWS\" to \"WithAWSSortingFacility\", and then to \"WithAWS\". There are no other changes to the API at this time besides adding this new state."
}
]

32
vendor/aws/aws-sdk-php/.changes/3.66.0 vendored Normal file
View File

@@ -0,0 +1,32 @@
[
{
"type": "feature",
"category": "Credentials",
"description": "Update ini parsing to handle unquoted components that contain equals signs."
},
{
"type": "api-change",
"category": "Rekognition",
"description": "This release introduces a new API called DescribeCollection to Amazon Rekognition. You can use DescribeCollection to get information about an existing face collection. Given the ID for a face collection, DescribeCollection returns the following information: the number of faces indexed into the collection, the version of the face detection model used by the collection, the Amazon Resource Name (ARN) of the collection and the creation date\/time of the collection."
},
{
"type": "api-change",
"category": "IoT",
"description": "This release adds support for IoT Thing Group Indexing and Searching functionality."
},
{
"type": "api-change",
"category": "LexModelBuildingService",
"description": "Amazon Lex builds bot in two stages. After the first it sets status to READY_BASIC_TESTING. In this state the bot will match user inputs that exactly match the utterances configured for the bot's intents and values in the slot types. "
},
{
"type": "api-change",
"category": "IoTAnalytics",
"description": "AWS IoT Analytics announces three new features: (1) Bring Your Custom Container - import your custom authored code containers. (2) Automate Container Execution - lets you automate the execution of containers hosting custom authored analytical code or Jupyter Notebooks to perform continuous analysis. (3) Incremental Data Capture with Customizable Time Windows - enables users to perform analysis on new incremental data captured since the last analysis."
},
{
"type": "api-change",
"category": "MediaLive",
"description": "Adds two APIs for working with Channel Schedules: BatchUpdateSchedule and DescribeSchedule. These APIs allow scheduling actions for SCTE-35 message insertion and for static image overlays."
}
]

12
vendor/aws/aws-sdk-php/.changes/3.66.1 vendored Normal file
View File

@@ -0,0 +1,12 @@
[
{
"type": "api-change",
"category": "CognitoIdentityProvider",
"description": "Amazon Cognito now has API support for creating custom domains for our hosted UI for User Pools."
},
{
"type": "api-change",
"category": "CloudWatchEvents",
"description": "Added Fargate and NetworkConfiguration support to EcsParameters."
}
]

View File

@@ -0,0 +1,7 @@
[
{
"type": "api-change",
"category": "Glue",
"description": "AWS Glue now supports data encryption at rest for ETL jobs and development endpoints. With encryption enabled, when you run ETL jobs, or development endpoints, Glue will use AWS KMS keys to write encrypted data at rest. You can also encrypt the metadata stored in the Glue Data Catalog using keys that you manage with AWS KMS. Additionally, you can use AWS KMS keys to encrypt the logs generated by crawlers and ETL jobs as well as encrypt ETL job bookmarks. Encryption settings for Glue crawlers, ETL jobs, and development endpoints can be configured using the security configurations in Glue. Glue Data Catalog encryption can be enabled via the settings for the Glue Data Catalog."
}
]

22
vendor/aws/aws-sdk-php/.changes/3.67.0 vendored Normal file
View File

@@ -0,0 +1,22 @@
[
{
"type": "feature",
"category": "signer",
"description": "AWS Signer is a new feature that allows Amazon FreeRTOS (AFR) Over The Air (OTA) customers to cryptographically sign code using code-signing certificates managed by AWS Certificate Manager. "
},
{
"type": "api-change",
"category": "IoT",
"description": "This release adds support to create a Stream and Code signing for Amazon FreeRTOS job along with Over-the-air updates."
},
{
"type": "enhancement",
"category": "Redshift",
"description": "Documentation updates for redshift"
},
{
"type": "api-change",
"category": "IoTAnalytics",
"description": "Added new listDatasetContent API that shows you the list of dataset contents for the corresponding versions"
}
]

12
vendor/aws/aws-sdk-php/.changes/3.67.1 vendored Normal file
View File

@@ -0,0 +1,12 @@
[
{
"type": "api-change",
"category": "XRay",
"description": "Support for new APIs that enable management of sampling rules."
},
{
"type": "api-change",
"category": "Glue",
"description": "New Glue APIs for creating, updating, reading and deleting Data Catalog resource-based policies."
}
]

17
vendor/aws/aws-sdk-php/.changes/3.67.2 vendored Normal file
View File

@@ -0,0 +1,17 @@
[
{
"type": "api-change",
"category": "MediaPackage",
"description": "MediaPackage now provides input redundancy. Channels have two ingest endpoints that can receive input from encoders. OriginEndpoints pick one of the inputs receiving content for playback and automatically switch to the other input if the active input stops receiving content. Refer to the User Guide (https:\/\/docs.aws.amazon.com\/mediapackage\/latest\/ug\/what-is.html) for more details on this feature."
},
{
"type": "api-change",
"category": "Glue",
"description": "AWS Glue now supports data encryption at rest for ETL jobs and development endpoints. With encryption enabled, when you run ETL jobs, or development endpoints, Glue will use AWS KMS keys to write encrypted data at rest. You can also encrypt the metadata stored in the Glue Data Catalog using keys that you manage with AWS KMS. Additionally, you can use AWS KMS keys to encrypt the logs generated by crawlers and ETL jobs as well as encrypt ETL job bookmarks. Encryption settings for Glue crawlers, ETL jobs, and development endpoints can be configured using the security configurations in Glue. Glue Data Catalog encryption can be enabled via the settings for the Glue Data Catalog."
},
{
"type": "api-change",
"category": "SageMakerRuntime",
"description": "SageMaker Runtime supports CustomAttributes header which allows customers provide additional information in a request for an inference submitted to a model or in the response about the inference returned by a model hosted at an Amazon SageMaker endpoint."
}
]

12
vendor/aws/aws-sdk-php/.changes/3.67.3 vendored Normal file
View File

@@ -0,0 +1,12 @@
[
{
"type": "api-change",
"category": "SageMaker",
"description": "VolumeKmsKeyId now available in Batch Transform Job "
},
{
"type": "api-change",
"category": "CodeBuild",
"description": "Support multiple sources and artifacts for CodeBuild projects. "
}
]

17
vendor/aws/aws-sdk-php/.changes/3.67.4 vendored Normal file
View File

@@ -0,0 +1,17 @@
[
{
"type": "api-change",
"category": "WAFRegional",
"description": "This change includes support for the WAF FullLogging feature through which Customers will have access to all the logs of requests that are inspected by a WAF WebACL. The new APIs allow Customers to manage association of a WebACL with one or more supported \"LogDestination\" and redact any request fields from the logs. "
},
{
"type": "api-change",
"category": "WAF",
"description": "This change includes support for the WAF FullLogging feature through which Customers will have access to all the logs of requests that are inspected by a WAF WebACL. The new APIs allow Customers to manage association of a WebACL with one or more supported \"LogDestination\" and redact any request fields from the logs. "
},
{
"type": "api-change",
"category": "EKS",
"description": "Amazon EKS DescribeCluster API returns a platformVersion attribute which allows you to identify the features that are currently enabled for your clusters. The Amazon EKS platform version represents capabilities of the cluster control plane, such as which Kubernetes API server flags are enabled, as well as the current Kubernetes patch version. "
}
]

12
vendor/aws/aws-sdk-php/.changes/3.67.5 vendored Normal file
View File

@@ -0,0 +1,12 @@
[
{
"type": "enhancement",
"category": "RDS",
"description": "Updating cross references for the new Aurora User Guide."
},
{
"type": "api-change",
"category": "Rekognition",
"description": "This release introduces a new API called DescribeCollection to Amazon Rekognition. You can use DescribeCollection to get information about an existing face collection. Given the ID for a face collection, DescribeCollection returns the following information: the number of faces indexed into the collection, the version of the face detection model used by the collection, the Amazon Resource Name (ARN) of the collection and the creation date\/time of the collection."
}
]

View File

@@ -19,6 +19,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeAgentsAsync(array $args = [])
* @method \Aws\Result describeConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeConfigurationsAsync(array $args = [])
* @method \Aws\Result describeContinuousExports(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeContinuousExportsAsync(array $args = [])
* @method \Aws\Result describeExportConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeExportConfigurationsAsync(array $args = [])
* @method \Aws\Result describeExportTasks(array $args = [])
@@ -35,10 +37,14 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listConfigurationsAsync(array $args = [])
* @method \Aws\Result listServerNeighbors(array $args = [])
* @method \GuzzleHttp\Promise\Promise listServerNeighborsAsync(array $args = [])
* @method \Aws\Result startContinuousExport(array $args = [])
* @method \GuzzleHttp\Promise\Promise startContinuousExportAsync(array $args = [])
* @method \Aws\Result startDataCollectionByAgentIds(array $args = [])
* @method \GuzzleHttp\Promise\Promise startDataCollectionByAgentIdsAsync(array $args = [])
* @method \Aws\Result startExportTask(array $args = [])
* @method \GuzzleHttp\Promise\Promise startExportTaskAsync(array $args = [])
* @method \Aws\Result stopContinuousExport(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopContinuousExportAsync(array $args = [])
* @method \Aws\Result stopDataCollectionByAgentIds(array $args = [])
* @method \GuzzleHttp\Promise\Promise stopDataCollectionByAgentIdsAsync(array $args = [])
* @method \Aws\Result updateApplication(array $args = [])

View File

@@ -289,7 +289,7 @@ class CredentialProvider
if (!is_readable($filename)) {
return self::reject("Cannot read credentials from $filename");
}
$data = parse_ini_file($filename, true);
$data = parse_ini_file($filename, true, INI_SCANNER_RAW);
if ($data === false) {
return self::reject("Invalid credentials file: $filename");
}

View File

@@ -35,6 +35,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise createPartitionAsync(array $args = [])
* @method \Aws\Result createScript(array $args = [])
* @method \GuzzleHttp\Promise\Promise createScriptAsync(array $args = [])
* @method \Aws\Result createSecurityConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise createSecurityConfigurationAsync(array $args = [])
* @method \Aws\Result createTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise createTableAsync(array $args = [])
* @method \Aws\Result createTrigger(array $args = [])
@@ -55,6 +57,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteJobAsync(array $args = [])
* @method \Aws\Result deletePartition(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePartitionAsync(array $args = [])
* @method \Aws\Result deleteSecurityConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteSecurityConfigurationAsync(array $args = [])
* @method \Aws\Result deleteTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteTableAsync(array $args = [])
* @method \Aws\Result deleteTableVersion(array $args = [])
@@ -105,6 +109,10 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getPartitionsAsync(array $args = [])
* @method \Aws\Result getPlan(array $args = [])
* @method \GuzzleHttp\Promise\Promise getPlanAsync(array $args = [])
* @method \Aws\Result getSecurityConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSecurityConfigurationAsync(array $args = [])
* @method \Aws\Result getSecurityConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSecurityConfigurationsAsync(array $args = [])
* @method \Aws\Result getTable(array $args = [])
* @method \GuzzleHttp\Promise\Promise getTableAsync(array $args = [])
* @method \Aws\Result getTableVersion(array $args = [])
@@ -123,6 +131,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getUserDefinedFunctionsAsync(array $args = [])
* @method \Aws\Result importCatalogToGlue(array $args = [])
* @method \GuzzleHttp\Promise\Promise importCatalogToGlueAsync(array $args = [])
* @method \Aws\Result putDataCatalogEncryptionSettings(array $args = [])
* @method \GuzzleHttp\Promise\Promise putDataCatalogEncryptionSettingsAsync(array $args = [])
* @method \Aws\Result resetJobBookmark(array $args = [])
* @method \GuzzleHttp\Promise\Promise resetJobBookmarkAsync(array $args = [])
* @method \Aws\Result startCrawler(array $args = [])

View File

@@ -43,6 +43,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getDatasetContentAsync(array $args = [])
* @method \Aws\Result listChannels(array $args = [])
* @method \GuzzleHttp\Promise\Promise listChannelsAsync(array $args = [])
* @method \Aws\Result listDatasetContents(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDatasetContentsAsync(array $args = [])
* @method \Aws\Result listDatasets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listDatasetsAsync(array $args = [])
* @method \Aws\Result listDatastores(array $args = [])

View File

@@ -5,6 +5,8 @@ use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Elemental MediaLive** service.
* @method \Aws\Result batchUpdateSchedule(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchUpdateScheduleAsync(array $args = [])
* @method \Aws\Result createChannel(array $args = [])
* @method \GuzzleHttp\Promise\Promise createChannelAsync(array $args = [])
* @method \Aws\Result createInput(array $args = [])
@@ -29,6 +31,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise describeOfferingAsync(array $args = [])
* @method \Aws\Result describeReservation(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeReservationAsync(array $args = [])
* @method \Aws\Result describeSchedule(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeScheduleAsync(array $args = [])
* @method \Aws\Result listChannels(array $args = [])
* @method \GuzzleHttp\Promise\Promise listChannelsAsync(array $args = [])
* @method \Aws\Result listInputSecurityGroups(array $args = [])

View File

@@ -23,6 +23,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listOriginEndpointsAsync(array $args = [])
* @method \Aws\Result rotateChannelCredentials(array $args = [])
* @method \GuzzleHttp\Promise\Promise rotateChannelCredentialsAsync(array $args = [])
* @method \Aws\Result rotateIngestEndpointCredentials(array $args = [])
* @method \GuzzleHttp\Promise\Promise rotateIngestEndpointCredentialsAsync(array $args = [])
* @method \Aws\Result updateChannel(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateChannelAsync(array $args = [])
* @method \Aws\Result updateOriginEndpoint(array $args = [])

View File

@@ -132,6 +132,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise rebootClusterAsync(array $args = [])
* @method \Aws\Result resetClusterParameterGroup(array $args = [])
* @method \GuzzleHttp\Promise\Promise resetClusterParameterGroupAsync(array $args = [])
* @method \Aws\Result resizeCluster(array $args = [])
* @method \GuzzleHttp\Promise\Promise resizeClusterAsync(array $args = [])
* @method \Aws\Result restoreFromClusterSnapshot(array $args = [])
* @method \GuzzleHttp\Promise\Promise restoreFromClusterSnapshotAsync(array $args = [])
* @method \Aws\Result restoreTableFromClusterSnapshot(array $args = [])

View File

@@ -17,6 +17,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteFacesAsync(array $args = [])
* @method \Aws\Result deleteStreamProcessor(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteStreamProcessorAsync(array $args = [])
* @method \Aws\Result describeCollection(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeCollectionAsync(array $args = [])
* @method \Aws\Result describeStreamProcessor(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeStreamProcessorAsync(array $args = [])
* @method \Aws\Result detectFaces(array $args = [])

View File

@@ -290,10 +290,12 @@ namespace Aws;
* @method \Aws\MultiRegionClient createMultiRegionWorkSpaces(array $args = [])
* @method \Aws\XRay\XRayClient createXRay(array $args = [])
* @method \Aws\MultiRegionClient createMultiRegionXRay(array $args = [])
* @method \Aws\signer\signerClient createsigner(array $args = [])
* @method \Aws\MultiRegionClient createMultiRegionsigner(array $args = [])
*/
class Sdk
{
const VERSION = '3.64.13';
const VERSION = '3.67.5';
/** @var array Arguments for creating clients */
private $args;

View File

@@ -15,6 +15,7 @@ class SignatureV4 implements SignatureInterface
use SignatureTrait;
const ISO8601_BASIC = 'Ymd\THis\Z';
const UNSIGNED_PAYLOAD = 'UNSIGNED-PAYLOAD';
const AMZ_CONTENT_SHA256_HEADER = 'X-Amz-Content-Sha256';
/** @var string */
private $service;
@@ -25,6 +26,41 @@ class SignatureV4 implements SignatureInterface
/** @var bool */
private $unsigned;
/**
* The following headers are not signed because signing these headers
* would potentially cause a signature mismatch when sending a request
* through a proxy or if modified at the HTTP client level.
*
* @return array
*/
private function getHeaderBlacklist()
{
return [
'cache-control' => true,
'content-type' => true,
'content-length' => true,
'expect' => true,
'max-forwards' => true,
'pragma' => true,
'range' => true,
'te' => true,
'if-match' => true,
'if-none-match' => true,
'if-modified-since' => true,
'if-unmodified-since' => true,
'if-range' => true,
'accept' => true,
'authorization' => true,
'proxy-authorization' => true,
'from' => true,
'referer' => true,
'user-agent' => true,
'x-amzn-trace-id' => true,
'aws-sdk-invocation-id' => true,
'aws-sdk-retry' => true,
];
}
/**
* @param string $service Service name to use when signing
* @param string $region Region name to use when signing
@@ -55,7 +91,7 @@ class SignatureV4 implements SignatureInterface
$payload = $this->getPayload($request);
if ($payload == self::UNSIGNED_PAYLOAD) {
$parsed['headers']['X-Amz-Content-Sha256'] = [$payload];
$parsed['headers'][self::AMZ_CONTENT_SHA256_HEADER] = [$payload];
}
$context = $this->createContext($parsed, $payload);
@@ -76,6 +112,28 @@ class SignatureV4 implements SignatureInterface
return $this->buildRequest($parsed);
}
/**
* Get the headers that were used to pre-sign the request.
* Used for the X-Amz-SignedHeaders header.
*
* @param array $headers
* @return array
*/
private function getPresignHeaders(array $headers)
{
$presignHeaders = [];
$blacklist = $this->getHeaderBlacklist();
foreach ($headers as $name => $value) {
$lName = strtolower($name);
if (!isset($blacklist[$lName])
&& $name !== self::AMZ_CONTENT_SHA256_HEADER
) {
$presignHeaders[] = $lName;
}
}
return $presignHeaders;
}
public function presign(
RequestInterface $request,
CredentialsInterface $credentials,
@@ -86,7 +144,7 @@ class SignatureV4 implements SignatureInterface
$startTimestamp = isset($options['start_time'])
? $this->convertToTimestamp($options['start_time'], null)
: time();
$expiresTimestamp = $this->convertToTimestamp($expires, $startTimestamp);
$parsed = $this->createPresignedRequest($request, $credentials);
@@ -95,10 +153,13 @@ class SignatureV4 implements SignatureInterface
$shortDate = substr($httpDate, 0, 8);
$scope = $this->createScope($shortDate, $this->region, $this->service);
$credential = $credentials->getAccessKeyId() . '/' . $scope;
if ($credentials->getSecurityToken()) {
unset($parsed['headers']['X-Amz-Security-Token']);
}
$parsed['query']['X-Amz-Algorithm'] = 'AWS4-HMAC-SHA256';
$parsed['query']['X-Amz-Credential'] = $credential;
$parsed['query']['X-Amz-Date'] = gmdate('Ymd\THis\Z', $startTimestamp);
$parsed['query']['X-Amz-SignedHeaders'] = 'host';
$parsed['query']['X-Amz-SignedHeaders'] = implode(';', $this->getPresignHeaders($parsed['headers']));
$parsed['query']['X-Amz-Expires'] = $this->convertExpires($expiresTimestamp, $startTimestamp);
$context = $this->createContext($parsed, $payload);
$stringToSign = $this->createStringToSign($httpDate, $scope, $context['creq']);
@@ -151,9 +212,9 @@ class SignatureV4 implements SignatureInterface
return self::UNSIGNED_PAYLOAD;
}
// Calculate the request signature payload
if ($request->hasHeader('X-Amz-Content-Sha256')) {
if ($request->hasHeader(self::AMZ_CONTENT_SHA256_HEADER)) {
// Handle streaming operations (e.g. Glacier.UploadArchive)
return $request->getHeaderLine('X-Amz-Content-Sha256');
return $request->getHeaderLine(self::AMZ_CONTENT_SHA256_HEADER);
}
if (!$request->getBody()->isSeekable()) {
@@ -207,31 +268,7 @@ class SignatureV4 implements SignatureInterface
*/
private function createContext(array $parsedRequest, $payload)
{
// The following headers are not signed because signing these headers
// would potentially cause a signature mismatch when sending a request
// through a proxy or if modified at the HTTP client level.
static $blacklist = [
'cache-control' => true,
'content-type' => true,
'content-length' => true,
'expect' => true,
'max-forwards' => true,
'pragma' => true,
'range' => true,
'te' => true,
'if-match' => true,
'if-none-match' => true,
'if-modified-since' => true,
'if-unmodified-since' => true,
'if-range' => true,
'accept' => true,
'authorization' => true,
'proxy-authorization' => true,
'from' => true,
'referer' => true,
'user-agent' => true,
'x-amzn-trace-id' => true
];
$blacklist = $this->getHeaderBlacklist();
// Normalize the path as required by SigV4
$canon = $parsedRequest['method'] . "\n"
@@ -326,7 +363,10 @@ class SignatureV4 implements SignatureInterface
if (substr($lname, 0, 5) == 'x-amz') {
$parsedRequest['query'][$name] = $header;
}
if ($lname !== 'host') {
$blacklist = $this->getHeaderBlacklist();
if (isset($blacklist[$lname])
|| $lname === strtolower(self::AMZ_CONTENT_SHA256_HEADER)
) {
unset($parsedRequest['headers'][$name]);
}
}

View File

@@ -290,7 +290,13 @@ class TraceMiddleware
{
if ($this->config['scrub_auth']) {
foreach ($this->config['auth_strings'] as $pattern => $replacement) {
$value = preg_replace($pattern, $replacement, $value);
$value = preg_replace_callback(
$pattern,
function ($matches) use ($replacement) {
return $replacement;
},
$value
);
}
}

View File

@@ -36,6 +36,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteGeoMatchSetAsync(array $args = [])
* @method \Aws\Result deleteIPSet(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteIPSetAsync(array $args = [])
* @method \Aws\Result deleteLoggingConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteLoggingConfigurationAsync(array $args = [])
* @method \Aws\Result deletePermissionPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePermissionPolicyAsync(array $args = [])
* @method \Aws\Result deleteRateBasedRule(array $args = [])
@@ -66,6 +68,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getGeoMatchSetAsync(array $args = [])
* @method \Aws\Result getIPSet(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIPSetAsync(array $args = [])
* @method \Aws\Result getLoggingConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getLoggingConfigurationAsync(array $args = [])
* @method \Aws\Result getPermissionPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getPermissionPolicyAsync(array $args = [])
* @method \Aws\Result getRateBasedRule(array $args = [])
@@ -98,6 +102,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listGeoMatchSetsAsync(array $args = [])
* @method \Aws\Result listIPSets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listIPSetsAsync(array $args = [])
* @method \Aws\Result listLoggingConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listLoggingConfigurationsAsync(array $args = [])
* @method \Aws\Result listRateBasedRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise listRateBasedRulesAsync(array $args = [])
* @method \Aws\Result listRegexMatchSets(array $args = [])
@@ -118,6 +124,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listWebACLsAsync(array $args = [])
* @method \Aws\Result listXssMatchSets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listXssMatchSetsAsync(array $args = [])
* @method \Aws\Result putLoggingConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putLoggingConfigurationAsync(array $args = [])
* @method \Aws\Result putPermissionPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putPermissionPolicyAsync(array $args = [])
* @method \Aws\Result updateByteMatchSet(array $args = [])

View File

@@ -37,6 +37,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise deleteGeoMatchSetAsync(array $args = [])
* @method \Aws\Result deleteIPSet(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteIPSetAsync(array $args = [])
* @method \Aws\Result deleteLoggingConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteLoggingConfigurationAsync(array $args = [])
* @method \Aws\Result deletePermissionPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise deletePermissionPolicyAsync(array $args = [])
* @method \Aws\Result deleteRateBasedRule(array $args = [])
@@ -69,6 +71,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise getGeoMatchSetAsync(array $args = [])
* @method \Aws\Result getIPSet(array $args = [])
* @method \GuzzleHttp\Promise\Promise getIPSetAsync(array $args = [])
* @method \Aws\Result getLoggingConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise getLoggingConfigurationAsync(array $args = [])
* @method \Aws\Result getPermissionPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise getPermissionPolicyAsync(array $args = [])
* @method \Aws\Result getRateBasedRule(array $args = [])
@@ -103,6 +107,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listGeoMatchSetsAsync(array $args = [])
* @method \Aws\Result listIPSets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listIPSetsAsync(array $args = [])
* @method \Aws\Result listLoggingConfigurations(array $args = [])
* @method \GuzzleHttp\Promise\Promise listLoggingConfigurationsAsync(array $args = [])
* @method \Aws\Result listRateBasedRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise listRateBasedRulesAsync(array $args = [])
* @method \Aws\Result listRegexMatchSets(array $args = [])
@@ -125,6 +131,8 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise listWebACLsAsync(array $args = [])
* @method \Aws\Result listXssMatchSets(array $args = [])
* @method \GuzzleHttp\Promise\Promise listXssMatchSetsAsync(array $args = [])
* @method \Aws\Result putLoggingConfiguration(array $args = [])
* @method \GuzzleHttp\Promise\Promise putLoggingConfigurationAsync(array $args = [])
* @method \Aws\Result putPermissionPolicy(array $args = [])
* @method \GuzzleHttp\Promise\Promise putPermissionPolicyAsync(array $args = [])
* @method \Aws\Result updateByteMatchSet(array $args = [])

View File

@@ -7,8 +7,18 @@ use Aws\AwsClient;
* This client is used to interact with the **AWS X-Ray** service.
* @method \Aws\Result batchGetTraces(array $args = [])
* @method \GuzzleHttp\Promise\Promise batchGetTracesAsync(array $args = [])
* @method \Aws\Result createSamplingRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise createSamplingRuleAsync(array $args = [])
* @method \Aws\Result deleteSamplingRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise deleteSamplingRuleAsync(array $args = [])
* @method \Aws\Result getEncryptionConfig(array $args = [])
* @method \GuzzleHttp\Promise\Promise getEncryptionConfigAsync(array $args = [])
* @method \Aws\Result getSamplingRules(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSamplingRulesAsync(array $args = [])
* @method \Aws\Result getSamplingStatisticSummaries(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSamplingStatisticSummariesAsync(array $args = [])
* @method \Aws\Result getSamplingTargets(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSamplingTargetsAsync(array $args = [])
* @method \Aws\Result getServiceGraph(array $args = [])
* @method \GuzzleHttp\Promise\Promise getServiceGraphAsync(array $args = [])
* @method \Aws\Result getTraceGraph(array $args = [])
@@ -21,5 +31,7 @@ use Aws\AwsClient;
* @method \GuzzleHttp\Promise\Promise putTelemetryRecordsAsync(array $args = [])
* @method \Aws\Result putTraceSegments(array $args = [])
* @method \GuzzleHttp\Promise\Promise putTraceSegmentsAsync(array $args = [])
* @method \Aws\Result updateSamplingRule(array $args = [])
* @method \GuzzleHttp\Promise\Promise updateSamplingRuleAsync(array $args = [])
*/
class XRayClient extends AwsClient {}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,3 @@
<?php
// This file was auto-generated from sdk-root/src/data/cognito-idp/2016-04-18/smoke.json
return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListUserPools', 'input' => [ 'MaxResults' => 10, ], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeUserPool', 'input' => [ 'UserPoolId' => 'us-east-1:aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee', ], 'errorExpectedFromService' => true, ], ],];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,3 @@
<?php
// This file was auto-generated from sdk-root/src/data/discovery/2015-11-01/paginators-1.json
return [ 'pagination' => [],];
return [ 'pagination' => [ 'DescribeContinuousExports' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],];

View File

@@ -0,0 +1,3 @@
<?php
// This file was auto-generated from sdk-root/src/data/discovery/2015-11-01/smoke.json
return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeAgents', 'input' => [], 'errorExpectedFromService' => false, ], ],];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,3 @@
<?php
// This file was auto-generated from sdk-root/src/data/iotanalytics/2017-11-27/paginators-1.json
return [ 'pagination' => [ 'ListChannels' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListDatasets' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListDatastores' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListPipelines' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],];
return [ 'pagination' => [ 'ListChannels' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListDatasetContents' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListDatasets' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListDatastores' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListPipelines' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,3 @@
<?php
// This file was auto-generated from sdk-root/src/data/medialive/2017-10-14/paginators-1.json
return [ 'pagination' => [ 'ListInputs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Inputs', ], 'ListChannels' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Channels', ], 'ListInputSecurityGroups' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'InputSecurityGroups', ], 'ListOfferings' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Offerings', ], 'ListReservations' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Reservations', ], ],];
return [ 'pagination' => [ 'DescribeSchedule' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'ScheduleActions', ], 'ListChannels' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Channels', ], 'ListInputSecurityGroups' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'InputSecurityGroups', ], 'ListInputs' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Inputs', ], 'ListOfferings' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Offerings', ], 'ListReservations' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Reservations', ], ],];

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,3 @@
<?php
// This file was auto-generated from sdk-root/src/data/rds/2014-10-31/paginators-1.json
return [ 'pagination' => [ 'DescribeDBEngineVersions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBEngineVersions', ], 'DescribeDBInstances' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBInstances', ], 'DescribeDBLogFiles' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DescribeDBLogFiles', ], 'DescribeDBParameterGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBParameterGroups', ], 'DescribeDBParameters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Parameters', ], 'DescribeDBSecurityGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBSecurityGroups', ], 'DescribeDBSnapshots' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBSnapshots', ], 'DescribeDBSubnetGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBSubnetGroups', ], 'DescribeEngineDefaultParameters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'EngineDefaults.Marker', 'result_key' => 'EngineDefaults.Parameters', ], 'DescribeEventSubscriptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'EventSubscriptionsList', ], 'DescribeEvents' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Events', ], 'DescribeOptionGroupOptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'OptionGroupOptions', ], 'DescribeOptionGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'OptionGroupsList', ], 'DescribeOrderableDBInstanceOptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'OrderableDBInstanceOptions', ], 'DescribeReservedDBInstances' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ReservedDBInstances', ], 'DescribeReservedDBInstancesOfferings' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ReservedDBInstancesOfferings', ], 'DownloadDBLogFilePortion' => [ 'input_token' => 'Marker', 'limit_key' => 'NumberOfLines', 'more_results' => 'AdditionalDataPending', 'output_token' => 'Marker', 'result_key' => 'LogFileData', ], 'ListTagsForResource' => [ 'result_key' => 'TagList', ], ],];
return [ 'pagination' => [ 'DescribeDBClusters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBClusters', ], 'DescribeDBEngineVersions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBEngineVersions', ], 'DescribeDBInstances' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBInstances', ], 'DescribeDBLogFiles' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DescribeDBLogFiles', ], 'DescribeDBParameterGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBParameterGroups', ], 'DescribeDBParameters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Parameters', ], 'DescribeDBSecurityGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBSecurityGroups', ], 'DescribeDBSnapshots' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBSnapshots', ], 'DescribeDBSubnetGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'DBSubnetGroups', ], 'DescribeEngineDefaultParameters' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'EngineDefaults.Marker', 'result_key' => 'EngineDefaults.Parameters', ], 'DescribeEventSubscriptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'EventSubscriptionsList', ], 'DescribeEvents' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'Events', ], 'DescribeOptionGroupOptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'OptionGroupOptions', ], 'DescribeOptionGroups' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'OptionGroupsList', ], 'DescribeOrderableDBInstanceOptions' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'OrderableDBInstanceOptions', ], 'DescribeReservedDBInstances' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ReservedDBInstances', ], 'DescribeReservedDBInstancesOfferings' => [ 'input_token' => 'Marker', 'limit_key' => 'MaxRecords', 'output_token' => 'Marker', 'result_key' => 'ReservedDBInstancesOfferings', ], 'DownloadDBLogFilePortion' => [ 'input_token' => 'Marker', 'limit_key' => 'NumberOfLines', 'more_results' => 'AdditionalDataPending', 'output_token' => 'Marker', 'result_key' => 'LogFileData', ], 'ListTagsForResource' => [ 'result_key' => 'TagList', ], ],];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,3 @@
<?php
// This file was auto-generated from sdk-root/src/data/rekognition/2016-06-27/smoke.json
return [ 'version' => 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListCollections', 'input' => [], 'errorExpectedFromService' => false, ], ],];

View File

@@ -1,3 +1,3 @@
<?php
// This file was auto-generated from sdk-root/src/data/runtime.sagemaker/2017-05-13/api-2.json
return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-05-13', 'endpointPrefix' => 'runtime.sagemaker', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon SageMaker Runtime', 'serviceId' => 'SageMaker Runtime', 'signatureVersion' => 'v4', 'signingName' => 'sagemaker', 'uid' => 'runtime.sagemaker-2017-05-13', ], 'operations' => [ 'InvokeEndpoint' => [ 'name' => 'InvokeEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/endpoints/{EndpointName}/invocations', ], 'input' => [ 'shape' => 'InvokeEndpointInput', ], 'output' => [ 'shape' => 'InvokeEndpointOutput', ], 'errors' => [ [ 'shape' => 'InternalFailure', ], [ 'shape' => 'ServiceUnavailable', ], [ 'shape' => 'ValidationError', ], [ 'shape' => 'ModelError', ], ], ], ], 'shapes' => [ 'BodyBlob' => [ 'type' => 'blob', 'max' => 5242880, 'sensitive' => true, ], 'EndpointName' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'Header' => [ 'type' => 'string', 'max' => 1024, ], 'InternalFailure' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, ], 'InvokeEndpointInput' => [ 'type' => 'structure', 'required' => [ 'EndpointName', 'Body', ], 'members' => [ 'EndpointName' => [ 'shape' => 'EndpointName', 'location' => 'uri', 'locationName' => 'EndpointName', ], 'Body' => [ 'shape' => 'BodyBlob', ], 'ContentType' => [ 'shape' => 'Header', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Accept' => [ 'shape' => 'Header', 'location' => 'header', 'locationName' => 'Accept', ], ], 'payload' => 'Body', ], 'InvokeEndpointOutput' => [ 'type' => 'structure', 'required' => [ 'Body', ], 'members' => [ 'Body' => [ 'shape' => 'BodyBlob', ], 'ContentType' => [ 'shape' => 'Header', 'location' => 'header', 'locationName' => 'Content-Type', ], 'InvokedProductionVariant' => [ 'shape' => 'Header', 'location' => 'header', 'locationName' => 'x-Amzn-Invoked-Production-Variant', ], ], 'payload' => 'Body', ], 'LogStreamArn' => [ 'type' => 'string', ], 'Message' => [ 'type' => 'string', 'max' => 2048, ], 'ModelError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], 'OriginalStatusCode' => [ 'shape' => 'StatusCode', ], 'OriginalMessage' => [ 'shape' => 'Message', ], 'LogStreamArn' => [ 'shape' => 'LogStreamArn', ], ], 'error' => [ 'httpStatusCode' => 424, ], 'exception' => true, ], 'ServiceUnavailable' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, ], 'StatusCode' => [ 'type' => 'integer', ], 'ValidationError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], ],];
return [ 'version' => '2.0', 'metadata' => [ 'apiVersion' => '2017-05-13', 'endpointPrefix' => 'runtime.sagemaker', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon SageMaker Runtime', 'serviceId' => 'SageMaker Runtime', 'signatureVersion' => 'v4', 'signingName' => 'sagemaker', 'uid' => 'runtime.sagemaker-2017-05-13', ], 'operations' => [ 'InvokeEndpoint' => [ 'name' => 'InvokeEndpoint', 'http' => [ 'method' => 'POST', 'requestUri' => '/endpoints/{EndpointName}/invocations', ], 'input' => [ 'shape' => 'InvokeEndpointInput', ], 'output' => [ 'shape' => 'InvokeEndpointOutput', ], 'errors' => [ [ 'shape' => 'InternalFailure', ], [ 'shape' => 'ServiceUnavailable', ], [ 'shape' => 'ValidationError', ], [ 'shape' => 'ModelError', ], ], ], ], 'shapes' => [ 'BodyBlob' => [ 'type' => 'blob', 'max' => 5242880, 'sensitive' => true, ], 'CustomAttributesHeader' => [ 'type' => 'string', 'max' => 1024, 'sensitive' => true, ], 'EndpointName' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'Header' => [ 'type' => 'string', 'max' => 1024, ], 'InternalFailure' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, 'synthetic' => true, ], 'InvokeEndpointInput' => [ 'type' => 'structure', 'required' => [ 'EndpointName', 'Body', ], 'members' => [ 'EndpointName' => [ 'shape' => 'EndpointName', 'location' => 'uri', 'locationName' => 'EndpointName', ], 'Body' => [ 'shape' => 'BodyBlob', ], 'ContentType' => [ 'shape' => 'Header', 'location' => 'header', 'locationName' => 'Content-Type', ], 'Accept' => [ 'shape' => 'Header', 'location' => 'header', 'locationName' => 'Accept', ], 'CustomAttributes' => [ 'shape' => 'CustomAttributesHeader', 'location' => 'header', 'locationName' => 'X-Amzn-SageMaker-Custom-Attributes', ], ], 'payload' => 'Body', ], 'InvokeEndpointOutput' => [ 'type' => 'structure', 'required' => [ 'Body', ], 'members' => [ 'Body' => [ 'shape' => 'BodyBlob', ], 'ContentType' => [ 'shape' => 'Header', 'location' => 'header', 'locationName' => 'Content-Type', ], 'InvokedProductionVariant' => [ 'shape' => 'Header', 'location' => 'header', 'locationName' => 'x-Amzn-Invoked-Production-Variant', ], 'CustomAttributes' => [ 'shape' => 'CustomAttributesHeader', 'location' => 'header', 'locationName' => 'X-Amzn-SageMaker-Custom-Attributes', ], ], 'payload' => 'Body', ], 'LogStreamArn' => [ 'type' => 'string', ], 'Message' => [ 'type' => 'string', 'max' => 2048, ], 'ModelError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], 'OriginalStatusCode' => [ 'shape' => 'StatusCode', ], 'OriginalMessage' => [ 'shape' => 'Message', ], 'LogStreamArn' => [ 'shape' => 'LogStreamArn', ], ], 'error' => [ 'httpStatusCode' => 424, ], 'exception' => true, ], 'ServiceUnavailable' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, 'synthetic' => true, ], 'StatusCode' => [ 'type' => 'integer', ], 'ValidationError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, 'synthetic' => true, ], ],];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,3 @@
<?php
// This file was auto-generated from sdk-root/src/data/signer/2017-08-25/paginators-1.json
return [ 'pagination' => [ 'ListSigningJobs' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListSigningPlatforms' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], 'ListSigningProfiles' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', ], ],];

View File

@@ -0,0 +1,3 @@
<?php
// This file was auto-generated from sdk-root/src/data/signer/2017-08-25/waiters-2.json
return [ 'version' => 2, 'waiters' => [ 'SuccessfulSigningJob' => [ 'delay' => 20, 'operation' => 'DescribeSigningJob', 'maxAttempts' => 25, 'acceptors' => [ [ 'expected' => 'Succeeded', 'matcher' => 'path', 'state' => 'success', 'argument' => 'status', ], [ 'expected' => 'Failed', 'matcher' => 'path', 'state' => 'failure', 'argument' => 'status', ], [ 'expected' => 'ResourceNotFoundException', 'matcher' => 'error', 'state' => 'failure', ], ], ], ],];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,9 @@
<?php
namespace Aws\signer\Exception;
use Aws\Exception\AwsException;
/**
* Represents an error interacting with the **AWS Signer** service.
*/
class signerException extends AwsException {}

View File

@@ -0,0 +1,27 @@
<?php
namespace Aws\signer;
use Aws\AwsClient;
/**
* This client is used to interact with the **AWS Signer** service.
* @method \Aws\Result cancelSigningProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise cancelSigningProfileAsync(array $args = [])
* @method \Aws\Result describeSigningJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise describeSigningJobAsync(array $args = [])
* @method \Aws\Result getSigningPlatform(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSigningPlatformAsync(array $args = [])
* @method \Aws\Result getSigningProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise getSigningProfileAsync(array $args = [])
* @method \Aws\Result listSigningJobs(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSigningJobsAsync(array $args = [])
* @method \Aws\Result listSigningPlatforms(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSigningPlatformsAsync(array $args = [])
* @method \Aws\Result listSigningProfiles(array $args = [])
* @method \GuzzleHttp\Promise\Promise listSigningProfilesAsync(array $args = [])
* @method \Aws\Result putSigningProfile(array $args = [])
* @method \GuzzleHttp\Promise\Promise putSigningProfileAsync(array $args = [])
* @method \Aws\Result startSigningJob(array $args = [])
* @method \GuzzleHttp\Promise\Promise startSigningJobAsync(array $args = [])
*/
class signerClient extends AwsClient {}

View File

@@ -1,10 +0,0 @@
#!/usr/bin/env sh
dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../symfony/var-dumper/Resources/bin" && pwd)
if [ -d /proc/cygdrive ] && [[ $(which php) == $(readlink -n /proc/cygdrive)/* ]]; then
# We are in Cgywin using Windows php, so the path must be translated
dir=$(cygpath -m "$dir");
fi
"${dir}/var-dump-server" "$@"

1
vendor/bin/var-dump-server vendored Symbolic link
View File

@@ -0,0 +1 @@
../symfony/var-dumper/Resources/bin/var-dump-server

View File

@@ -1,4 +0,0 @@
@ECHO OFF
setlocal DISABLEDELAYEDEXPANSION
SET BIN_TARGET=%~dp0/../symfony/var-dumper/Resources/bin/var-dump-server
php "%BIN_TARGET%" %*

View File

@@ -380,6 +380,7 @@ return array(
'PHPUnit\\Util\\Configuration' => $vendorDir . '/phpunit/phpunit/src/Util/Configuration.php',
'PHPUnit\\Util\\ConfigurationGenerator' => $vendorDir . '/phpunit/phpunit/src/Util/ConfigurationGenerator.php',
'PHPUnit\\Util\\ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Util/ErrorHandler.php',
'PHPUnit\\Util\\FileLoader' => $vendorDir . '/phpunit/phpunit/src/Util/FileLoader.php',
'PHPUnit\\Util\\Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php',
'PHPUnit\\Util\\Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php',
'PHPUnit\\Util\\Getopt' => $vendorDir . '/phpunit/phpunit/src/Util/Getopt.php',
@@ -403,6 +404,7 @@ return array(
'PHPUnit\\Util\\TestDox\\XmlResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php',
'PHPUnit\\Util\\TextTestListRenderer' => $vendorDir . '/phpunit/phpunit/src/Util/TextTestListRenderer.php',
'PHPUnit\\Util\\Type' => $vendorDir . '/phpunit/phpunit/src/Util/Type.php',
'PHPUnit\\Util\\Xml' => $vendorDir . '/phpunit/phpunit/src/Util/Xml.php',
'PHPUnit\\Util\\XmlTestListRenderer' => $vendorDir . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php',
'PHPUnit_Framework_MockObject_MockObject' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockObject.php',
'PHP_Evaluator' => $vendorDir . '/dompdf/dompdf/include/php_evaluator.cls.php',

View File

@@ -1039,6 +1039,7 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
'PHPUnit\\Util\\Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Configuration.php',
'PHPUnit\\Util\\ConfigurationGenerator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ConfigurationGenerator.php',
'PHPUnit\\Util\\ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ErrorHandler.php',
'PHPUnit\\Util\\FileLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/FileLoader.php',
'PHPUnit\\Util\\Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php',
'PHPUnit\\Util\\Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php',
'PHPUnit\\Util\\Getopt' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Getopt.php',
@@ -1062,6 +1063,7 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d
'PHPUnit\\Util\\TestDox\\XmlResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php',
'PHPUnit\\Util\\TextTestListRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TextTestListRenderer.php',
'PHPUnit\\Util\\Type' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Type.php',
'PHPUnit\\Util\\Xml' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml.php',
'PHPUnit\\Util\\XmlTestListRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php',
'PHPUnit_Framework_MockObject_MockObject' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockObject.php',
'PHP_Evaluator' => __DIR__ . '/..' . '/dompdf/dompdf/include/php_evaluator.cls.php',

View File

@@ -1,17 +1,17 @@
[
{
"name": "aws/aws-sdk-php",
"version": "3.64.13",
"version_normalized": "3.64.13.0",
"version": "3.67.5",
"version_normalized": "3.67.5.0",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "daff999e06bc5334e9bb90286514f1c2db0c4cbb"
"reference": "fa7689ba2865e9e00ac44efefc2c3f2ea8424c63"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/daff999e06bc5334e9bb90286514f1c2db0c4cbb",
"reference": "daff999e06bc5334e9bb90286514f1c2db0c4cbb",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fa7689ba2865e9e00ac44efefc2c3f2ea8424c63",
"reference": "fa7689ba2865e9e00ac44efefc2c3f2ea8424c63",
"shasum": ""
},
"require": {
@@ -42,7 +42,7 @@
"ext-curl": "To send requests using cURL",
"ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages"
},
"time": "2018-08-15T23:03:41+00:00",
"time": "2018-09-04T21:04:34+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -562,17 +562,17 @@
},
{
"name": "doctrine/cache",
"version": "v1.7.1",
"version_normalized": "1.7.1.0",
"version": "v1.8.0",
"version_normalized": "1.8.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/cache.git",
"reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a"
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a",
"reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a",
"url": "https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57",
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57",
"shasum": ""
},
"require": {
@@ -583,18 +583,19 @@
},
"require-dev": {
"alcaeus/mongo-php-adapter": "^1.1",
"doctrine/coding-standard": "^4.0",
"mongodb/mongodb": "^1.1",
"phpunit/phpunit": "^5.7",
"phpunit/phpunit": "^7.0",
"predis/predis": "~1.0"
},
"suggest": {
"alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
},
"time": "2017-08-25T07:02:50+00:00",
"time": "2018-08-21T18:01:43+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.7.x-dev"
"dev-master": "1.8.x-dev"
}
},
"installation-source": "dist",
@@ -630,7 +631,7 @@
}
],
"description": "Caching library offering an object-oriented API for many cache backends",
"homepage": "http://www.doctrine-project.org",
"homepage": "https://www.doctrine-project.org",
"keywords": [
"cache",
"caching"
@@ -1070,17 +1071,17 @@
},
{
"name": "egulias/email-validator",
"version": "2.1.4",
"version_normalized": "2.1.4.0",
"version": "2.1.5",
"version_normalized": "2.1.5.0",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
"reference": "8790f594151ca6a2010c6218e09d96df67173ad3"
"reference": "54859fabea8b3beecbb1a282888d5c990036b9e3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/8790f594151ca6a2010c6218e09d96df67173ad3",
"reference": "8790f594151ca6a2010c6218e09d96df67173ad3",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/54859fabea8b3beecbb1a282888d5c990036b9e3",
"reference": "54859fabea8b3beecbb1a282888d5c990036b9e3",
"shasum": ""
},
"require": {
@@ -1095,7 +1096,7 @@
"suggest": {
"ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
},
"time": "2018-04-10T10:11:19+00:00",
"time": "2018-08-16T20:49:45+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -1408,17 +1409,17 @@
},
{
"name": "giggsey/libphonenumber-for-php",
"version": "8.9.11",
"version_normalized": "8.9.11.0",
"version": "8.9.12",
"version_normalized": "8.9.12.0",
"source": {
"type": "git",
"url": "https://github.com/giggsey/libphonenumber-for-php.git",
"reference": "2a6b6661f42644941e4c8e895518f27c99587a68"
"reference": "b906325b1bcf99309bc10bff7cbdc1ed8fbcf774"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/2a6b6661f42644941e4c8e895518f27c99587a68",
"reference": "2a6b6661f42644941e4c8e895518f27c99587a68",
"url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/b906325b1bcf99309bc10bff7cbdc1ed8fbcf774",
"reference": "b906325b1bcf99309bc10bff7cbdc1ed8fbcf774",
"shasum": ""
},
"require": {
@@ -1435,7 +1436,7 @@
"phpunit/phpunit": "^4.8|^5.0",
"symfony/console": "^2.8|^3.0"
},
"time": "2018-07-26T10:50:48+00:00",
"time": "2018-08-23T10:23:25+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -2041,17 +2042,17 @@
},
{
"name": "laravel/framework",
"version": "v5.6.33",
"version_normalized": "5.6.33.0",
"version": "v5.6.38",
"version_normalized": "5.6.38.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "8a708b989adc320c451ee639d812af81f884666b"
"reference": "38d838bab9434af79e8ab274ae63f52f7ed45d6e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/8a708b989adc320c451ee639d812af81f884666b",
"reference": "8a708b989adc320c451ee639d812af81f884666b",
"url": "https://api.github.com/repos/laravel/framework/zipball/38d838bab9434af79e8ab274ae63f52f7ed45d6e",
"reference": "38d838bab9434af79e8ab274ae63f52f7ed45d6e",
"shasum": ""
},
"require": {
@@ -2146,7 +2147,7 @@
"symfony/dom-crawler": "Required to use most of the crawler integration testing tools (~4.0).",
"symfony/psr-http-message-bridge": "Required to psr7 bridging features (~1.0)."
},
"time": "2018-08-09T20:36:39+00:00",
"time": "2018-09-04T13:15:09+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -2376,17 +2377,17 @@
},
{
"name": "league/flysystem",
"version": "1.0.45",
"version_normalized": "1.0.45.0",
"version": "1.0.46",
"version_normalized": "1.0.46.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6"
"reference": "f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a99f94e63b512d75f851b181afcdf0ee9ebef7e6",
"reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2",
"reference": "f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2",
"shasum": ""
},
"require": {
@@ -2398,7 +2399,7 @@
"require-dev": {
"ext-fileinfo": "*",
"phpspec/phpspec": "^3.4",
"phpunit/phpunit": "^5.7"
"phpunit/phpunit": "^5.7.10"
},
"suggest": {
"ext-fileinfo": "Required for MimeType",
@@ -2416,7 +2417,7 @@
"spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
"srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
},
"time": "2018-05-07T08:44:23+00:00",
"time": "2018-08-22T07:45:22+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -2593,24 +2594,24 @@
},
{
"name": "maatwebsite/excel",
"version": "2.1.28",
"version_normalized": "2.1.28.0",
"version": "2.1.30",
"version_normalized": "2.1.30.0",
"source": {
"type": "git",
"url": "https://github.com/Maatwebsite/Laravel-Excel.git",
"reference": "06e397a30595d1082963d6aa5ec0c3a9961d70c8"
"reference": "f5540c4ba3ac50cebd98b09ca42e61f926ef299f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Maatwebsite/Laravel-Excel/zipball/06e397a30595d1082963d6aa5ec0c3a9961d70c8",
"reference": "06e397a30595d1082963d6aa5ec0c3a9961d70c8",
"url": "https://api.github.com/repos/Maatwebsite/Laravel-Excel/zipball/f5540c4ba3ac50cebd98b09ca42e61f926ef299f",
"reference": "f5540c4ba3ac50cebd98b09ca42e61f926ef299f",
"shasum": ""
},
"require": {
"illuminate/cache": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/config": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/filesystem": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/support": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/cache": "^5.0",
"illuminate/config": "^5.0",
"illuminate/filesystem": "^5.0",
"illuminate/support": "^5.0",
"jeremeamia/superclosure": "^2.3",
"nesbot/carbon": "~1.0",
"php": ">=5.5",
@@ -2624,12 +2625,12 @@
"phpunit/phpunit": "~4.0"
},
"suggest": {
"illuminate/http": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/queue": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/routing": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*",
"illuminate/view": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*"
"illuminate/http": "^5.0",
"illuminate/queue": "^5.0",
"illuminate/routing": "^5.0",
"illuminate/view": "^5.0"
},
"time": "2018-05-09T14:34:18+00:00",
"time": "2018-09-04T19:00:09+00:00",
"type": "library",
"extra": {
"laravel": {
@@ -2660,7 +2661,7 @@
"email": "patrick@maatwebsite.nl"
}
],
"description": "An eloquent way of importing and exporting Excel and CSV in Laravel 4 with the power of PHPExcel",
"description": "Supercharged Excel exports in Laravel",
"keywords": [
"PHPExcel",
"batch",
@@ -4079,17 +4080,17 @@
},
{
"name": "phpunit/phpunit",
"version": "7.3.1",
"version_normalized": "7.3.1.0",
"version": "7.3.3",
"version_normalized": "7.3.3.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "f9b14c17860eccb440a0352a117a81eb754cff5a"
"reference": "1bd5629cccfb2c0a9ef5474b4ff772349e1ec898"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f9b14c17860eccb440a0352a117a81eb754cff5a",
"reference": "f9b14c17860eccb440a0352a117a81eb754cff5a",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1bd5629cccfb2c0a9ef5474b4ff772349e1ec898",
"reference": "1bd5629cccfb2c0a9ef5474b4ff772349e1ec898",
"shasum": ""
},
"require": {
@@ -4128,7 +4129,7 @@
"ext-xdebug": "*",
"phpunit/php-invoker": "^2.0"
},
"time": "2018-08-07T06:44:28+00:00",
"time": "2018-09-01T15:49:55+00:00",
"bin": [
"phpunit"
],
@@ -5285,8 +5286,8 @@
},
{
"name": "symfony/console",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
@@ -5410,17 +5411,17 @@
},
{
"name": "symfony/debug",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
"reference": "9316545571f079c4dd183e674721d9dc783ce196"
"reference": "47ead688f1f2877f3f14219670f52e4722ee7052"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/9316545571f079c4dd183e674721d9dc783ce196",
"reference": "9316545571f079c4dd183e674721d9dc783ce196",
"url": "https://api.github.com/repos/symfony/debug/zipball/47ead688f1f2877f3f14219670f52e4722ee7052",
"reference": "47ead688f1f2877f3f14219670f52e4722ee7052",
"shasum": ""
},
"require": {
@@ -5433,7 +5434,7 @@
"require-dev": {
"symfony/http-kernel": "~3.4|~4.0"
},
"time": "2018-07-26T11:24:31+00:00",
"time": "2018-08-03T11:13:38+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -5526,8 +5527,8 @@
},
{
"name": "symfony/event-dispatcher",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
@@ -5591,24 +5592,24 @@
},
{
"name": "symfony/filesystem",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "2e30335e0aafeaa86645555959572fe7cea22b43"
"reference": "c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/2e30335e0aafeaa86645555959572fe7cea22b43",
"reference": "2e30335e0aafeaa86645555959572fe7cea22b43",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e",
"reference": "c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e",
"shasum": ""
},
"require": {
"php": "^7.1.3",
"symfony/polyfill-ctype": "~1.8"
},
"time": "2018-07-26T11:24:31+00:00",
"time": "2018-08-18T16:52:46+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -5643,8 +5644,8 @@
},
{
"name": "symfony/finder",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
@@ -5694,17 +5695,17 @@
},
{
"name": "symfony/http-foundation",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "7d93e3547660ec7ee3dad1428ba42e8076a0e5f1"
"reference": "3a5c91e133b220bb882b3cd773ba91bf39989345"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/7d93e3547660ec7ee3dad1428ba42e8076a0e5f1",
"reference": "7d93e3547660ec7ee3dad1428ba42e8076a0e5f1",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/3a5c91e133b220bb882b3cd773ba91bf39989345",
"reference": "3a5c91e133b220bb882b3cd773ba91bf39989345",
"shasum": ""
},
"require": {
@@ -5715,7 +5716,7 @@
"predis/predis": "~1.0",
"symfony/expression-language": "~3.4|~4.0"
},
"time": "2018-08-01T14:07:44+00:00",
"time": "2018-08-27T17:47:02+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -5750,17 +5751,17 @@
},
{
"name": "symfony/http-kernel",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "6347be5110efb27fe45ea04bf213078b67a05036"
"reference": "33de0a1ff2e1720096189e3ced682d7a4e8f5e35"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/6347be5110efb27fe45ea04bf213078b67a05036",
"reference": "6347be5110efb27fe45ea04bf213078b67a05036",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/33de0a1ff2e1720096189e3ced682d7a4e8f5e35",
"reference": "33de0a1ff2e1720096189e3ced682d7a4e8f5e35",
"shasum": ""
},
"require": {
@@ -5804,7 +5805,7 @@
"symfony/dependency-injection": "",
"symfony/var-dumper": ""
},
"time": "2018-08-01T15:30:34+00:00",
"time": "2018-08-28T06:17:42+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -5839,8 +5840,8 @@
},
{
"name": "symfony/options-resolver",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
@@ -6185,23 +6186,23 @@
},
{
"name": "symfony/process",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "f01fc7a4493572f7f506c49dcb50ad01fb3a2f56"
"reference": "86cdb930a6a855b0ab35fb60c1504cb36184f843"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/f01fc7a4493572f7f506c49dcb50ad01fb3a2f56",
"reference": "f01fc7a4493572f7f506c49dcb50ad01fb3a2f56",
"url": "https://api.github.com/repos/symfony/process/zipball/86cdb930a6a855b0ab35fb60c1504cb36184f843",
"reference": "86cdb930a6a855b0ab35fb60c1504cb36184f843",
"shasum": ""
},
"require": {
"php": "^7.1.3"
},
"time": "2018-07-26T11:24:31+00:00",
"time": "2018-08-03T11:13:38+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -6236,17 +6237,17 @@
},
{
"name": "symfony/routing",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "6912cfebc0ea4e7a46fdd15c9bd1f427dd39ff1b"
"reference": "a5784c2ec4168018c87b38f0e4f39d2278499f51"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/6912cfebc0ea4e7a46fdd15c9bd1f427dd39ff1b",
"reference": "6912cfebc0ea4e7a46fdd15c9bd1f427dd39ff1b",
"url": "https://api.github.com/repos/symfony/routing/zipball/a5784c2ec4168018c87b38f0e4f39d2278499f51",
"reference": "a5784c2ec4168018c87b38f0e4f39d2278499f51",
"shasum": ""
},
"require": {
@@ -6274,7 +6275,7 @@
"symfony/http-foundation": "For using a Symfony Request object",
"symfony/yaml": "For using the YAML loader"
},
"time": "2018-07-26T11:24:31+00:00",
"time": "2018-08-03T07:58:40+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -6315,17 +6316,17 @@
},
{
"name": "symfony/translation",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "6fcd1bd44fd6d7181e6ea57a6f4e08a09b29ef65"
"reference": "fa2182669f7983b7aa5f1a770d053f79f0ef144f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/6fcd1bd44fd6d7181e6ea57a6f4e08a09b29ef65",
"reference": "6fcd1bd44fd6d7181e6ea57a6f4e08a09b29ef65",
"url": "https://api.github.com/repos/symfony/translation/zipball/fa2182669f7983b7aa5f1a770d053f79f0ef144f",
"reference": "fa2182669f7983b7aa5f1a770d053f79f0ef144f",
"shasum": ""
},
"require": {
@@ -6351,7 +6352,7 @@
"symfony/config": "",
"symfony/yaml": ""
},
"time": "2018-07-26T11:24:31+00:00",
"time": "2018-08-07T12:45:11+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -6386,17 +6387,17 @@
},
{
"name": "symfony/var-dumper",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "69e174f4c02ec43919380171c6f7550753299316"
"reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/69e174f4c02ec43919380171c6f7550753299316",
"reference": "69e174f4c02ec43919380171c6f7550753299316",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/a05426e27294bba7b0226ffc17dd01a3c6ef9777",
"reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777",
"shasum": ""
},
"require": {
@@ -6418,7 +6419,7 @@
"ext-intl": "To show region name in time zone dump",
"symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
},
"time": "2018-07-26T11:24:31+00:00",
"time": "2018-08-02T09:24:26+00:00",
"bin": [
"Resources/bin/var-dump-server"
],
@@ -6463,17 +6464,17 @@
},
{
"name": "symfony/yaml",
"version": "v4.1.3",
"version_normalized": "4.1.3.0",
"version": "v4.1.4",
"version_normalized": "4.1.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "46bc69aa91fc4ab78a96ce67873a6b0c148fd48c"
"reference": "b832cc289608b6d305f62149df91529a2ab3c314"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/46bc69aa91fc4ab78a96ce67873a6b0c148fd48c",
"reference": "46bc69aa91fc4ab78a96ce67873a6b0c148fd48c",
"url": "https://api.github.com/repos/symfony/yaml/zipball/b832cc289608b6d305f62149df91529a2ab3c314",
"reference": "b832cc289608b6d305f62149df91529a2ab3c314",
"shasum": ""
},
"require": {
@@ -6489,7 +6490,7 @@
"suggest": {
"symfony/console": "For validating YAML files using the lint command"
},
"time": "2018-07-26T11:24:31+00:00",
"time": "2018-08-18T16:52:46+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -6870,19 +6871,19 @@
"source": {
"type": "git",
"url": "https://github.com/tymondesigns/jwt-auth.git",
"reference": "6e419252cc592afc2ed4cd61be6f5e303a636cc5"
"reference": "e190b6a75372e7e5e3a6d2cf0e4456313412299f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/6e419252cc592afc2ed4cd61be6f5e303a636cc5",
"reference": "6e419252cc592afc2ed4cd61be6f5e303a636cc5",
"url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/e190b6a75372e7e5e3a6d2cf0e4456313412299f",
"reference": "e190b6a75372e7e5e3a6d2cf0e4456313412299f",
"shasum": ""
},
"require": {
"illuminate/auth": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/contracts": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/http": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/support": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/auth": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/contracts": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/http": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/support": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"lcobucci/jwt": "^3.2",
"namshi/jose": "^7.0",
"nesbot/carbon": "^1.0",
@@ -6890,13 +6891,13 @@
},
"require-dev": {
"cartalyst/sentinel": "2.0.*",
"illuminate/console": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/database": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/routing": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/console": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/database": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/routing": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"mockery/mockery": ">=0.9.9",
"phpunit/phpunit": "~4.8 || ~6.0"
},
"time": "2018-06-19T20:04:27+00:00",
"time": "2018-09-04T19:48:02+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -7495,17 +7496,17 @@
},
{
"name": "zendframework/zend-stdlib",
"version": "3.2.0",
"version_normalized": "3.2.0.0",
"version": "3.2.1",
"version_normalized": "3.2.1.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-stdlib.git",
"reference": "cd164b4a18b5d1aeb69be2c26db035b5ed6925ae"
"reference": "66536006722aff9e62d1b331025089b7ec71c065"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cd164b4a18b5d1aeb69be2c26db035b5ed6925ae",
"reference": "cd164b4a18b5d1aeb69be2c26db035b5ed6925ae",
"url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/66536006722aff9e62d1b331025089b7ec71c065",
"reference": "66536006722aff9e62d1b331025089b7ec71c065",
"shasum": ""
},
"require": {
@@ -7516,7 +7517,7 @@
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2",
"zendframework/zend-coding-standard": "~1.0.0"
},
"time": "2018-04-30T13:50:40+00:00",
"time": "2018-08-28T21:34:05+00:00",
"type": "library",
"extra": {
"branch-alias": {

View File

@@ -1,9 +1,10 @@
# Doctrine Cache
[![Build Status](https://secure.travis-ci.org/doctrine/cache.png?branch=master)](http://travis-ci.org/doctrine/cache)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/doctrine/cache/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/doctrine/cache/?branch=master)
[![Code Coverage](https://scrutinizer-ci.com/g/doctrine/cache/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/doctrine/cache/?branch=master)
[![Build Status](https://img.shields.io/travis/doctrine/cache/master.svg?style=flat-square)](http://travis-ci.org/doctrine/cache)
[![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/doctrine/cache/master.svg?style=flat-square)](https://scrutinizer-ci.com/g/doctrine/cache/?branch=master)
[![Code Coverage](https://img.shields.io/scrutinizer/coverage/g/doctrine/cache/master.svg?style=flat-square)](https://scrutinizer-ci.com/g/doctrine/cache/?branch=master)
[![Latest Stable Version](https://poser.pugx.org/doctrine/cache/v/stable.png)](https://packagist.org/packages/doctrine/cache) [![Total Downloads](https://poser.pugx.org/doctrine/cache/downloads.png)](https://packagist.org/packages/doctrine/cache)
[![Latest Stable Version](https://img.shields.io/packagist/v/doctrine/cache.svg?style=flat-square)](https://packagist.org/packages/doctrine/cache)
[![Total Downloads](https://img.shields.io/packagist/dt/doctrine/cache.svg?style=flat-square)](https://packagist.org/packages/doctrine/cache)
Cache component extracted from the Doctrine Common project. [Documentation](http://doctrine-orm.readthedocs.io/projects/doctrine-orm/en/latest/reference/caching.html)

View File

@@ -3,7 +3,7 @@
"type": "library",
"description": "Caching library offering an object-oriented API for many cache backends",
"keywords": ["cache", "caching"],
"homepage": "http://www.doctrine-project.org",
"homepage": "https://www.doctrine-project.org",
"license": "MIT",
"authors": [
{"name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com"},
@@ -18,8 +18,9 @@
"require-dev": {
"alcaeus/mongo-php-adapter": "^1.1",
"mongodb/mongodb": "^1.1",
"phpunit/phpunit": "^5.7",
"predis/predis": "~1.0"
"phpunit/phpunit": "^7.0",
"predis/predis": "~1.0",
"doctrine/coding-standard": "^4.0"
},
"suggest": {
"alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
@@ -35,7 +36,7 @@
},
"extra": {
"branch-alias": {
"dev-master": "1.7.x-dev"
"dev-master": "1.8.x-dev"
}
}
}

274
vendor/doctrine/cache/docs/en/index.rst vendored Normal file
View File

@@ -0,0 +1,274 @@
Introduction
============
Doctrine Cache is a library that provides an interface for caching data.
It comes with implementations for some of the most popular caching data
stores. Here is what the ``Cache`` interface looks like.
.. code-block:: php
namespace Doctrine\Common\Cache;
interface Cache
{
public function fetch($id);
public function contains($id);
public function save($id, $data, $lifeTime = 0);
public function delete($id);
public function getStats();
}
Here is an example that uses Memcache.
.. code-block:: php
use Doctrine\Common\Cache\MemcacheCache;
$memcache = new Memcache();
$cache = new MemcacheCache();
$cache->setMemcache($memcache);
$cache->set('key', 'value');
echo $cache->get('key') // prints "value"
Drivers
=======
Doctrine ships with several common drivers that you can easily use.
Below you can find information about all the available drivers.
ApcCache
--------
The ``ApcCache`` driver uses the ``apc_fetch``, ``apc_exists``, etc. functions that come
with PHP so no additional setup is required in order to use it.
.. code-block:: php
$cache = new ApcCache();
ApcuCache
---------
The ``ApcuCache`` driver uses the ``apcu_fetch``, ``apcu_exists``, etc. functions that come
with PHP so no additional setup is required in order to use it.
.. code-block:: php
$cache = new ApcuCache();
ArrayCache
----------
The ``ArrayCache`` driver stores the cache data in PHPs memory and is not persisted anywhere.
This can be useful for caching things in memory for a single process when you don't need
the cache to be persistent across processes.
.. code-block:: php
$cache = new ArrayCache();
ChainCache
----------
The ``ChainCache`` driver lets you chain multiple other drivers together easily.
.. code-block:: php
$arrayCache = new ArrayCache();
$apcuCache = new ApcuCache();
$cache = new ChainCache([$arrayCache, $apcuCache]);
CouchbaseBucketCache
--------------------
The ``CouchbaseBucketCache`` driver uses Couchbase to store the cache data.
.. code-block:: php
$bucketName = 'bucket-name';
$authenticator = new Couchbase\PasswordAuthenticator();
$authenticator->username('username')->password('password');
$cluster = new CouchbaseCluster('couchbase://127.0.0.1');
$cluster->authenticate($authenticator);
$bucket = $cluster->openBucket($bucketName);
$cache = new CouchbaseBucketCache($bucket);
FilesystemCache
---------------
The ``FilesystemCache`` driver stores the cache data on the local filesystem.
.. code-block:: php
$cache = new FilesystemCache('/path/to/cache/directory');
MemecacheCache
--------------
The ``MemcacheCache`` drivers stores the cache data in Memcache.
.. code-block:: php
$memcache = new Memcache();
$memcache->connect('localhost', 11211);
$cache = new MemcacheCache();
$cache->setMemcache($memcache);
MemcachedCache
--------------
The ``MemcachedCache`` drivers stores the cache data in Memcached.
.. code-block:: php
$memcached = new Memcached();
$cache = new MemcachedCache();
$cache->setMemcached($memcached);
MongoDBCache
------------
The ``MongoDBCache`` drivers stores the cache data in a MongoDB collection.
.. code-block:: php
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$collection = new MongoDB\Collection($manager, 'database_name', 'collection_name');
$cache = new MongoDBCache($collection);
PhpFileCache
------------
The ``PhpFileCache`` driver stores the cache data on the local filesystem like the
``FilesystemCache`` driver except the data is serialized using the ``serialize()``
and ``unserialize()`` functions available in PHP. The files are included so this means
that the data can be cached in PHPs opcache.
.. code-block:: php
$cache = new PhpFileCache('/path/to/cache/directory');
PredisCache
-----------
The ``PredisCache`` driver stores the cache data in Redis
and depends on the ``predis/predis`` package which can be installed with composer.
.. code-block:: bash
$ composer require predis/predis
Then you can use the ``Predis\Client`` class to pass to the ``PredisCache`` class.
.. code-block:: php
$client = new Predis\Client();
$cache = new PredisCache($client);
RedisCache
----------
The ``RedisCache`` driver stores the cache data in Redis and depends on the
``phpredis`` extension which can be found `here <https://github.com/phpredis/phpredis>`_.
.. code-block:: php
$redis = new Redis();
$cache = new RedisCache($redis);
RiakCache
---------
The ``RiakCache`` driver stores the cache data in Riak and depends on the
``riak`` extension which can be found `here <https://github.com/php-riak/php_riak>`_.
.. code-block:: php
$connection = new Riak\Connection('localhost', 8087);
$bucket = new Riak\Bucket($connection, 'bucket_name');
$cache = new RiakCache($bucket);
SQLite3Cache
------------
The ``SQLite3Cache`` driver stores the cache data in a SQLite database and depends on the
``sqlite3`` extension which can be found `here <http://php.net/manual/en/book.sqlite3.php>`_.
.. code-block:: php
$db = new SQLite3('mydatabase.db');
$cache = new SQLite3Cache($db, 'table_name');
VoidCache
---------
The ``VoidCache`` driver does not store the cache data anywhere. This can
be useful for test environments where you don't want to cache the data
anywhere but need to satisfy the dependency for the ``Doctrine\Common\Cache\Cache``
interface.
.. code-block:: php
$cache = new VoidCache();
WinCacheCache
-------------
The ``WinCacheCache`` driver uses the ``wincache_ucache_get``, ``wincache_ucache_exists``, etc. functions that come
with the ``wincache`` extension which can be found `here <http://php.net/manual/en/book.wincache.php>`_.
.. code-block:: php
$cache = new WinCacheCache();
XcacheCache
-----------
The ``XcacheCache`` driver uses functions that come with the ``xcache``
extension which can be found `here <https://xcache.lighttpd.net/>`_.
.. code-block:: php
$cache = new XcacheCache();
ZendDataCache
-------------
The ``ZendDataCache`` driver uses the Zend Data Cache API available in the Zend Platform.
.. code-block:: php
$cache = new ZendDataCache();
Custom Drivers
==============
If you want to implement your own cache driver, you just need to implement
the ``Doctrine\Common\Cache\Cache`` interface. Here is an example implementation
skeleton.
.. code-block:: php
use Doctrine\Common\Cache\Cache;
class MyCacheDriver implements Cache
{
public function fetch($id)
{
// fetch $id from the cache
}
public function contains($id)
{
// check if $id exists in the cache
}
public function save($id, $data, $lifeTime = 0)
{
// save $data under $id in the cache for $lifetime
}
public function delete($id)
{
// delete $id from the cache
}
public function getStats()
{
// get cache stats
}
}

View File

@@ -1,35 +1,21 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
use const PHP_VERSION_ID;
use function apc_cache_info;
use function apc_clear_cache;
use function apc_delete;
use function apc_exists;
use function apc_fetch;
use function apc_sma_info;
use function apc_store;
/**
* APC cache provider.
*
* @link www.doctrine-project.org
* @deprecated since version 1.6, use ApcuCache instead
* @since 2.0
* @author Benjamin Eberlei <kontakt@beberlei.de>
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
* @author Jonathan Wage <jonwage@gmail.com>
* @author Roman Borschel <roman@code-factory.org>
* @author David Abdemoulaie <dave@hobodave.com>
*/
class ApcCache extends CacheProvider
{
@@ -102,9 +88,9 @@ class ApcCache extends CacheProvider
// @TODO - Temporary fix @see https://github.com/krakjoe/apcu/pull/42
if (PHP_VERSION_ID >= 50500) {
$info['num_hits'] = isset($info['num_hits']) ? $info['num_hits'] : $info['nhits'];
$info['num_misses'] = isset($info['num_misses']) ? $info['num_misses'] : $info['nmisses'];
$info['start_time'] = isset($info['start_time']) ? $info['start_time'] : $info['stime'];
$info['num_hits'] = $info['num_hits'] ?? $info['nhits'];
$info['num_misses'] = $info['num_misses'] ?? $info['nmisses'];
$info['start_time'] = $info['start_time'] ?? $info['stime'];
}
return [

View File

@@ -1,30 +1,20 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
use function apcu_cache_info;
use function apcu_clear_cache;
use function apcu_delete;
use function apcu_exists;
use function apcu_fetch;
use function apcu_sma_info;
use function apcu_store;
use function count;
/**
* APCu cache provider.
*
* @link www.doctrine-project.org
* @since 1.6
* @author Kévin Dunglas <dunglas@gmail.com>
*/
class ApcuCache extends CacheProvider
{
@@ -68,7 +58,7 @@ class ApcuCache extends CacheProvider
{
$result = apcu_delete($keys);
return false !== $result && count($result) !== count($keys);
return $result !== false && count($result) !== count($keys);
}
/**

View File

@@ -1,55 +1,26 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
use function time;
/**
* Array cache driver.
*
* @link www.doctrine-project.org
* @since 2.0
* @author Benjamin Eberlei <kontakt@beberlei.de>
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
* @author Jonathan Wage <jonwage@gmail.com>
* @author Roman Borschel <roman@code-factory.org>
* @author David Abdemoulaie <dave@hobodave.com>
*/
class ArrayCache extends CacheProvider
{
/**
* @var array[] $data each element being a tuple of [$data, $expiration], where the expiration is int|bool
*/
/** @var array[] $data each element being a tuple of [$data, $expiration], where the expiration is int|bool */
private $data = [];
/**
* @var int
*/
/** @var int */
private $hitsCount = 0;
/**
* @var int
*/
/** @var int */
private $missesCount = 0;
/**
* @var int
*/
/** @var int */
private $upTime;
/**

View File

@@ -1,21 +1,4 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
@@ -23,27 +6,20 @@ namespace Doctrine\Common\Cache;
* Interface for cache drivers.
*
* @link www.doctrine-project.org
* @since 2.0
* @author Benjamin Eberlei <kontakt@beberlei.de>
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
* @author Jonathan Wage <jonwage@gmail.com>
* @author Roman Borschel <roman@code-factory.org>
* @author Fabio B. Silva <fabio.bat.silva@gmail.com>
* @author Kévin Dunglas <dunglas@gmail.com>
*/
interface Cache
{
const STATS_HITS = 'hits';
const STATS_MISSES = 'misses';
const STATS_UPTIME = 'uptime';
const STATS_MEMORY_USAGE = 'memory_usage';
const STATS_MEMORY_AVAILABLE = 'memory_available';
public const STATS_HITS = 'hits';
public const STATS_MISSES = 'misses';
public const STATS_UPTIME = 'uptime';
public const STATS_MEMORY_USAGE = 'memory_usage';
public const STATS_MEMORY_AVAILABLE = 'memory_available';
/**
* Only for backward compatibility (may be removed in next major release)
*
* @deprecated
*/
const STATS_MEMORY_AVAILIABLE = 'memory_available';
public const STATS_MEMORY_AVAILIABLE = 'memory_available';
/**
* Fetches an entry from the cache.
@@ -108,8 +84,6 @@ interface Cache
* - <b>memory_available</b>
* Memory allowed to use for storage.
*
* @since 2.2
*
* @return array|null An associative array with server's statistics if available, NULL otherwise.
*/
public function getStats();

View File

@@ -1,38 +1,19 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
use function array_combine;
use function array_key_exists;
use function array_map;
use function sprintf;
/**
* Base class for cache provider implementations.
*
* @since 2.2
* @author Benjamin Eberlei <kontakt@beberlei.de>
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
* @author Jonathan Wage <jonwage@gmail.com>
* @author Roman Borschel <roman@code-factory.org>
* @author Fabio B. Silva <fabio.bat.silva@gmail.com>
* @author Benoit Burnichon <bburnichon@gmail.com>
*/
abstract class CacheProvider implements Cache, FlushableCache, ClearableCache, MultiOperationCache
{
const DOCTRINE_NAMESPACE_CACHEKEY = 'DoctrineNamespaceCacheKey[%s]';
public const DOCTRINE_NAMESPACE_CACHEKEY = 'DoctrineNamespaceCacheKey[%s]';
/**
* The namespace to prefix all cache ids with.
@@ -44,7 +25,7 @@ abstract class CacheProvider implements Cache, FlushableCache, ClearableCache, M
/**
* The namespace version.
*
* @var integer|null
* @var int|null
*/
private $namespaceVersion;
@@ -96,9 +77,11 @@ abstract class CacheProvider implements Cache, FlushableCache, ClearableCache, M
// no internal array function supports this sort of mapping: needs to be iterative
// this filters and combines keys in one pass
foreach ($namespacedKeys as $requestedKey => $namespacedKey) {
if (isset($items[$namespacedKey]) || array_key_exists($namespacedKey, $items)) {
$foundItems[$requestedKey] = $items[$namespacedKey];
if (! isset($items[$namespacedKey]) && ! array_key_exists($namespacedKey, $items)) {
continue;
}
$foundItems[$requestedKey] = $items[$namespacedKey];
}
return $foundItems;
@@ -138,7 +121,7 @@ abstract class CacheProvider implements Cache, FlushableCache, ClearableCache, M
*/
public function deleteMultiple(array $keys)
{
return $this->doDeleteMultiple(array_map(array($this, 'getNamespacedId'), $keys));
return $this->doDeleteMultiple(array_map([$this, 'getNamespacedId'], $keys));
}
/**
@@ -191,15 +174,13 @@ abstract class CacheProvider implements Cache, FlushableCache, ClearableCache, M
*/
private function getNamespacedId(string $id) : string
{
$namespaceVersion = $this->getNamespaceVersion();
$namespaceVersion = $this->getNamespaceVersion();
return sprintf('%s[%s][%s]', $this->namespace, $id, $namespaceVersion);
}
/**
* Returns the namespace cache key.
*
* @return string
*/
private function getNamespaceCacheKey() : string
{
@@ -208,12 +189,10 @@ abstract class CacheProvider implements Cache, FlushableCache, ClearableCache, M
/**
* Returns the namespace version.
*
* @return integer
*/
private function getNamespaceVersion() : int
{
if (null !== $this->namespaceVersion) {
if ($this->namespaceVersion !== null) {
return $this->namespaceVersion;
}
@@ -234,9 +213,12 @@ abstract class CacheProvider implements Cache, FlushableCache, ClearableCache, M
$returnValues = [];
foreach ($keys as $key) {
if (false !== ($item = $this->doFetch($key)) || $this->doContains($key)) {
$returnValues[$key] = $item;
$item = $this->doFetch($key);
if ($item === false && ! $this->doContains($key)) {
continue;
}
$returnValues[$key] = $item;
}
return $returnValues;
@@ -263,9 +245,9 @@ abstract class CacheProvider implements Cache, FlushableCache, ClearableCache, M
/**
* Default implementation of doSaveMultiple. Each driver that supports multi-put should override it.
*
* @param array $keysAndValues Array of keys and values to save in cache
* @param int $lifetime The lifetime. If != 0, sets a specific lifetime for these
* cache entries (0 => infinite lifeTime).
* @param array $keysAndValues Array of keys and values to save in cache
* @param int $lifetime The lifetime. If != 0, sets a specific lifetime for these
* cache entries (0 => infinite lifeTime).
*
* @return bool TRUE if the operation was successful, FALSE if it wasn't.
*/
@@ -274,9 +256,11 @@ abstract class CacheProvider implements Cache, FlushableCache, ClearableCache, M
$success = true;
foreach ($keysAndValues as $key => $value) {
if (!$this->doSave($key, $value, $lifetime)) {
$success = false;
if ($this->doSave($key, $value, $lifetime)) {
continue;
}
$success = false;
}
return $success;
@@ -306,9 +290,11 @@ abstract class CacheProvider implements Cache, FlushableCache, ClearableCache, M
$success = true;
foreach ($keys as $key) {
if (! $this->doDelete($key)) {
$success = false;
if ($this->doDelete($key)) {
continue;
}
$success = false;
}
return $success;
@@ -333,8 +319,6 @@ abstract class CacheProvider implements Cache, FlushableCache, ClearableCache, M
/**
* Retrieves cached information from the data store.
*
* @since 2.2
*
* @return array|null An associative array with server's statistics if available, NULL otherwise.
*/
abstract protected function doGetStats();

View File

@@ -1,39 +1,20 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
use function array_values;
use function count;
use function iterator_to_array;
/**
* Cache provider that allows to easily chain multiple cache providers
*
* @author Michaël Gallego <mic.gallego@gmail.com>
*/
class ChainCache extends CacheProvider
{
/**
* @var CacheProvider[]
*/
/** @var CacheProvider[] */
private $cacheProviders = [];
/**
* Constructor
*
* @param CacheProvider[] $cacheProviders
*/
public function __construct($cacheProviders = [])
@@ -65,7 +46,7 @@ class ChainCache extends CacheProvider
$value = $cacheProvider->doFetch($id);
// We populate all the previous cache layers (that are assumed to be faster)
for ($subKey = $key - 1 ; $subKey >= 0 ; $subKey--) {
for ($subKey = $key - 1; $subKey >= 0; $subKey--) {
$this->cacheProviders[$subKey]->doSave($id, $value);
}
@@ -81,7 +62,7 @@ class ChainCache extends CacheProvider
*/
protected function doFetchMultiple(array $keys)
{
/* @var $traversedProviders CacheProvider[] */
/** @var CacheProvider[] $traversedProviders */
$traversedProviders = [];
$keysCount = count($keys);
$fetchedValues = [];

View File

@@ -1,21 +1,4 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
@@ -26,8 +9,6 @@ namespace Doctrine\Common\Cache;
* global "flushing", see {@see FlushableCache}.
*
* @link www.doctrine-project.org
* @since 1.4
* @author Adirelle <adirelle@gmail.com>
*/
interface ClearableCache
{

View File

@@ -0,0 +1,195 @@
<?php
declare(strict_types=1);
namespace Doctrine\Common\Cache;
use Couchbase\Bucket;
use Couchbase\Document;
use Couchbase\Exception;
use function phpversion;
use function serialize;
use function sprintf;
use function substr;
use function time;
use function unserialize;
use function version_compare;
/**
* Couchbase ^2.3.0 cache provider.
*/
final class CouchbaseBucketCache extends CacheProvider
{
private const MINIMUM_VERSION = '2.3.0';
private const KEY_NOT_FOUND = 13;
private const MAX_KEY_LENGTH = 250;
private const THIRTY_DAYS_IN_SECONDS = 2592000;
/** @var Bucket */
private $bucket;
public function __construct(Bucket $bucket)
{
if (version_compare(phpversion('couchbase'), self::MINIMUM_VERSION) < 0) {
// Manager is required to flush cache and pull stats.
throw new \RuntimeException(sprintf('ext-couchbase:^%s is required.', self::MINIMUM_VERSION));
}
$this->bucket = $bucket;
}
/**
* {@inheritdoc}
*/
protected function doFetch($id)
{
$id = $this->normalizeKey($id);
try {
$document = $this->bucket->get($id);
} catch (Exception $e) {
return false;
}
if ($document instanceof Document && $document->value !== false) {
return unserialize($document->value);
}
return false;
}
/**
* {@inheritdoc}
*/
protected function doContains($id)
{
$id = $this->normalizeKey($id);
try {
$document = $this->bucket->get($id);
} catch (Exception $e) {
return false;
}
if ($document instanceof Document) {
return ! $document->error;
}
return false;
}
/**
* {@inheritdoc}
*/
protected function doSave($id, $data, $lifeTime = 0)
{
$id = $this->normalizeKey($id);
$lifeTime = $this->normalizeExpiry($lifeTime);
try {
$encoded = serialize($data);
$document = $this->bucket->upsert($id, $encoded, [
'expiry' => (int) $lifeTime,
]);
} catch (Exception $e) {
return false;
}
if ($document instanceof Document) {
return ! $document->error;
}
return false;
}
/**
* {@inheritdoc}
*/
protected function doDelete($id)
{
$id = $this->normalizeKey($id);
try {
$document = $this->bucket->remove($id);
} catch (Exception $e) {
return $e->getCode() === self::KEY_NOT_FOUND;
}
if ($document instanceof Document) {
return ! $document->error;
}
return false;
}
/**
* {@inheritdoc}
*/
protected function doFlush()
{
$manager = $this->bucket->manager();
// Flush does not return with success or failure, and must be enabled per bucket on the server.
// Store a marker item so that we will know if it was successful.
$this->doSave(__METHOD__, true, 60);
$manager->flush();
if ($this->doContains(__METHOD__)) {
$this->doDelete(__METHOD__);
return false;
}
return true;
}
/**
* {@inheritdoc}
*/
protected function doGetStats()
{
$manager = $this->bucket->manager();
$stats = $manager->info();
$nodes = $stats['nodes'];
$node = $nodes[0];
$interestingStats = $node['interestingStats'];
return [
Cache::STATS_HITS => $interestingStats['get_hits'],
Cache::STATS_MISSES => $interestingStats['cmd_get'] - $interestingStats['get_hits'],
Cache::STATS_UPTIME => $node['uptime'],
Cache::STATS_MEMORY_USAGE => $interestingStats['mem_used'],
Cache::STATS_MEMORY_AVAILABLE => $node['memoryFree'],
];
}
private function normalizeKey(string $id) : string
{
$normalized = substr($id, 0, self::MAX_KEY_LENGTH);
if ($normalized === false) {
return $id;
}
return $normalized;
}
/**
* Expiry treated as a unix timestamp instead of an offset if expiry is greater than 30 days.
* @src https://developer.couchbase.com/documentation/server/4.1/developer-guide/expiry.html
*/
private function normalizeExpiry(int $expiry) : int
{
if ($expiry > self::THIRTY_DAYS_IN_SECONDS) {
return time() + $expiry;
}
return $expiry;
}
}

View File

@@ -1,45 +1,26 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
use \Couchbase;
use Couchbase;
use function explode;
use function time;
/**
* Couchbase cache provider.
*
* @link www.doctrine-project.org
* @since 2.4
* @author Michael Nitschinger <michael@nitschinger.at>
* @deprecated Couchbase SDK 1.x is now deprecated. Use \Doctrine\Common\Cache\CouchbaseBucketCache instead.
* https://developer.couchbase.com/documentation/server/current/sdk/php/compatibility-versions-features.html
*/
class CouchbaseCache extends CacheProvider
{
/**
* @var Couchbase|null
*/
/** @var Couchbase|null */
private $couchbase;
/**
* Sets the Couchbase instance to use.
*
* @param Couchbase $couchbase
*
* @return void
*/
public function setCouchbase(Couchbase $couchbase)
@@ -70,7 +51,7 @@ class CouchbaseCache extends CacheProvider
*/
protected function doContains($id)
{
return (null !== $this->couchbase->get($id));
return $this->couchbase->get($id) !== null;
}
/**
@@ -107,8 +88,8 @@ class CouchbaseCache extends CacheProvider
{
$stats = $this->couchbase->getStats();
$servers = $this->couchbase->getServers();
$server = explode(":", $servers[0]);
$key = $server[0] . ":" . "11210";
$server = explode(':', $servers[0]);
$key = $server[0] . ':11210';
$stats = $stats[$key];
return [
Cache::STATS_HITS => $stats['get_hits'],

View File

@@ -2,23 +2,6 @@
declare(strict_types=1);
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
@@ -28,6 +11,9 @@ use MongoDB\Collection;
use MongoDB\Database;
use MongoDB\Driver\Exception\Exception;
use MongoDB\Model\BSONDocument;
use function serialize;
use function time;
use function unserialize;
/**
* MongoDB cache provider for ext-mongodb
@@ -36,24 +22,16 @@ use MongoDB\Model\BSONDocument;
*/
class ExtMongoDBCache extends CacheProvider
{
/**
* @var Database
*/
/** @var Database */
private $database;
/**
* @var Collection
*/
/** @var Collection */
private $collection;
/**
* @var bool
*/
/** @var bool */
private $expirationIndexCreated = false;
/**
* Constructor.
*
* This provider will default to the write concern and read preference
* options set on the Database instance (or inherited from MongoDB or
* Client). Using an unacknowledged write concern (< 1) may make the return
@@ -62,13 +40,12 @@ class ExtMongoDBCache extends CacheProvider
*
* @see http://www.php.net/manual/en/mongo.readpreferences.php
* @see http://www.php.net/manual/en/mongo.writeconcerns.php
* @param Collection $collection
*/
public function __construct(Collection $collection)
{
// Ensure there is no typemap set - we want to use our own
$this->collection = $collection->withOptions(['typeMap' => null]);
$this->database = new Database($collection->getManager(), $collection->getDatabaseName());
$this->database = new Database($collection->getManager(), $collection->getDatabaseName());
}
/**
@@ -119,10 +96,12 @@ class ExtMongoDBCache extends CacheProvider
try {
$this->collection->updateOne(
['_id' => $id],
['$set' => [
MongoDBCache::EXPIRATION_FIELD => ($lifeTime > 0 ? new UTCDateTime((time() + $lifeTime) * 1000): null),
MongoDBCache::DATA_FIELD => new Binary(serialize($data), Binary::TYPE_GENERIC),
]],
[
'$set' => [
MongoDBCache::EXPIRATION_FIELD => ($lifeTime > 0 ? new UTCDateTime((time() + $lifeTime) * 1000): null),
MongoDBCache::DATA_FIELD => new Binary(serialize($data), Binary::TYPE_GENERIC),
],
],
['upsert' => true]
);
} catch (Exception $e) {
@@ -166,7 +145,7 @@ class ExtMongoDBCache extends CacheProvider
*/
protected function doGetStats()
{
$uptime = null;
$uptime = null;
$memoryUsage = null;
try {
@@ -177,12 +156,12 @@ class ExtMongoDBCache extends CacheProvider
'recordStats' => 0,
'repl' => 0,
])->toArray()[0];
$uptime = $serverStatus['uptime'] ?? null;
$uptime = $serverStatus['uptime'] ?? null;
} catch (Exception $e) {
}
try {
$collStats = $this->database->command(['collStats' => $this->collection->getCollectionName()])->toArray()[0];
$collStats = $this->database->command(['collStats' => $this->collection->getCollectionName()])->toArray()[0];
$memoryUsage = $collStats['size'] ?? null;
} catch (Exception $e) {
}
@@ -198,19 +177,15 @@ class ExtMongoDBCache extends CacheProvider
/**
* Check if the document is expired.
*
* @param BSONDocument $document
*
* @return bool
*/
private function isExpired(BSONDocument $document): bool
private function isExpired(BSONDocument $document) : bool
{
return isset($document[MongoDBCache::EXPIRATION_FIELD]) &&
$document[MongoDBCache::EXPIRATION_FIELD] instanceof UTCDateTime &&
$document[MongoDBCache::EXPIRATION_FIELD]->toDateTime() < new \DateTime();
}
private function createExpirationIndex(): void
private function createExpirationIndex() : void
{
if ($this->expirationIndexCreated) {
return;

View File

@@ -1,30 +1,34 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
use const DIRECTORY_SEPARATOR;
use const PATHINFO_DIRNAME;
use function bin2hex;
use function chmod;
use function defined;
use function disk_free_space;
use function file_exists;
use function file_put_contents;
use function gettype;
use function hash;
use function is_dir;
use function is_int;
use function is_writable;
use function mkdir;
use function pathinfo;
use function realpath;
use function rename;
use function rmdir;
use function sprintf;
use function strlen;
use function strrpos;
use function substr;
use function tempnam;
use function unlink;
/**
* Base file cache driver.
*
* @since 2.3
* @author Fabio B. Silva <fabio.bat.silva@gmail.com>
* @author Tobias Schultze <http://tobion.de>
*/
abstract class FileCache extends CacheProvider
{
@@ -42,29 +46,19 @@ abstract class FileCache extends CacheProvider
*/
private $extension;
/**
* @var int
*/
/** @var int */
private $umask;
/**
* @var int
*/
/** @var int */
private $directoryStringLength;
/**
* @var int
*/
/** @var int */
private $extensionStringLength;
/**
* @var bool
*/
/** @var bool */
private $isRunningOnWindows;
/**
* Constructor.
*
* @param string $directory The cache directory.
* @param string $extension The cache file extension.
*
@@ -73,7 +67,7 @@ abstract class FileCache extends CacheProvider
public function __construct($directory, $extension = '', $umask = 0002)
{
// YES, this needs to be *before* createPathIfNeeded()
if ( ! is_int($umask)) {
if (! is_int($umask)) {
throw new \InvalidArgumentException(sprintf(
'The umask parameter is required to be integer, was: %s',
gettype($umask)
@@ -81,14 +75,14 @@ abstract class FileCache extends CacheProvider
}
$this->umask = $umask;
if ( ! $this->createPathIfNeeded($directory)) {
if (! $this->createPathIfNeeded($directory)) {
throw new \InvalidArgumentException(sprintf(
'The directory "%s" does not exist and could not be created.',
$directory
));
}
if ( ! is_writable($directory)) {
if (! is_writable($directory)) {
throw new \InvalidArgumentException(sprintf(
'The directory "%s" is not writable.',
$directory
@@ -134,8 +128,7 @@ abstract class FileCache extends CacheProvider
$hash = hash('sha256', $id);
// This ensures that the filename is unique and that there are no invalid chars in it.
if (
'' === $id
if ($id === ''
|| ((strlen($id) * 2 + $this->extensionStringLength) > 255)
|| ($this->isRunningOnWindows && ($this->directoryStringLength + 4 + strlen($id) * 2 + $this->extensionStringLength) > 258)
) {
@@ -195,9 +188,11 @@ abstract class FileCache extends CacheProvider
{
$usage = 0;
foreach ($this->getIterator() as $name => $file) {
if (! $file->isDir() && $this->isFilenameEndingWithExtension($name)) {
$usage += $file->getSize();
if ($file->isDir() || ! $this->isFilenameEndingWithExtension($name)) {
continue;
}
$usage += $file->getSize();
}
$free = disk_free_space($this->directory);
@@ -214,13 +209,12 @@ abstract class FileCache extends CacheProvider
/**
* Create path if needed.
*
* @param string $path
* @return bool TRUE on success or if path already exists, FALSE if path cannot be created.
*/
private function createPathIfNeeded(string $path) : bool
{
if ( ! is_dir($path)) {
if (false === @mkdir($path, 0777 & (~$this->umask), true) && !is_dir($path)) {
if (! is_dir($path)) {
if (@mkdir($path, 0777 & (~$this->umask), true) === false && ! is_dir($path)) {
return false;
}
}
@@ -240,11 +234,11 @@ abstract class FileCache extends CacheProvider
{
$filepath = pathinfo($filename, PATHINFO_DIRNAME);
if ( ! $this->createPathIfNeeded($filepath)) {
if (! $this->createPathIfNeeded($filepath)) {
return false;
}
if ( ! is_writable($filepath)) {
if (! is_writable($filepath)) {
return false;
}
@@ -263,9 +257,6 @@ abstract class FileCache extends CacheProvider
return false;
}
/**
* @return \Iterator
*/
private function getIterator() : \Iterator
{
return new \RecursiveIteratorIterator(
@@ -276,12 +267,10 @@ abstract class FileCache extends CacheProvider
/**
* @param string $name The filename
*
* @return bool
*/
private function isFilenameEndingWithExtension(string $name) : bool
{
return '' === $this->extension
return $this->extension === ''
|| strrpos($name, $this->extension) === (strlen($name) - $this->extensionStringLength);
}
}

View File

@@ -1,33 +1,22 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
use const PHP_EOL;
use function fclose;
use function fgets;
use function fopen;
use function is_file;
use function serialize;
use function time;
use function unserialize;
/**
* Filesystem cache driver.
*
* @since 2.3
* @author Fabio B. Silva <fabio.bat.silva@gmail.com>
*/
class FilesystemCache extends FileCache
{
const EXTENSION = '.doctrinecache.data';
public const EXTENSION = '.doctrinecache.data';
/**
* {@inheritdoc}
@@ -46,13 +35,14 @@ class FilesystemCache extends FileCache
$lifetime = -1;
$filename = $this->getFilename($id);
if ( ! is_file($filename)) {
if (! is_file($filename)) {
return false;
}
$resource = fopen($filename, "r");
$resource = fopen($filename, 'r');
$line = fgets($resource);
if (false !== ($line = fgets($resource))) {
if ($line !== false) {
$lifetime = (int) $line;
}
@@ -62,7 +52,7 @@ class FilesystemCache extends FileCache
return false;
}
while (false !== ($line = fgets($resource))) {
while (($line = fgets($resource)) !== false) {
$data .= $line;
}
@@ -79,13 +69,14 @@ class FilesystemCache extends FileCache
$lifetime = -1;
$filename = $this->getFilename($id);
if ( ! is_file($filename)) {
if (! is_file($filename)) {
return false;
}
$resource = fopen($filename, "r");
$resource = fopen($filename, 'r');
$line = fgets($resource);
if (false !== ($line = fgets($resource))) {
if ($line !== false) {
$lifetime = (int) $line;
}
@@ -103,8 +94,8 @@ class FilesystemCache extends FileCache
$lifeTime = time() + $lifeTime;
}
$data = serialize($data);
$filename = $this->getFilename($id);
$data = serialize($data);
$filename = $this->getFilename($id);
return $this->writeFile($filename, $lifeTime . PHP_EOL . $data);
}

View File

@@ -1,21 +1,4 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
@@ -23,8 +6,6 @@ namespace Doctrine\Common\Cache;
* Interface for cache that can be flushed.
*
* @link www.doctrine-project.org
* @since 1.4
* @author Adirelle <adirelle@gmail.com>
*/
interface FlushableCache
{

View File

@@ -1,21 +1,4 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
@@ -23,28 +6,26 @@ use MongoBinData;
use MongoCollection;
use MongoCursorException;
use MongoDate;
use const E_USER_DEPRECATED;
use function serialize;
use function time;
use function trigger_error;
use function unserialize;
/**
* MongoDB cache provider.
*
* @author Jeremy Mikola <jmikola@gmail.com>
* @internal Do not use - will be removed in 2.0. Use MongoDBCache instead
*/
class LegacyMongoDBCache extends CacheProvider
{
/**
* @var MongoCollection
*/
/** @var MongoCollection */
private $collection;
/**
* @var bool
*/
/** @var bool */
private $expirationIndexCreated = false;
/**
* Constructor.
*
* This provider will default to the write concern and read preference
* options set on the MongoCollection instance (or inherited from MongoDB or
* MongoClient). Using an unacknowledged write concern (< 1) may make the
@@ -53,7 +34,6 @@ class LegacyMongoDBCache extends CacheProvider
*
* @see http://www.php.net/manual/en/mongo.readpreferences.php
* @see http://www.php.net/manual/en/mongo.writeconcerns.php
* @param MongoCollection $collection
*/
public function __construct(MongoCollection $collection)
{
@@ -109,10 +89,12 @@ class LegacyMongoDBCache extends CacheProvider
try {
$result = $this->collection->update(
['_id' => $id],
['$set' => [
MongoDBCache::EXPIRATION_FIELD => ($lifeTime > 0 ? new MongoDate(time() + $lifeTime) : null),
MongoDBCache::DATA_FIELD => new MongoBinData(serialize($data), MongoBinData::BYTE_ARRAY),
]],
[
'$set' => [
MongoDBCache::EXPIRATION_FIELD => ($lifeTime > 0 ? new MongoDate(time() + $lifeTime) : null),
MongoDBCache::DATA_FIELD => new MongoBinData(serialize($data), MongoBinData::BYTE_ARRAY),
],
],
['upsert' => true, 'multiple' => false]
);
} catch (MongoCursorException $e) {
@@ -171,8 +153,6 @@ class LegacyMongoDBCache extends CacheProvider
* Check if the document is expired.
*
* @param array $document
*
* @return bool
*/
private function isExpired(array $document) : bool
{
@@ -182,7 +162,7 @@ class LegacyMongoDBCache extends CacheProvider
}
private function createExpirationIndex(): void
private function createExpirationIndex() : void
{
if ($this->expirationIndexCreated) {
return;

View File

@@ -1,49 +1,25 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
use \Memcache;
use Memcache;
use function time;
/**
* Memcache cache provider.
*
* @link www.doctrine-project.org
* @since 2.0
* @author Benjamin Eberlei <kontakt@beberlei.de>
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
* @author Jonathan Wage <jonwage@gmail.com>
* @author Roman Borschel <roman@code-factory.org>
* @author David Abdemoulaie <dave@hobodave.com>
*
* @deprecated
*/
class MemcacheCache extends CacheProvider
{
/**
* @var Memcache|null
*/
/** @var Memcache|null */
private $memcache;
/**
* Sets the memcache instance to use.
*
* @param Memcache $memcache
*
* @return void
*/
public function setMemcache(Memcache $memcache)
@@ -76,9 +52,9 @@ class MemcacheCache extends CacheProvider
{
$flags = null;
$this->memcache->get($id, $flags);
//if memcache has changed the value of "flags", it means the value exists
return ($flags !== null);
return $flags !== null;
}
/**

View File

@@ -1,49 +1,23 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
use \Memcached;
use Memcached;
use function time;
/**
* Memcached cache provider.
*
* @link www.doctrine-project.org
* @since 2.2
* @author Benjamin Eberlei <kontakt@beberlei.de>
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
* @author Jonathan Wage <jonwage@gmail.com>
* @author Roman Borschel <roman@code-factory.org>
* @author David Abdemoulaie <dave@hobodave.com>
*/
class MemcachedCache extends CacheProvider
{
/**
* @var Memcached|null
*/
/** @var Memcached|null */
private $memcached;
/**
* Sets the memcache instance to use.
*
* @param Memcached $memcached
*
* @return void
*/
public function setMemcached(Memcached $memcached)

View File

@@ -1,39 +1,21 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
use MongoCollection;
use MongoDB\Collection;
use const E_USER_DEPRECATED;
use function trigger_error;
/**
* MongoDB cache provider.
*
* @since 1.1
* @author Jeremy Mikola <jmikola@gmail.com>
*/
class MongoDBCache extends CacheProvider
{
/**
* The data field will store the serialized PHP value.
*/
const DATA_FIELD = 'd';
public const DATA_FIELD = 'd';
/**
* The expiration field will store a MongoDate value indicating when the
@@ -50,16 +32,12 @@ class MongoDBCache extends CacheProvider
*
* @see http://docs.mongodb.org/manual/tutorial/expire-data/
*/
const EXPIRATION_FIELD = 'e';
public const EXPIRATION_FIELD = 'e';
/**
* @var CacheProvider
*/
/** @var CacheProvider */
private $provider;
/**
* Constructor.
*
* This provider will default to the write concern and read preference
* options set on the collection instance (or inherited from MongoDB or
* MongoClient). Using an unacknowledged write concern (< 1) may make the

View File

@@ -1,21 +1,4 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
@@ -23,9 +6,6 @@ namespace Doctrine\Common\Cache;
* Interface for cache drivers that allows to put many items at once.
*
* @link www.doctrine-project.org
* @since 1.7
* @author Benoit Burnichon <bburnichon@gmail.com>
*
* @deprecated
*/
interface MultiDeleteCache
@@ -37,5 +17,5 @@ interface MultiDeleteCache
*
* @return bool TRUE if the operation was successful, FALSE if it wasn't.
*/
function deleteMultiple(array $keys);
public function deleteMultiple(array $keys);
}

View File

@@ -1,21 +1,4 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
@@ -23,9 +6,6 @@ namespace Doctrine\Common\Cache;
* Interface for cache drivers that allows to get many items at once.
*
* @link www.doctrine-project.org
* @since 1.4
* @author Asmir Mustafic <goetas@gmail.com>
*
* @deprecated
*/
interface MultiGetCache
@@ -37,5 +17,5 @@ interface MultiGetCache
* @return mixed[] Array of retrieved values, indexed by the specified keys.
* Values that couldn't be retrieved are not contained in this array.
*/
function fetchMultiple(array $keys);
public function fetchMultiple(array $keys);
}

View File

@@ -1,21 +1,4 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
@@ -23,8 +6,6 @@ namespace Doctrine\Common\Cache;
* Interface for cache drivers that supports multiple items manipulation.
*
* @link www.doctrine-project.org
* @since 1.7
* @author Luís Cobucci <lcobucci@gmail.com>
*/
interface MultiOperationCache extends MultiGetCache, MultiDeleteCache, MultiPutCache
{

View File

@@ -1,21 +1,4 @@
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the MIT license. For more information, see
* <http://www.doctrine-project.org>.
*/
namespace Doctrine\Common\Cache;
@@ -23,9 +6,6 @@ namespace Doctrine\Common\Cache;
* Interface for cache drivers that allows to put many items at once.
*
* @link www.doctrine-project.org
* @since 1.6
* @author Daniel Gorgan <danut007ro@gmail.com>
*
* @deprecated
*/
interface MultiPutCache
@@ -33,11 +13,11 @@ interface MultiPutCache
/**
* Returns a boolean value indicating if the operation succeeded.
*
* @param array $keysAndValues Array of keys and values to save in cache
* @param int $lifetime The lifetime. If != 0, sets a specific lifetime for these
* cache entries (0 => infinite lifeTime).
* @param array $keysAndValues Array of keys and values to save in cache
* @param int $lifetime The lifetime. If != 0, sets a specific lifetime for these
* cache entries (0 => infinite lifeTime).
*
* @return bool TRUE if the operation was successful, FALSE if it wasn't.
*/
function saveMultiple(array $keysAndValues, $lifetime = 0);
public function saveMultiple(array $keysAndValues, $lifetime = 0);
}

Some files were not shown because too many files have changed in this diff Show More