From 4667769dc36a885a79efc9cecb74d5b75f342ac5 Mon Sep 17 00:00:00 2001 From: Nikolaos Dimopoulos Date: Sun, 8 Dec 2019 17:43:11 -0500 Subject: [PATCH 1/5] [#14602] - Reworked interface and definitions; Adjusted tests --- phalcon/Http/Cookie.zep | 1 + phalcon/Http/{ => Cookie}/CookieInterface.zep | 2 +- phalcon/Http/Response/Cookies.zep | 2 +- phalcon/Http/Response/CookiesInterface.zep | 2 +- tests/unit/Http/Response/CookiesCest.php | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) rename phalcon/Http/{ => Cookie}/CookieInterface.zep (98%) diff --git a/phalcon/Http/Cookie.zep b/phalcon/Http/Cookie.zep index 6e5c931edd2..a814a93d3ad 100644 --- a/phalcon/Http/Cookie.zep +++ b/phalcon/Http/Cookie.zep @@ -16,6 +16,7 @@ use Phalcon\Crypt\CryptInterface; use Phalcon\Crypt\Mismatch; use Phalcon\Filter\FilterInterface; use Phalcon\Http\Response\Exception; +use Phalcon\Http\Cookie\CookieInterface; use Phalcon\Http\Cookie\Exception as CookieException; use Phalcon\Session\ManagerInterface as SessionManagerInterface; diff --git a/phalcon/Http/CookieInterface.zep b/phalcon/Http/Cookie/CookieInterface.zep similarity index 98% rename from phalcon/Http/CookieInterface.zep rename to phalcon/Http/Cookie/CookieInterface.zep index 501a562407b..15103f52580 100644 --- a/phalcon/Http/CookieInterface.zep +++ b/phalcon/Http/Cookie/CookieInterface.zep @@ -8,7 +8,7 @@ * file that was distributed with this source code. */ -namespace Phalcon\Http; +namespace Phalcon\Http\Cookie; /** * Interface for Phalcon\Http\Cookie diff --git a/phalcon/Http/Response/Cookies.zep b/phalcon/Http/Response/Cookies.zep index 75053625b0e..59d2170d605 100644 --- a/phalcon/Http/Response/Cookies.zep +++ b/phalcon/Http/Response/Cookies.zep @@ -12,8 +12,8 @@ namespace Phalcon\Http\Response; use Phalcon\Di\DiInterface; use Phalcon\Di\AbstractInjectionAware; -use Phalcon\Http\CookieInterface; use Phalcon\Http\Cookie\Exception; +use Phalcon\Http\Cookie\CookieInterface; /** * Phalcon\Http\Response\Cookies diff --git a/phalcon/Http/Response/CookiesInterface.zep b/phalcon/Http/Response/CookiesInterface.zep index 6992ba9ef4f..4894c0c1c61 100644 --- a/phalcon/Http/Response/CookiesInterface.zep +++ b/phalcon/Http/Response/CookiesInterface.zep @@ -10,7 +10,7 @@ namespace Phalcon\Http\Response; -use Phalcon\Http\CookieInterface; +use Phalcon\Http\Cookie\CookieInterface; /** * Phalcon\Http\Response\CookiesInterface diff --git a/tests/unit/Http/Response/CookiesCest.php b/tests/unit/Http/Response/CookiesCest.php index b20b3cec32e..844e802027c 100644 --- a/tests/unit/Http/Response/CookiesCest.php +++ b/tests/unit/Http/Response/CookiesCest.php @@ -4,7 +4,7 @@ use Phalcon\Di; use Phalcon\Http\Cookie; -use Phalcon\Http\CookieInterface; +use Phalcon\Http\Cookie\CookieInterface; use Phalcon\Http\Response; use Phalcon\Http\Response\Cookies; use Phalcon\Session\Adapter\Stream as SessionFiles; From 834f011e5fb701b1247cd54d6172d8a859f67ddf Mon Sep 17 00:00:00 2001 From: Nikolaos Dimopoulos Date: Sun, 8 Dec 2019 17:45:17 -0500 Subject: [PATCH 2/5] [#14602] - Updated changelog --- CHANGELOG-4.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG-4.0.md b/CHANGELOG-4.0.md index 3a537d98a0b..81cd07827f1 100644 --- a/CHANGELOG-4.0.md +++ b/CHANGELOG-4.0.md @@ -7,6 +7,7 @@ ## Changed - Changed `Phalcon\Mvc\Router\Annotations` to use `converters` instead of `conversors` [#14532](https://github.com/phalcon/cphalcon/issues/14532) - Changed `Phalcon\Di::setRaw` to `Phalcon\Di::setService` to align more with the use of the method [#14555](https://github.com/phalcon/cphalcon/issues/14555) +- Changed `Phalcon\Http\CookieInterface` to `Phalcon\Http\Cookie\CookieInterface` to avoid confusion [#14602](https://github.com/phalcon/cphalcon/issues/14602) ## Fixed - Fixed `PhalconMvc\Model` to ignore internal setters if properties have the same name as the setter [#14538](https://github.com/phalcon/cphalcon/issues/14538) @@ -37,6 +38,7 @@ - `Phalcon/Translate/TranslateFactory` - `Phalcon/Validation/ValidatorFactory` - Fixed `Phalcon\Mvc\Model::cloneResultMap` to cast integers when fields are `TYPE_BIGINTEGER`, `TYPE_INTEGER`, `TYPE_MEDIUMINTEGER`, `TYPE_SMALLINTEGER`, `TYPE_TINYINTEGER` [#14584](https://github.com/phalcon/cphalcon/issues/14584) +- Fixed `Phalcon\Http\Response::setCookies` to use the correct interface [#14602](https://github.com/phalcon/cphalcon/issues/14602) # [4.0.0-rc.r3](https://github.com/phalcon/cphalcon/releases/tag/v4.0.0-rc.3) (2019-11-16) ## Added From 4d644713f3d70f3efbcc9d827c6bf47cad10b109 Mon Sep 17 00:00:00 2001 From: Nikolaos Dimopoulos Date: Sun, 8 Dec 2019 18:36:38 -0500 Subject: [PATCH 3/5] [#14602] - Removed obsolete files - corrected test --- README.md | 21 +-- ext/phalcon/http/cookieinterface.zep.c | 122 ------------- ext/phalcon/http/cookieinterface.zep.h | 166 ------------------ .../unit/Http/Response/GetSetCookiesCest.php | 18 +- 4 files changed, 22 insertions(+), 305 deletions(-) delete mode 100644 ext/phalcon/http/cookieinterface.zep.c delete mode 100644 ext/phalcon/http/cookieinterface.zep.h diff --git a/README.md b/README.md index 8acc4de4e25..e36f2a0200e 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,14 @@ # Phalcon Framework -[![Discord](https://img.shields.io/discord/310910488152375297?label=Discord&logo=discord&style=for-the-badge)](http://phalcon.link/discord) -[![Build Status](https://img.shields.io/travis/phalcon/cphalcon?logo=travis&style=for-the-badge)](https://travis-ci.org/phalcon/cphalcon) -[![Windows Build](https://img.shields.io/appveyor/ci/sergeyklay/cphalcon?logo=appveyor&style=for-the-badge)](https://ci.appveyor.com/project/sergeyklay/cphalcon/branch/master) - -[![Phalcon Backers](https://img.shields.io/badge/phalcon-backers-99ddc0.svg?&style=for-the-badge&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc3RTA0NTM1MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc3RTA0NTM2MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzdFMDQ1MzMwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzdFMDQ1MzQwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mTnOmAAACyklEQVR42nxSyU8TcRj9fvObaQsMhS5UW8ACUkG2sEqiLCGRi0S2gxoPGmP8B4xHa6IHPRg0kZh4ksQgIhE5CCYmKC4NrTExlgqhbLULDJ1pZWmhnbYz4wBe9SUv3+W9vOR9DzXU1gEmSbh67zpYqspoVZLoJABeAiBBAgn2IIkCiJIIlKyb8y7DpcZOIBIpsSce3Wl9OzgG/s2gfkdM3JQkNCbrNfAfEPqe1oAqXTngcfx88bn/1VEmFFyLkamzctaknFj+T6OhrZHJv3w6TBu1F75OfHwzZO1X2O3TsSjwtZRCOSVruhAgINABkcw9YM+X79tpKVGT21beTpv0FDv3y+x656CWF5cgS6/JMOblnttN8vaYJKwIsoHb+A21+aWAuzraoMJc5Eqy0QrBkFaibSyWe0EQ+OYGx/gUaHValDBpDCNzM8POECuuMwHorDwJiBEZ4BM8RDaTeU7nzHBY2j0VouLgda9AaNYL8dUNaO8949/JwSVcNBLjI3EYuHILcF1pHTRVN4GB1m67JXZKBOl4UbbRaCksRqYaCyIrD0GGLotuMJfVL6z7TDwA01PVvIkZhgGO5cA974bx9xObId3u8w2eP+LfYqu0RDpWCwrkm18Jp0tkQndY3xJkgue7alofEySB4fXoKDzqe4jXFj1qTbH5NkK4u7m4WlmYaUAL4/Znk31DNT8mp08UENpjgRHb3b1WSZGmQJFGglKvxpaOlhvupzZrc1ktcLqN7Q+2T4LXv5CuUinzF2fdq+sPngjsWnBw31hvvQjyngDotOSS3eniHR7B0NuNbb45QsSSFacghSlyjWNY4JigHKLa/yPJBzmIyAQVJUUDvnljgfG+Vq8vo7ZUFlpBX4t5QlZMYR+SiIPJSAf7JXfCEQj7w0BSCsgQVV6WW72jlqiCvJwCPO1azI7x8SVamQnEX4Moivv3jwADAA9sObdCbqMjAAAAAElFTkSuQmCC)](https://github.com/phalcon/cphalcon/blob/master/BACKERS.md) -[![OpenCollective](https://img.shields.io/opencollective/backers/phalcon?style=for-the-badge&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc3RTA0NTM1MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc3RTA0NTM2MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzdFMDQ1MzMwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzdFMDQ1MzQwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mTnOmAAACyklEQVR42nxSyU8TcRj9fvObaQsMhS5UW8ACUkG2sEqiLCGRi0S2gxoPGmP8B4xHa6IHPRg0kZh4ksQgIhE5CCYmKC4NrTExlgqhbLULDJ1pZWmhnbYz4wBe9SUv3+W9vOR9DzXU1gEmSbh67zpYqspoVZLoJABeAiBBAgn2IIkCiJIIlKyb8y7DpcZOIBIpsSce3Wl9OzgG/s2gfkdM3JQkNCbrNfAfEPqe1oAqXTngcfx88bn/1VEmFFyLkamzctaknFj+T6OhrZHJv3w6TBu1F75OfHwzZO1X2O3TsSjwtZRCOSVruhAgINABkcw9YM+X79tpKVGT21beTpv0FDv3y+x656CWF5cgS6/JMOblnttN8vaYJKwIsoHb+A21+aWAuzraoMJc5Eqy0QrBkFaibSyWe0EQ+OYGx/gUaHValDBpDCNzM8POECuuMwHorDwJiBEZ4BM8RDaTeU7nzHBY2j0VouLgda9AaNYL8dUNaO8949/JwSVcNBLjI3EYuHILcF1pHTRVN4GB1m67JXZKBOl4UbbRaCksRqYaCyIrD0GGLotuMJfVL6z7TDwA01PVvIkZhgGO5cA974bx9xObId3u8w2eP+LfYqu0RDpWCwrkm18Jp0tkQndY3xJkgue7alofEySB4fXoKDzqe4jXFj1qTbH5NkK4u7m4WlmYaUAL4/Znk31DNT8mp08UENpjgRHb3b1WSZGmQJFGglKvxpaOlhvupzZrc1ktcLqN7Q+2T4LXv5CuUinzF2fdq+sPngjsWnBw31hvvQjyngDotOSS3eniHR7B0NuNbb45QsSSFacghSlyjWNY4JigHKLa/yPJBzmIyAQVJUUDvnljgfG+Vq8vo7ZUFlpBX4t5QlZMYR+SiIPJSAf7JXfCEQj7w0BSCsgQVV6WW72jlqiCvJwCPO1azI7x8SVamQnEX4Moivv3jwADAA9sObdCbqMjAAAAAElFTkSuQmCC)](#backers) -[![OpenCollective](https://img.shields.io/opencollective/sponsors/phalcon?style=for-the-badge&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc3RTA0NTM1MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc3RTA0NTM2MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzdFMDQ1MzMwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzdFMDQ1MzQwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mTnOmAAACyklEQVR42nxSyU8TcRj9fvObaQsMhS5UW8ACUkG2sEqiLCGRi0S2gxoPGmP8B4xHa6IHPRg0kZh4ksQgIhE5CCYmKC4NrTExlgqhbLULDJ1pZWmhnbYz4wBe9SUv3+W9vOR9DzXU1gEmSbh67zpYqspoVZLoJABeAiBBAgn2IIkCiJIIlKyb8y7DpcZOIBIpsSce3Wl9OzgG/s2gfkdM3JQkNCbrNfAfEPqe1oAqXTngcfx88bn/1VEmFFyLkamzctaknFj+T6OhrZHJv3w6TBu1F75OfHwzZO1X2O3TsSjwtZRCOSVruhAgINABkcw9YM+X79tpKVGT21beTpv0FDv3y+x656CWF5cgS6/JMOblnttN8vaYJKwIsoHb+A21+aWAuzraoMJc5Eqy0QrBkFaibSyWe0EQ+OYGx/gUaHValDBpDCNzM8POECuuMwHorDwJiBEZ4BM8RDaTeU7nzHBY2j0VouLgda9AaNYL8dUNaO8949/JwSVcNBLjI3EYuHILcF1pHTRVN4GB1m67JXZKBOl4UbbRaCksRqYaCyIrD0GGLotuMJfVL6z7TDwA01PVvIkZhgGO5cA974bx9xObId3u8w2eP+LfYqu0RDpWCwrkm18Jp0tkQndY3xJkgue7alofEySB4fXoKDzqe4jXFj1qTbH5NkK4u7m4WlmYaUAL4/Znk31DNT8mp08UENpjgRHb3b1WSZGmQJFGglKvxpaOlhvupzZrc1ktcLqN7Q+2T4LXv5CuUinzF2fdq+sPngjsWnBw31hvvQjyngDotOSS3eniHR7B0NuNbb45QsSSFacghSlyjWNY4JigHKLa/yPJBzmIyAQVJUUDvnljgfG+Vq8vo7ZUFlpBX4t5QlZMYR+SiIPJSAf7JXfCEQj7w0BSCsgQVV6WW72jlqiCvJwCPO1azI7x8SVamQnEX4Moivv3jwADAA9sObdCbqMjAAAAAElFTkSuQmCC)](#sponsors) - - -[![4.0 Issues](https://img.shields.io/github/issues-raw/phalcon/cphalcon/4.0?color=orange&style=for-the-badge&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc3RTA0NTM1MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc3RTA0NTM2MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzdFMDQ1MzMwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzdFMDQ1MzQwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mTnOmAAACyklEQVR42nxSyU8TcRj9fvObaQsMhS5UW8ACUkG2sEqiLCGRi0S2gxoPGmP8B4xHa6IHPRg0kZh4ksQgIhE5CCYmKC4NrTExlgqhbLULDJ1pZWmhnbYz4wBe9SUv3+W9vOR9DzXU1gEmSbh67zpYqspoVZLoJABeAiBBAgn2IIkCiJIIlKyb8y7DpcZOIBIpsSce3Wl9OzgG/s2gfkdM3JQkNCbrNfAfEPqe1oAqXTngcfx88bn/1VEmFFyLkamzctaknFj+T6OhrZHJv3w6TBu1F75OfHwzZO1X2O3TsSjwtZRCOSVruhAgINABkcw9YM+X79tpKVGT21beTpv0FDv3y+x656CWF5cgS6/JMOblnttN8vaYJKwIsoHb+A21+aWAuzraoMJc5Eqy0QrBkFaibSyWe0EQ+OYGx/gUaHValDBpDCNzM8POECuuMwHorDwJiBEZ4BM8RDaTeU7nzHBY2j0VouLgda9AaNYL8dUNaO8949/JwSVcNBLjI3EYuHILcF1pHTRVN4GB1m67JXZKBOl4UbbRaCksRqYaCyIrD0GGLotuMJfVL6z7TDwA01PVvIkZhgGO5cA974bx9xObId3u8w2eP+LfYqu0RDpWCwrkm18Jp0tkQndY3xJkgue7alofEySB4fXoKDzqe4jXFj1qTbH5NkK4u7m4WlmYaUAL4/Znk31DNT8mp08UENpjgRHb3b1WSZGmQJFGglKvxpaOlhvupzZrc1ktcLqN7Q+2T4LXv5CuUinzF2fdq+sPngjsWnBw31hvvQjyngDotOSS3eniHR7B0NuNbb45QsSSFacghSlyjWNY4JigHKLa/yPJBzmIyAQVJUUDvnljgfG+Vq8vo7ZUFlpBX4t5QlZMYR+SiIPJSAf7JXfCEQj7w0BSCsgQVV6WW72jlqiCvJwCPO1azI7x8SVamQnEX4Moivv3jwADAA9sObdCbqMjAAAAAElFTkSuQmCC)](https://github.com/phalcon/cphalcon/issues?q=is%3Aissue+is%3Aopen+label%3A4.0) -[![4.0 Pull Requests](https://img.shields.io/github/issues-pr/phalcon/cphalcon?color=brightgreen&style=for-the-badge&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc3RTA0NTM1MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc3RTA0NTM2MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzdFMDQ1MzMwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzdFMDQ1MzQwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mTnOmAAACyklEQVR42nxSyU8TcRj9fvObaQsMhS5UW8ACUkG2sEqiLCGRi0S2gxoPGmP8B4xHa6IHPRg0kZh4ksQgIhE5CCYmKC4NrTExlgqhbLULDJ1pZWmhnbYz4wBe9SUv3+W9vOR9DzXU1gEmSbh67zpYqspoVZLoJABeAiBBAgn2IIkCiJIIlKyb8y7DpcZOIBIpsSce3Wl9OzgG/s2gfkdM3JQkNCbrNfAfEPqe1oAqXTngcfx88bn/1VEmFFyLkamzctaknFj+T6OhrZHJv3w6TBu1F75OfHwzZO1X2O3TsSjwtZRCOSVruhAgINABkcw9YM+X79tpKVGT21beTpv0FDv3y+x656CWF5cgS6/JMOblnttN8vaYJKwIsoHb+A21+aWAuzraoMJc5Eqy0QrBkFaibSyWe0EQ+OYGx/gUaHValDBpDCNzM8POECuuMwHorDwJiBEZ4BM8RDaTeU7nzHBY2j0VouLgda9AaNYL8dUNaO8949/JwSVcNBLjI3EYuHILcF1pHTRVN4GB1m67JXZKBOl4UbbRaCksRqYaCyIrD0GGLotuMJfVL6z7TDwA01PVvIkZhgGO5cA974bx9xObId3u8w2eP+LfYqu0RDpWCwrkm18Jp0tkQndY3xJkgue7alofEySB4fXoKDzqe4jXFj1qTbH5NkK4u7m4WlmYaUAL4/Znk31DNT8mp08UENpjgRHb3b1WSZGmQJFGglKvxpaOlhvupzZrc1ktcLqN7Q+2T4LXv5CuUinzF2fdq+sPngjsWnBw31hvvQjyngDotOSS3eniHR7B0NuNbb45QsSSFacghSlyjWNY4JigHKLa/yPJBzmIyAQVJUUDvnljgfG+Vq8vo7ZUFlpBX4t5QlZMYR+SiIPJSAf7JXfCEQj7w0BSCsgQVV6WW72jlqiCvJwCPO1azI7x8SVamQnEX4Moivv3jwADAA9sObdCbqMjAAAAAElFTkSuQmCC)](https://github.com/phalcon/cphalcon/pulls?q=is%3Apr+is%3Aopen+label%3A4.0) -[![4.1 Issues](https://img.shields.io/github/issues-raw/phalcon/cphalcon/4.1?color=yellow&style=for-the-badge&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc3RTA0NTM1MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc3RTA0NTM2MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzdFMDQ1MzMwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzdFMDQ1MzQwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mTnOmAAACyklEQVR42nxSyU8TcRj9fvObaQsMhS5UW8ACUkG2sEqiLCGRi0S2gxoPGmP8B4xHa6IHPRg0kZh4ksQgIhE5CCYmKC4NrTExlgqhbLULDJ1pZWmhnbYz4wBe9SUv3+W9vOR9DzXU1gEmSbh67zpYqspoVZLoJABeAiBBAgn2IIkCiJIIlKyb8y7DpcZOIBIpsSce3Wl9OzgG/s2gfkdM3JQkNCbrNfAfEPqe1oAqXTngcfx88bn/1VEmFFyLkamzctaknFj+T6OhrZHJv3w6TBu1F75OfHwzZO1X2O3TsSjwtZRCOSVruhAgINABkcw9YM+X79tpKVGT21beTpv0FDv3y+x656CWF5cgS6/JMOblnttN8vaYJKwIsoHb+A21+aWAuzraoMJc5Eqy0QrBkFaibSyWe0EQ+OYGx/gUaHValDBpDCNzM8POECuuMwHorDwJiBEZ4BM8RDaTeU7nzHBY2j0VouLgda9AaNYL8dUNaO8949/JwSVcNBLjI3EYuHILcF1pHTRVN4GB1m67JXZKBOl4UbbRaCksRqYaCyIrD0GGLotuMJfVL6z7TDwA01PVvIkZhgGO5cA974bx9xObId3u8w2eP+LfYqu0RDpWCwrkm18Jp0tkQndY3xJkgue7alofEySB4fXoKDzqe4jXFj1qTbH5NkK4u7m4WlmYaUAL4/Znk31DNT8mp08UENpjgRHb3b1WSZGmQJFGglKvxpaOlhvupzZrc1ktcLqN7Q+2T4LXv5CuUinzF2fdq+sPngjsWnBw31hvvQjyngDotOSS3eniHR7B0NuNbb45QsSSFacghSlyjWNY4JigHKLa/yPJBzmIyAQVJUUDvnljgfG+Vq8vo7ZUFlpBX4t5QlZMYR+SiIPJSAf7JXfCEQj7w0BSCsgQVV6WW72jlqiCvJwCPO1azI7x8SVamQnEX4Moivv3jwADAA9sObdCbqMjAAAAAElFTkSuQmCC)](https://github.com/phalcon/cphalcon/issues?q=is%3Aissue+is%3Aopen+label%3A4.0) +[![Discord](https://img.shields.io/discord/310910488152375297?label=Discord&logo=discord&style=flat-square)](http://phalcon.link/discord) +[![Build Status](https://img.shields.io/travis/phalcon/cphalcon?logo=travis&style=flat-square)](https://travis-ci.org/phalcon/cphalcon) +[![Windows Build](https://img.shields.io/appveyor/ci/sergeyklay/cphalcon?logo=appveyor&style=flat-square)](https://ci.appveyor.com/project/sergeyklay/cphalcon/branch/master) +[![Phalcon Backers](https://img.shields.io/badge/phalcon-backers-99ddc0.svg?&style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc3RTA0NTM1MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc3RTA0NTM2MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzdFMDQ1MzMwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzdFMDQ1MzQwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mTnOmAAACyklEQVR42nxSyU8TcRj9fvObaQsMhS5UW8ACUkG2sEqiLCGRi0S2gxoPGmP8B4xHa6IHPRg0kZh4ksQgIhE5CCYmKC4NrTExlgqhbLULDJ1pZWmhnbYz4wBe9SUv3+W9vOR9DzXU1gEmSbh67zpYqspoVZLoJABeAiBBAgn2IIkCiJIIlKyb8y7DpcZOIBIpsSce3Wl9OzgG/s2gfkdM3JQkNCbrNfAfEPqe1oAqXTngcfx88bn/1VEmFFyLkamzctaknFj+T6OhrZHJv3w6TBu1F75OfHwzZO1X2O3TsSjwtZRCOSVruhAgINABkcw9YM+X79tpKVGT21beTpv0FDv3y+x656CWF5cgS6/JMOblnttN8vaYJKwIsoHb+A21+aWAuzraoMJc5Eqy0QrBkFaibSyWe0EQ+OYGx/gUaHValDBpDCNzM8POECuuMwHorDwJiBEZ4BM8RDaTeU7nzHBY2j0VouLgda9AaNYL8dUNaO8949/JwSVcNBLjI3EYuHILcF1pHTRVN4GB1m67JXZKBOl4UbbRaCksRqYaCyIrD0GGLotuMJfVL6z7TDwA01PVvIkZhgGO5cA974bx9xObId3u8w2eP+LfYqu0RDpWCwrkm18Jp0tkQndY3xJkgue7alofEySB4fXoKDzqe4jXFj1qTbH5NkK4u7m4WlmYaUAL4/Znk31DNT8mp08UENpjgRHb3b1WSZGmQJFGglKvxpaOlhvupzZrc1ktcLqN7Q+2T4LXv5CuUinzF2fdq+sPngjsWnBw31hvvQjyngDotOSS3eniHR7B0NuNbb45QsSSFacghSlyjWNY4JigHKLa/yPJBzmIyAQVJUUDvnljgfG+Vq8vo7ZUFlpBX4t5QlZMYR+SiIPJSAf7JXfCEQj7w0BSCsgQVV6WW72jlqiCvJwCPO1azI7x8SVamQnEX4Moivv3jwADAA9sObdCbqMjAAAAAElFTkSuQmCC)](https://github.com/phalcon/cphalcon/blob/master/BACKERS.md) +[![OpenCollective](https://img.shields.io/opencollective/backers/phalcon?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc3RTA0NTM1MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc3RTA0NTM2MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzdFMDQ1MzMwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzdFMDQ1MzQwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mTnOmAAACyklEQVR42nxSyU8TcRj9fvObaQsMhS5UW8ACUkG2sEqiLCGRi0S2gxoPGmP8B4xHa6IHPRg0kZh4ksQgIhE5CCYmKC4NrTExlgqhbLULDJ1pZWmhnbYz4wBe9SUv3+W9vOR9DzXU1gEmSbh67zpYqspoVZLoJABeAiBBAgn2IIkCiJIIlKyb8y7DpcZOIBIpsSce3Wl9OzgG/s2gfkdM3JQkNCbrNfAfEPqe1oAqXTngcfx88bn/1VEmFFyLkamzctaknFj+T6OhrZHJv3w6TBu1F75OfHwzZO1X2O3TsSjwtZRCOSVruhAgINABkcw9YM+X79tpKVGT21beTpv0FDv3y+x656CWF5cgS6/JMOblnttN8vaYJKwIsoHb+A21+aWAuzraoMJc5Eqy0QrBkFaibSyWe0EQ+OYGx/gUaHValDBpDCNzM8POECuuMwHorDwJiBEZ4BM8RDaTeU7nzHBY2j0VouLgda9AaNYL8dUNaO8949/JwSVcNBLjI3EYuHILcF1pHTRVN4GB1m67JXZKBOl4UbbRaCksRqYaCyIrD0GGLotuMJfVL6z7TDwA01PVvIkZhgGO5cA974bx9xObId3u8w2eP+LfYqu0RDpWCwrkm18Jp0tkQndY3xJkgue7alofEySB4fXoKDzqe4jXFj1qTbH5NkK4u7m4WlmYaUAL4/Znk31DNT8mp08UENpjgRHb3b1WSZGmQJFGglKvxpaOlhvupzZrc1ktcLqN7Q+2T4LXv5CuUinzF2fdq+sPngjsWnBw31hvvQjyngDotOSS3eniHR7B0NuNbb45QsSSFacghSlyjWNY4JigHKLa/yPJBzmIyAQVJUUDvnljgfG+Vq8vo7ZUFlpBX4t5QlZMYR+SiIPJSAf7JXfCEQj7w0BSCsgQVV6WW72jlqiCvJwCPO1azI7x8SVamQnEX4Moivv3jwADAA9sObdCbqMjAAAAAElFTkSuQmCC)](#backers) +[![OpenCollective](https://img.shields.io/opencollective/sponsors/phalcon?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc3RTA0NTM1MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc3RTA0NTM2MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzdFMDQ1MzMwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzdFMDQ1MzQwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mTnOmAAACyklEQVR42nxSyU8TcRj9fvObaQsMhS5UW8ACUkG2sEqiLCGRi0S2gxoPGmP8B4xHa6IHPRg0kZh4ksQgIhE5CCYmKC4NrTExlgqhbLULDJ1pZWmhnbYz4wBe9SUv3+W9vOR9DzXU1gEmSbh67zpYqspoVZLoJABeAiBBAgn2IIkCiJIIlKyb8y7DpcZOIBIpsSce3Wl9OzgG/s2gfkdM3JQkNCbrNfAfEPqe1oAqXTngcfx88bn/1VEmFFyLkamzctaknFj+T6OhrZHJv3w6TBu1F75OfHwzZO1X2O3TsSjwtZRCOSVruhAgINABkcw9YM+X79tpKVGT21beTpv0FDv3y+x656CWF5cgS6/JMOblnttN8vaYJKwIsoHb+A21+aWAuzraoMJc5Eqy0QrBkFaibSyWe0EQ+OYGx/gUaHValDBpDCNzM8POECuuMwHorDwJiBEZ4BM8RDaTeU7nzHBY2j0VouLgda9AaNYL8dUNaO8949/JwSVcNBLjI3EYuHILcF1pHTRVN4GB1m67JXZKBOl4UbbRaCksRqYaCyIrD0GGLotuMJfVL6z7TDwA01PVvIkZhgGO5cA974bx9xObId3u8w2eP+LfYqu0RDpWCwrkm18Jp0tkQndY3xJkgue7alofEySB4fXoKDzqe4jXFj1qTbH5NkK4u7m4WlmYaUAL4/Znk31DNT8mp08UENpjgRHb3b1WSZGmQJFGglKvxpaOlhvupzZrc1ktcLqN7Q+2T4LXv5CuUinzF2fdq+sPngjsWnBw31hvvQjyngDotOSS3eniHR7B0NuNbb45QsSSFacghSlyjWNY4JigHKLa/yPJBzmIyAQVJUUDvnljgfG+Vq8vo7ZUFlpBX4t5QlZMYR+SiIPJSAf7JXfCEQj7w0BSCsgQVV6WW72jlqiCvJwCPO1azI7x8SVamQnEX4Moivv3jwADAA9sObdCbqMjAAAAAElFTkSuQmCC)](#sponsors) +[![4.0 Issues](https://img.shields.io/github/issues-raw/phalcon/cphalcon/4.0?color=orange&style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc3RTA0NTM1MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc3RTA0NTM2MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzdFMDQ1MzMwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzdFMDQ1MzQwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mTnOmAAACyklEQVR42nxSyU8TcRj9fvObaQsMhS5UW8ACUkG2sEqiLCGRi0S2gxoPGmP8B4xHa6IHPRg0kZh4ksQgIhE5CCYmKC4NrTExlgqhbLULDJ1pZWmhnbYz4wBe9SUv3+W9vOR9DzXU1gEmSbh67zpYqspoVZLoJABeAiBBAgn2IIkCiJIIlKyb8y7DpcZOIBIpsSce3Wl9OzgG/s2gfkdM3JQkNCbrNfAfEPqe1oAqXTngcfx88bn/1VEmFFyLkamzctaknFj+T6OhrZHJv3w6TBu1F75OfHwzZO1X2O3TsSjwtZRCOSVruhAgINABkcw9YM+X79tpKVGT21beTpv0FDv3y+x656CWF5cgS6/JMOblnttN8vaYJKwIsoHb+A21+aWAuzraoMJc5Eqy0QrBkFaibSyWe0EQ+OYGx/gUaHValDBpDCNzM8POECuuMwHorDwJiBEZ4BM8RDaTeU7nzHBY2j0VouLgda9AaNYL8dUNaO8949/JwSVcNBLjI3EYuHILcF1pHTRVN4GB1m67JXZKBOl4UbbRaCksRqYaCyIrD0GGLotuMJfVL6z7TDwA01PVvIkZhgGO5cA974bx9xObId3u8w2eP+LfYqu0RDpWCwrkm18Jp0tkQndY3xJkgue7alofEySB4fXoKDzqe4jXFj1qTbH5NkK4u7m4WlmYaUAL4/Znk31DNT8mp08UENpjgRHb3b1WSZGmQJFGglKvxpaOlhvupzZrc1ktcLqN7Q+2T4LXv5CuUinzF2fdq+sPngjsWnBw31hvvQjyngDotOSS3eniHR7B0NuNbb45QsSSFacghSlyjWNY4JigHKLa/yPJBzmIyAQVJUUDvnljgfG+Vq8vo7ZUFlpBX4t5QlZMYR+SiIPJSAf7JXfCEQj7w0BSCsgQVV6WW72jlqiCvJwCPO1azI7x8SVamQnEX4Moivv3jwADAA9sObdCbqMjAAAAAElFTkSuQmCC)](https://github.com/phalcon/cphalcon/issues?q=is%3Aissue+is%3Aopen+label%3A4.0) +[![4.0 Pull Requests](https://img.shields.io/github/issues-pr/phalcon/cphalcon?color=brightgreen&style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc3RTA0NTM1MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc3RTA0NTM2MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzdFMDQ1MzMwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzdFMDQ1MzQwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mTnOmAAACyklEQVR42nxSyU8TcRj9fvObaQsMhS5UW8ACUkG2sEqiLCGRi0S2gxoPGmP8B4xHa6IHPRg0kZh4ksQgIhE5CCYmKC4NrTExlgqhbLULDJ1pZWmhnbYz4wBe9SUv3+W9vOR9DzXU1gEmSbh67zpYqspoVZLoJABeAiBBAgn2IIkCiJIIlKyb8y7DpcZOIBIpsSce3Wl9OzgG/s2gfkdM3JQkNCbrNfAfEPqe1oAqXTngcfx88bn/1VEmFFyLkamzctaknFj+T6OhrZHJv3w6TBu1F75OfHwzZO1X2O3TsSjwtZRCOSVruhAgINABkcw9YM+X79tpKVGT21beTpv0FDv3y+x656CWF5cgS6/JMOblnttN8vaYJKwIsoHb+A21+aWAuzraoMJc5Eqy0QrBkFaibSyWe0EQ+OYGx/gUaHValDBpDCNzM8POECuuMwHorDwJiBEZ4BM8RDaTeU7nzHBY2j0VouLgda9AaNYL8dUNaO8949/JwSVcNBLjI3EYuHILcF1pHTRVN4GB1m67JXZKBOl4UbbRaCksRqYaCyIrD0GGLotuMJfVL6z7TDwA01PVvIkZhgGO5cA974bx9xObId3u8w2eP+LfYqu0RDpWCwrkm18Jp0tkQndY3xJkgue7alofEySB4fXoKDzqe4jXFj1qTbH5NkK4u7m4WlmYaUAL4/Znk31DNT8mp08UENpjgRHb3b1WSZGmQJFGglKvxpaOlhvupzZrc1ktcLqN7Q+2T4LXv5CuUinzF2fdq+sPngjsWnBw31hvvQjyngDotOSS3eniHR7B0NuNbb45QsSSFacghSlyjWNY4JigHKLa/yPJBzmIyAQVJUUDvnljgfG+Vq8vo7ZUFlpBX4t5QlZMYR+SiIPJSAf7JXfCEQj7w0BSCsgQVV6WW72jlqiCvJwCPO1azI7x8SVamQnEX4Moivv3jwADAA9sObdCbqMjAAAAAElFTkSuQmCC)](https://github.com/phalcon/cphalcon/pulls?q=is%3Apr+is%3Aopen+label%3A4.0) +[![4.1 Issues](https://img.shields.io/github/issues-raw/phalcon/cphalcon/4.1?color=yellow&style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc3RTA0NTM1MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc3RTA0NTM2MEE1ODExRUFBNENEOUNDREQ1RDJGQ0FBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzdFMDQ1MzMwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzdFMDQ1MzQwQTU4MTFFQUE0Q0Q5Q0NERDVEMkZDQUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4mTnOmAAACyklEQVR42nxSyU8TcRj9fvObaQsMhS5UW8ACUkG2sEqiLCGRi0S2gxoPGmP8B4xHa6IHPRg0kZh4ksQgIhE5CCYmKC4NrTExlgqhbLULDJ1pZWmhnbYz4wBe9SUv3+W9vOR9DzXU1gEmSbh67zpYqspoVZLoJABeAiBBAgn2IIkCiJIIlKyb8y7DpcZOIBIpsSce3Wl9OzgG/s2gfkdM3JQkNCbrNfAfEPqe1oAqXTngcfx88bn/1VEmFFyLkamzctaknFj+T6OhrZHJv3w6TBu1F75OfHwzZO1X2O3TsSjwtZRCOSVruhAgINABkcw9YM+X79tpKVGT21beTpv0FDv3y+x656CWF5cgS6/JMOblnttN8vaYJKwIsoHb+A21+aWAuzraoMJc5Eqy0QrBkFaibSyWe0EQ+OYGx/gUaHValDBpDCNzM8POECuuMwHorDwJiBEZ4BM8RDaTeU7nzHBY2j0VouLgda9AaNYL8dUNaO8949/JwSVcNBLjI3EYuHILcF1pHTRVN4GB1m67JXZKBOl4UbbRaCksRqYaCyIrD0GGLotuMJfVL6z7TDwA01PVvIkZhgGO5cA974bx9xObId3u8w2eP+LfYqu0RDpWCwrkm18Jp0tkQndY3xJkgue7alofEySB4fXoKDzqe4jXFj1qTbH5NkK4u7m4WlmYaUAL4/Znk31DNT8mp08UENpjgRHb3b1WSZGmQJFGglKvxpaOlhvupzZrc1ktcLqN7Q+2T4LXv5CuUinzF2fdq+sPngjsWnBw31hvvQjyngDotOSS3eniHR7B0NuNbb45QsSSFacghSlyjWNY4JigHKLa/yPJBzmIyAQVJUUDvnljgfG+Vq8vo7ZUFlpBX4t5QlZMYR+SiIPJSAf7JXfCEQj7w0BSCsgQVV6WW72jlqiCvJwCPO1azI7x8SVamQnEX4Moivv3jwADAA9sObdCbqMjAAAAAElFTkSuQmCC)](https://github.com/phalcon/cphalcon/issues?q=is%3Aissue+is%3Aopen+label%3A4.0) Phalcon is an open source web framework delivered as a C extension for the PHP language providing high performance and lower resource consumption. diff --git a/ext/phalcon/http/cookieinterface.zep.c b/ext/phalcon/http/cookieinterface.zep.c deleted file mode 100644 index fa85764a9c7..00000000000 --- a/ext/phalcon/http/cookieinterface.zep.c +++ /dev/null @@ -1,122 +0,0 @@ - -#ifdef HAVE_CONFIG_H -#include "../../ext_config.h" -#endif - -#include -#include "../../php_ext.h" -#include "../../ext.h" - -#include - -#include "kernel/main.h" - - -/** - * This file is part of the Phalcon Framework. - * - * (c) Phalcon Team - * - * For the full copyright and license information, please view the LICENSE.txt - * file that was distributed with this source code. - */ -/** - * Interface for Phalcon\Http\Cookie - */ -ZEPHIR_INIT_CLASS(Phalcon_Http_CookieInterface) { - - ZEPHIR_REGISTER_INTERFACE(Phalcon\\Http, CookieInterface, phalcon, http_cookieinterface, phalcon_http_cookieinterface_method_entry); - - return SUCCESS; - -} - -/** - * Deletes the cookie - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, delete); - -/** - * Returns the domain that the cookie is available to - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, getDomain); - -/** - * Returns the current expiration time - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, getExpiration); - -/** - * Returns if the cookie is accessible only through the HTTP protocol - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, getHttpOnly); - -/** - * Returns the current cookie's name - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, getName); - -/** - * Returns the current cookie's path - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, getPath); - -/** - * Returns whether the cookie must only be sent when the connection is - * secure (HTTPS) - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, getSecure); - -/** - * Returns the cookie's value. - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, getValue); - -/** - * Check if the cookie is using implicit encryption - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, isUsingEncryption); - -/** - * Sends the cookie to the HTTP client - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, send); - -/** - * Sets the domain that the cookie is available to - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, setDomain); - -/** - * Sets the cookie's expiration time - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, setExpiration); - -/** - * Sets if the cookie is accessible only through the HTTP protocol - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, setHttpOnly); - -/** - * Sets the cookie's expiration time - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, setPath); - -/** - * Sets if the cookie must only be sent when the connection is secure - * (HTTPS) - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, setSecure); - -/** - * Sets the cookie's value - * - * @param string value - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, setValue); - -/** - * Sets if the cookie must be encrypted/decrypted automatically - */ -ZEPHIR_DOC_METHOD(Phalcon_Http_CookieInterface, useEncryption); - diff --git a/ext/phalcon/http/cookieinterface.zep.h b/ext/phalcon/http/cookieinterface.zep.h deleted file mode 100644 index db2f6956d9d..00000000000 --- a/ext/phalcon/http/cookieinterface.zep.h +++ /dev/null @@ -1,166 +0,0 @@ - -extern zend_class_entry *phalcon_http_cookieinterface_ce; - -ZEPHIR_INIT_CLASS(Phalcon_Http_CookieInterface); - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_getdomain, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_getdomain, 0, 0, IS_STRING, NULL, 0) -#endif -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_getexpiration, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_getexpiration, 0, 0, IS_STRING, NULL, 0) -#endif -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_gethttponly, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_gethttponly, 0, 0, _IS_BOOL, NULL, 0) -#endif -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_getname, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_getname, 0, 0, IS_STRING, NULL, 0) -#endif -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_getpath, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_getpath, 0, 0, IS_STRING, NULL, 0) -#endif -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_getsecure, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_getsecure, 0, 0, _IS_BOOL, NULL, 0) -#endif -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_phalcon_http_cookieinterface_getvalue, 0, 0, 0) - ZEND_ARG_INFO(0, filters) - ZEND_ARG_INFO(0, defaultValue) -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_isusingencryption, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_isusingencryption, 0, 0, _IS_BOOL, NULL, 0) -#endif -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_phalcon_http_cookieinterface_send, 0, 0, Phalcon\\Http\\CookieInterface, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_send, 0, 0, IS_OBJECT, "Phalcon\\Http\\CookieInterface", 0) -#endif -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_phalcon_http_cookieinterface_setdomain, 0, 1, Phalcon\\Http\\CookieInterface, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_setdomain, 0, 1, IS_OBJECT, "Phalcon\\Http\\CookieInterface", 0) -#endif -#if PHP_VERSION_ID >= 70200 - ZEND_ARG_TYPE_INFO(0, domain, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, domain) -#endif -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_phalcon_http_cookieinterface_setexpiration, 0, 1, Phalcon\\Http\\CookieInterface, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_setexpiration, 0, 1, IS_OBJECT, "Phalcon\\Http\\CookieInterface", 0) -#endif -#if PHP_VERSION_ID >= 70200 - ZEND_ARG_TYPE_INFO(0, expire, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, expire) -#endif -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_phalcon_http_cookieinterface_sethttponly, 0, 1, Phalcon\\Http\\CookieInterface, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_sethttponly, 0, 1, IS_OBJECT, "Phalcon\\Http\\CookieInterface", 0) -#endif -#if PHP_VERSION_ID >= 70200 - ZEND_ARG_TYPE_INFO(0, httpOnly, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, httpOnly) -#endif -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_phalcon_http_cookieinterface_setpath, 0, 1, Phalcon\\Http\\CookieInterface, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_setpath, 0, 1, IS_OBJECT, "Phalcon\\Http\\CookieInterface", 0) -#endif -#if PHP_VERSION_ID >= 70200 - ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, path) -#endif -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_phalcon_http_cookieinterface_setsecure, 0, 1, Phalcon\\Http\\CookieInterface, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_setsecure, 0, 1, IS_OBJECT, "Phalcon\\Http\\CookieInterface", 0) -#endif -#if PHP_VERSION_ID >= 70200 - ZEND_ARG_TYPE_INFO(0, secure, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, secure) -#endif -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_phalcon_http_cookieinterface_setvalue, 0, 1, Phalcon\\Http\\CookieInterface, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_setvalue, 0, 1, IS_OBJECT, "Phalcon\\Http\\CookieInterface", 0) -#endif - ZEND_ARG_INFO(0, value) -ZEND_END_ARG_INFO() - -#if PHP_VERSION_ID >= 70200 -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_phalcon_http_cookieinterface_useencryption, 0, 1, Phalcon\\Http\\CookieInterface, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phalcon_http_cookieinterface_useencryption, 0, 1, IS_OBJECT, "Phalcon\\Http\\CookieInterface", 0) -#endif -#if PHP_VERSION_ID >= 70200 - ZEND_ARG_TYPE_INFO(0, useEncryption, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, useEncryption) -#endif -ZEND_END_ARG_INFO() - -ZEPHIR_INIT_FUNCS(phalcon_http_cookieinterface_method_entry) { - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, delete, NULL) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, getDomain, arginfo_phalcon_http_cookieinterface_getdomain) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, getExpiration, arginfo_phalcon_http_cookieinterface_getexpiration) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, getHttpOnly, arginfo_phalcon_http_cookieinterface_gethttponly) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, getName, arginfo_phalcon_http_cookieinterface_getname) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, getPath, arginfo_phalcon_http_cookieinterface_getpath) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, getSecure, arginfo_phalcon_http_cookieinterface_getsecure) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, getValue, arginfo_phalcon_http_cookieinterface_getvalue) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, isUsingEncryption, arginfo_phalcon_http_cookieinterface_isusingencryption) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, send, arginfo_phalcon_http_cookieinterface_send) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, setDomain, arginfo_phalcon_http_cookieinterface_setdomain) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, setExpiration, arginfo_phalcon_http_cookieinterface_setexpiration) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, setHttpOnly, arginfo_phalcon_http_cookieinterface_sethttponly) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, setPath, arginfo_phalcon_http_cookieinterface_setpath) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, setSecure, arginfo_phalcon_http_cookieinterface_setsecure) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, setValue, arginfo_phalcon_http_cookieinterface_setvalue) - PHP_ABSTRACT_ME(Phalcon_Http_CookieInterface, useEncryption, arginfo_phalcon_http_cookieinterface_useencryption) - PHP_FE_END -}; diff --git a/tests/unit/Http/Response/GetSetCookiesCest.php b/tests/unit/Http/Response/GetSetCookiesCest.php index 3e66308417a..cc3b58a2d38 100644 --- a/tests/unit/Http/Response/GetSetCookiesCest.php +++ b/tests/unit/Http/Response/GetSetCookiesCest.php @@ -13,11 +13,15 @@ namespace Phalcon\Test\Unit\Http\Response; use Phalcon\Http\Response; -use Phalcon\Http\Cookie; +use Phalcon\Http\Response\Cookies; +use Phalcon\Test\Fixtures\Traits\DiTrait; use UnitTester; +use function var_dump; class GetSetCookiesCest { + use DiTrait; + /** * Tests Phalcon\Http\Response :: getCookies() / setCookies() * @@ -28,13 +32,17 @@ public function httpResponseGetSetCookies(UnitTester $I) { $I->wantToTest('Http\Response - getCookies() / setCookies'); - $oCookie = new Cookie('firstname','jeremy'); - + $this->setNewFactoryDefault();; + + $oCookies = new Cookies(); + $oCookies->setDI($this->container); + $oCookies->set('firstname', 'jeremy'); + $oResponse = new Response(); - $oResponse->setCookies($oCookie); + $oResponse->setCookies($oCookies); $I->assertSame( - $oCookie, + $oCookies, $oResponse->getCookies() ); } From e75ed08fa4ef99bea38da11dedbacfedf945992d Mon Sep 17 00:00:00 2001 From: Nikolaos Dimopoulos Date: Sun, 8 Dec 2019 18:37:37 -0500 Subject: [PATCH 4/5] [#14602] - Corrected test --- tests/unit/Http/Response/GetSetCookiesCest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/Http/Response/GetSetCookiesCest.php b/tests/unit/Http/Response/GetSetCookiesCest.php index cc3b58a2d38..dce86d8c48a 100644 --- a/tests/unit/Http/Response/GetSetCookiesCest.php +++ b/tests/unit/Http/Response/GetSetCookiesCest.php @@ -32,7 +32,7 @@ public function httpResponseGetSetCookies(UnitTester $I) { $I->wantToTest('Http\Response - getCookies() / setCookies'); - $this->setNewFactoryDefault();; + $this->setNewFactoryDefault(); $oCookies = new Cookies(); $oCookies->setDI($this->container); From 1b730faeb4b13ef6309f559786cdb4cc329ec8c9 Mon Sep 17 00:00:00 2001 From: Nikolaos Dimopoulos Date: Sun, 8 Dec 2019 19:13:42 -0500 Subject: [PATCH 5/5] [#14602] - Fixing phpcs --- tests/unit/Http/Response/GetReasonPhraseCest.php | 2 +- tests/unit/Http/Response/GetSetHeadersCest.php | 4 ++-- tests/unit/Http/Response/SetExpiresCest.php | 2 +- tests/unit/Http/Response/SetLastModifiedCest.php | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/unit/Http/Response/GetReasonPhraseCest.php b/tests/unit/Http/Response/GetReasonPhraseCest.php index 795cad4cb43..c4f5b056df1 100644 --- a/tests/unit/Http/Response/GetReasonPhraseCest.php +++ b/tests/unit/Http/Response/GetReasonPhraseCest.php @@ -31,7 +31,7 @@ public function httpResponseGetReasonPhrase(UnitTester $I) $oResponse = new Response('

Test

', 200, $sPhrase); $I->assertSame( - $sPhrase, + $sPhrase, $oResponse->getReasonPhrase() ); } diff --git a/tests/unit/Http/Response/GetSetHeadersCest.php b/tests/unit/Http/Response/GetSetHeadersCest.php index 1102b2f8f50..f440c8b2ad3 100644 --- a/tests/unit/Http/Response/GetSetHeadersCest.php +++ b/tests/unit/Http/Response/GetSetHeadersCest.php @@ -36,12 +36,12 @@ public function httpResponseGetSetHeaders(UnitTester $I) $oResponse->setHeaders($oHeaders); $I->assertEquals( - $oHeaders, + $oHeaders, $oResponse->getHeaders() ); $I->assertSame( - $oHeaders->toArray(), + $oHeaders->toArray(), $oResponse->getHeaders()->toArray() ); } diff --git a/tests/unit/Http/Response/SetExpiresCest.php b/tests/unit/Http/Response/SetExpiresCest.php index 617f16d5784..d42e5f43b0f 100644 --- a/tests/unit/Http/Response/SetExpiresCest.php +++ b/tests/unit/Http/Response/SetExpiresCest.php @@ -42,7 +42,7 @@ public function httpResponseSetExpires(UnitTester $I) $oResponse->setExpires($oExpireDate); $I->assertSame( - $oExpireDate->format("D, d M Y H:i:s") . " GMT", + $oExpireDate->format("D, d M Y H:i:s") . " GMT", $oResponse->getHeaders()->get('Expires') ); } diff --git a/tests/unit/Http/Response/SetLastModifiedCest.php b/tests/unit/Http/Response/SetLastModifiedCest.php index 6f7bf9e0303..ca44a933e4b 100644 --- a/tests/unit/Http/Response/SetLastModifiedCest.php +++ b/tests/unit/Http/Response/SetLastModifiedCest.php @@ -42,7 +42,7 @@ public function httpResponseSetLastModified(UnitTester $I) $oResponse->setLastModified($oLastModified); $I->assertSame( - $oLastModified->format("D, d M Y H:i:s") . " GMT", + $oLastModified->format("D, d M Y H:i:s") . " GMT", $oResponse->getHeaders()->get('Last-Modified') ); }