diff --git a/HISTORY.md b/HISTORY.md index f01c9f692..b857adff3 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,4 @@ -## Version 4.2.3 - TBA +## Version 4.3.0 - October 26, 2023 ENH: Issues #824, #838, #851, #891, #910, #917 - General Behaviors Update: Cloning and Serializing supports behaviors. IBaseBehavior has init($config) method. TClassBehavior tracks their owners. Behaviors attach their registered event handlers at the behavior priority. Registered Behavior event can optionally attached and detached automatically when the behavior is enabled or disabled (default). Behavior events() support Closures. IBehavior are attachable class-wide by cloning. Behaviors for behaviors has better support. Behaviors are case insensitive. Supports Anonymous (unnamed/numeric) behaviors. Wakeup updates the component behaviors with new named class behaviors. (belisoful) BUG: Issue #843 - Permissions Manager behaviors rename the method 'getManager' to 'getPermissionsManager' for specificity. (belisoful) diff --git a/UPGRADE.md b/UPGRADE.md index d7d25ec87..8313ff3d7 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -1,4 +1,4 @@ -# Upgrading Instructions for PRADO Framework v4.x.x +# Upgrading Instructions for PRADO Framework v4.3.0 ### !!!IMPORTANT!!! diff --git a/composer.lock b/composer.lock index 6635c79d4..28ef46378 100644 --- a/composer.lock +++ b/composer.lock @@ -62,16 +62,16 @@ }, { "name": "bower-asset/jquery", - "version": "3.7.0", + "version": "3.7.1", "source": { "type": "git", "url": "https://github.com/jquery/jquery-dist.git", - "reference": "b755b3e9ab895aed7f409ec48a1349f5b185f55f" + "reference": "fde1f76e2799dd877c176abde0ec836553246991" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jquery/jquery-dist/zipball/b755b3e9ab895aed7f409ec48a1349f5b185f55f", - "reference": "b755b3e9ab895aed7f409ec48a1349f5b185f55f" + "url": "https://api.github.com/repos/jquery/jquery-dist/zipball/fde1f76e2799dd877c176abde0ec836553246991", + "reference": "fde1f76e2799dd877c176abde0ec836553246991" }, "type": "bower-asset", "license": [ @@ -334,16 +334,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.16.0", + "version": "v4.17.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "19526a33fb561ef417e822e85f08a00db4059c17" + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17", - "reference": "19526a33fb561ef417e822e85f08a00db4059c17", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", "shasum": "" }, "require": { @@ -384,9 +384,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" }, - "time": "2023-06-25T14:52:30+00:00" + "time": "2023-08-13T19:53:39+00:00" }, { "name": "pradosoft/prado-tinymce3", @@ -565,16 +565,16 @@ }, { "name": "psy/psysh", - "version": "v0.11.18", + "version": "v0.11.22", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "4f00ee9e236fa6a48f4560d1300b9c961a70a7ec" + "reference": "128fa1b608be651999ed9789c95e6e2a31b5802b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4f00ee9e236fa6a48f4560d1300b9c961a70a7ec", - "reference": "4f00ee9e236fa6a48f4560d1300b9c961a70a7ec", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/128fa1b608be651999ed9789c95e6e2a31b5802b", + "reference": "128fa1b608be651999ed9789c95e6e2a31b5802b", "shasum": "" }, "require": { @@ -603,7 +603,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "0.11.x-dev" + "dev-0.11": "0.11.x-dev" + }, + "bamarni-bin": { + "bin-links": false, + "forward-command": false } }, "autoload": { @@ -635,22 +639,22 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.11.18" + "source": "https://github.com/bobthecow/psysh/tree/v0.11.22" }, - "time": "2023-05-23T02:31:11+00:00" + "time": "2023-10-14T21:56:36+00:00" }, { "name": "symfony/console", - "version": "v6.3.0", + "version": "v6.3.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7" + "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7", - "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7", + "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6", + "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6", "shasum": "" }, "require": { @@ -711,7 +715,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.3.0" + "source": "https://github.com/symfony/console/tree/v6.3.4" }, "funding": [ { @@ -727,7 +731,7 @@ "type": "tidelift" } ], - "time": "2023-05-29T12:49:39+00:00" + "time": "2023-08-16T10:10:12+00:00" }, { "name": "symfony/deprecation-contracts", @@ -798,16 +802,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.27.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", "shasum": "" }, "require": { @@ -822,7 +826,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -860,7 +864,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" }, "funding": [ { @@ -876,20 +880,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.27.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354" + "reference": "875e90aeea2777b6f135677f618529449334a612" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", + "reference": "875e90aeea2777b6f135677f618529449334a612", "shasum": "" }, "require": { @@ -901,7 +905,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -941,7 +945,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" }, "funding": [ { @@ -957,20 +961,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.27.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", "shasum": "" }, "require": { @@ -982,7 +986,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -1025,7 +1029,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" }, "funding": [ { @@ -1041,20 +1045,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.27.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + "reference": "42292d99c55abe617799667f454222c54c60e229" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", + "reference": "42292d99c55abe617799667f454222c54c60e229", "shasum": "" }, "require": { @@ -1069,7 +1073,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -1108,7 +1112,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" }, "funding": [ { @@ -1124,7 +1128,7 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-07-28T09:04:16+00:00" }, { "name": "symfony/service-contracts", @@ -1210,16 +1214,16 @@ }, { "name": "symfony/string", - "version": "v6.3.0", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f" + "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f2e190ee75ff0f5eced645ec0be5c66fac81f51f", - "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f", + "url": "https://api.github.com/repos/symfony/string/zipball/13d76d0fb049051ed12a04bef4f9de8715bea339", + "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339", "shasum": "" }, "require": { @@ -1276,7 +1280,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.3.0" + "source": "https://github.com/symfony/string/tree/v6.3.5" }, "funding": [ { @@ -1292,24 +1296,25 @@ "type": "tidelift" } ], - "time": "2023-03-21T21:06:29+00:00" + "time": "2023-09-18T10:38:32+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.3.1", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "c81268d6960ddb47af17391a27d222bd58cf0515" + "reference": "999ede244507c32b8e43aebaa10e9fce20de7c97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c81268d6960ddb47af17391a27d222bd58cf0515", - "reference": "c81268d6960ddb47af17391a27d222bd58cf0515", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/999ede244507c32b8e43aebaa10e9fce20de7c97", + "reference": "999ede244507c32b8e43aebaa10e9fce20de7c97", "shasum": "" }, "require": { "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { @@ -1318,6 +1323,7 @@ "require-dev": { "ext-iconv": "*", "symfony/console": "^5.4|^6.0", + "symfony/http-kernel": "^5.4|^6.0", "symfony/process": "^5.4|^6.0", "symfony/uid": "^5.4|^6.0", "twig/twig": "^2.13|^3.0.4" @@ -1358,7 +1364,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.3.1" + "source": "https://github.com/symfony/var-dumper/tree/v6.3.6" }, "funding": [ { @@ -1374,7 +1380,7 @@ "type": "tidelift" } ], - "time": "2023-06-21T12:08:28+00:00" + "time": "2023-10-12T18:45:56+00:00" } ], "packages-dev": [ @@ -1509,16 +1515,16 @@ }, { "name": "phar-io/composer-distributor", - "version": "1.0.1", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/phar-io/composer-distributor.git", - "reference": "34af1d33bdce88b8f7217f7d53bf3d4ebd36ae60" + "reference": "dd7d936290b2a42b0c64bfe08090b5c597c280c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/composer-distributor/zipball/34af1d33bdce88b8f7217f7d53bf3d4ebd36ae60", - "reference": "34af1d33bdce88b8f7217f7d53bf3d4ebd36ae60", + "url": "https://api.github.com/repos/phar-io/composer-distributor/zipball/dd7d936290b2a42b0c64bfe08090b5c597c280c9", + "reference": "dd7d936290b2a42b0c64bfe08090b5c597c280c9", "shasum": "" }, "require": { @@ -1572,7 +1578,7 @@ ], "support": { "issues": "https://github.com/phar-io/composer-distributor/issues", - "source": "https://github.com/phar-io/composer-distributor/tree/1.0.1" + "source": "https://github.com/phar-io/composer-distributor/tree/1.0.2" }, "funding": [ { @@ -1580,7 +1586,7 @@ "type": "other" } ], - "time": "2021-04-21T12:34:19+00:00" + "time": "2023-05-31T17:05:49+00:00" }, { "name": "phar-io/executor", @@ -1834,16 +1840,16 @@ }, { "name": "phpdocumentor/shim", - "version": "v3.3.1", + "version": "v3.4.3", "source": { "type": "git", "url": "https://github.com/phpDocumentor/shim.git", - "reference": "65f8734d91b294555fcb2ca8808f87811e18abed" + "reference": "cda99f4be51464da4557f240b9bb98e85a9163fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/shim/zipball/65f8734d91b294555fcb2ca8808f87811e18abed", - "reference": "65f8734d91b294555fcb2ca8808f87811e18abed", + "url": "https://api.github.com/repos/phpDocumentor/shim/zipball/cda99f4be51464da4557f240b9bb98e85a9163fa", + "reference": "cda99f4be51464da4557f240b9bb98e85a9163fa", "shasum": "" }, "require": { @@ -1864,22 +1870,22 @@ "MIT" ], "support": { - "source": "https://github.com/phpDocumentor/shim/tree/v3.3.1" + "source": "https://github.com/phpDocumentor/shim/tree/v3.4.3" }, - "time": "2022-03-25T16:05:14+00:00" + "time": "2023-10-04T18:36:17+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.26", + "version": "9.2.29", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", "shasum": "" }, "require": { @@ -1935,7 +1941,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26" + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29" }, "funding": [ { @@ -1943,7 +1950,7 @@ "type": "github" } ], - "time": "2023-03-06T12:58:08+00:00" + "time": "2023-09-19T04:57:46+00:00" }, { "name": "phpunit/php-file-iterator", @@ -2188,16 +2195,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.9", + "version": "9.6.13", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a9aceaf20a682aeacf28d582654a1670d8826778" + "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a9aceaf20a682aeacf28d582654a1670d8826778", - "reference": "a9aceaf20a682aeacf28d582654a1670d8826778", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be", + "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be", "shasum": "" }, "require": { @@ -2212,7 +2219,7 @@ "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.13", + "phpunit/php-code-coverage": "^9.2.28", "phpunit/php-file-iterator": "^3.0.5", "phpunit/php-invoker": "^3.1.1", "phpunit/php-text-template": "^2.0.3", @@ -2271,7 +2278,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.9" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13" }, "funding": [ { @@ -2287,7 +2294,7 @@ "type": "tidelift" } ], - "time": "2023-06-11T06:13:56+00:00" + "time": "2023-09-19T05:39:22+00:00" }, { "name": "phpunit/phpunit-selenium", @@ -2908,16 +2915,16 @@ }, { "name": "sebastian/global-state", - "version": "5.0.5", + "version": "5.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + "reference": "bde739e7565280bda77be70044ac1047bc007e34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", + "reference": "bde739e7565280bda77be70044ac1047bc007e34", "shasum": "" }, "require": { @@ -2960,7 +2967,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" }, "funding": [ { @@ -2968,7 +2975,7 @@ "type": "github" } ], - "time": "2022-02-14T08:28:10+00:00" + "time": "2023-08-02T09:26:13+00:00" }, { "name": "sebastian/lines-of-code", diff --git a/framework/Collections/ICollectionFilter.php b/framework/Collections/ICollectionFilter.php index 9c043ca54..8e7bfc52e 100644 --- a/framework/Collections/ICollectionFilter.php +++ b/framework/Collections/ICollectionFilter.php @@ -17,7 +17,7 @@ * into {@see WeakReference}. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ interface ICollectionFilter { diff --git a/framework/Collections/IPriorityCollection.php b/framework/Collections/IPriorityCollection.php index 486fe3f1d..7fd7f449c 100644 --- a/framework/Collections/IPriorityCollection.php +++ b/framework/Collections/IPriorityCollection.php @@ -16,7 +16,7 @@ * that provide priority collections. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ interface IPriorityCollection { diff --git a/framework/Collections/IWeakCollection.php b/framework/Collections/IWeakCollection.php index d064cdef1..a7a334ceb 100644 --- a/framework/Collections/IWeakCollection.php +++ b/framework/Collections/IWeakCollection.php @@ -16,7 +16,7 @@ * and {@see \Prado\Collections\TWeakList} for providing weak collections. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ interface IWeakCollection { diff --git a/framework/Collections/IWeakRetainable.php b/framework/Collections/IWeakRetainable.php index 3ad16ed29..ca4c20200 100644 --- a/framework/Collections/IWeakRetainable.php +++ b/framework/Collections/IWeakRetainable.php @@ -16,7 +16,7 @@ * {@see \Prado\Collections\TWeakCallableCollection}, and {@see \Prado\TEventHandler} * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ interface IWeakRetainable { diff --git a/framework/Collections/TArraySubscription.php b/framework/Collections/TArraySubscription.php index 37330deba..521babf68 100644 --- a/framework/Collections/TArraySubscription.php +++ b/framework/Collections/TArraySubscription.php @@ -63,7 +63,7 @@ * ``` * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 * @todo TComponent is too complex, TBaseObject for getters/setters. */ class TArraySubscription diff --git a/framework/Collections/TCollectionSubscription.php b/framework/Collections/TCollectionSubscription.php index 118423014..a9ff92c73 100644 --- a/framework/Collections/TCollectionSubscription.php +++ b/framework/Collections/TCollectionSubscription.php @@ -24,7 +24,7 @@ * reference. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TCollectionSubscription extends TArraySubscription { diff --git a/framework/Collections/TList.php b/framework/Collections/TList.php index 3c5f74f63..dbde9e646 100644 --- a/framework/Collections/TList.php +++ b/framework/Collections/TList.php @@ -416,7 +416,7 @@ public function offsetUnset($offset): void * because their value is the default one or useless to be cached for the next page loads. * When there are no items in the list, _d and _c are not stored * @param array $exprops by reference - * @since 4.2.3 + * @since 4.3.0 */ protected function _getZappableSleepProps(&$exprops) { diff --git a/framework/Collections/TMap.php b/framework/Collections/TMap.php index 30826df75..9b65d55bc 100644 --- a/framework/Collections/TMap.php +++ b/framework/Collections/TMap.php @@ -196,7 +196,7 @@ public function remove($key) * @param mixed $item the item to be removed * @throws TInvalidOperationException if the map is read-only * @return array The array of keys and the item removed. - * since 4.2.3 + * since 4.3.0 */ public function removeItem(mixed $item): array { @@ -236,7 +236,7 @@ public function contains($key): bool * @param mixed $item the item * @param bool $multiple Return an array of all the keys. Default true. * @return false|mixed the key of the item in the map, false if not found. - * since 4.2.3 + * since 4.3.0 */ public function keyOf($item, bool $multiple = true): mixed { diff --git a/framework/Collections/TPriorityCollectionTrait.php b/framework/Collections/TPriorityCollectionTrait.php index bce46148f..d0cf315ef 100644 --- a/framework/Collections/TPriorityCollectionTrait.php +++ b/framework/Collections/TPriorityCollectionTrait.php @@ -57,7 +57,7 @@ * ``` * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ trait TPriorityCollectionTrait { diff --git a/framework/Collections/TPriorityList.php b/framework/Collections/TPriorityList.php index 30ff0c5bf..414ef6375 100644 --- a/framework/Collections/TPriorityList.php +++ b/framework/Collections/TPriorityList.php @@ -613,7 +613,7 @@ public function offsetUnset($offset): void * Reimplement in derived classes to add new variables, but remember to also to call the parent * implementation first. * @param array $exprops by reference - * @since 4.2.3 + * @since 4.3.0 */ protected function _getZappableSleepProps(&$exprops) { diff --git a/framework/Collections/TPriorityMap.php b/framework/Collections/TPriorityMap.php index 47320ef0b..0dfe5f9fb 100644 --- a/framework/Collections/TPriorityMap.php +++ b/framework/Collections/TPriorityMap.php @@ -427,7 +427,7 @@ public function mergeWith($data): void * Reimplement in derived classes to add new variables, but remember to also to call the parent * implementation first. * @param array $exprops by reference - * @since 4.2.3 + * @since 4.3.0 */ protected function _getZappableSleepProps(&$exprops) { diff --git a/framework/Collections/TPriorityPropertyTrait.php b/framework/Collections/TPriorityPropertyTrait.php index 42fa42949..37331886a 100644 --- a/framework/Collections/TPriorityPropertyTrait.php +++ b/framework/Collections/TPriorityPropertyTrait.php @@ -26,7 +26,7 @@ * The priority is implement with a float. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ trait TPriorityPropertyTrait { diff --git a/framework/Collections/TWeakCallableCollection.php b/framework/Collections/TWeakCallableCollection.php index f25b1a4bc..c1a700121 100644 --- a/framework/Collections/TWeakCallableCollection.php +++ b/framework/Collections/TWeakCallableCollection.php @@ -95,7 +95,7 @@ public function __construct($data = null, $readOnly = null, $defaultPriority = n /** * Cloning a TWeakCallableCollection requires cloning the WeakMap - * @since 4.2.3 + * @since 4.3.0 */ public function __clone() { @@ -106,7 +106,7 @@ public function __clone() /** * Waking up a TWeakCallableCollection requires creating the WeakMap. No items * are saved in TWeakList so only initialization of the WeakMap is required. - * @since 4.2.3 + * @since 4.3.0 */ public function __wakeup() { @@ -132,7 +132,7 @@ public function getAutoGlobalListen() * if the object being added is a TEventHandler, we use the {@see \Prado\TEventHandler::getHandlerObject} * object instead of the TEventHandler itself. * @param object $object The object to add to the managed weak map. - * @since 4.2.3 + * @since 4.3.0 */ protected function weakCustomAdd(object $object) { @@ -151,7 +151,7 @@ protected function weakCustomAdd(object $object) * if the object being removed is a TEventHandler, we use the {@see \Prado\TEventHandler::getHandlerObject} * object instead of the TEventHandler itself. * @param object $object The object to remove to the managed weak map. - * @since 4.2.3 + * @since 4.3.0 */ protected function weakCustomRemove(object $object) { @@ -226,7 +226,7 @@ public static function filterItemForInput(&$handler, $validate = false): void * have lost their object. * All invalid WeakReference[s] are optionally removed from the list when {@see * getDiscardInvalid} is true. - * @since 4.2.3 + * @since 4.3.0 */ protected function scrubWeakReferences() { @@ -268,7 +268,7 @@ protected function scrubWeakReferences() /** * @return bool Does the TWeakList scrub invalid WeakReferences. - * @since 4.2.3 + * @since 4.3.0 */ public function getDiscardInvalid(): bool { @@ -290,7 +290,7 @@ protected function collapseDiscardInvalid() * All invalid WeakReference[s] are optionally removed from the list on $value * being "true". * @param null|bool|string $value Sets the TWeakList scrubbing of invalid WeakReferences. - * @since 4.2.3 + * @since 4.3.0 */ public function setDiscardInvalid($value): void { @@ -351,7 +351,7 @@ protected function flattenPriorities(): void * All invalid WeakReference[s] are optionally removed from the list before getting * the priorities. * @return array the array of priority numerics in increasing priority number - * @since 4.2.3 + * @since 4.3.0 */ public function getPriorities(): array { @@ -365,7 +365,7 @@ public function getPriorities(): array * @param null|numeric $priority optional priority at which to count items. if no * parameter, it will be set to the default {@see getDefaultPriority} * @return int the number of items in the list at the specified priority - * @since 4.2.3 + * @since 4.3.0 */ public function getPriorityCount($priority = null) { @@ -378,7 +378,7 @@ public function getPriorityCount($priority = null) * All invalid WeakReference[s] are optionally removed from the list before indexing. * This method is required by the interface \IteratorAggregate. * @return \Iterator an iterator for traversing the items in the list. - * @since 4.2.3 + * @since 4.3.0 */ public function getIterator(): \Iterator { @@ -392,7 +392,7 @@ public function getIterator(): \Iterator * Returns the total number of items in the list * All invalid WeakReference[s] are optionally removed from the list before counting. * @return int the number of items in the list - * @since 4.2.3 + * @since 4.3.0 */ public function getCount(): int { @@ -462,7 +462,7 @@ public function itemAtIndexInPriority($index, $priority = null) * @param mixed $item new item to add * @throws TInvalidDataValueException If the index specified exceeds the bound * @throws TInvalidOperationException if the list is read-only - * @since 4.2.3 + * @since 4.3.0 */ public function insertAt($index, $item) { @@ -513,7 +513,7 @@ public function insertAtIndexInPriority($item, $index = null, $priority = null, * @throws \Prado\Exceptions\TInvalidDataValueException If the index specified exceeds the * bound * @throws \Prado\Exceptions\TInvalidOperationException if the list is read-only - * @since 4.2.3 + * @since 4.3.0 */ protected function internalInsertAtIndexInPriority($items, $index = null, $priority = null, $preserveCache = false) { @@ -563,7 +563,7 @@ protected function internalInsertAtIndexInPriority($items, $index = null, $prior * the default priority. * @throws TInvalidDataValueException If the item does not exist * @return int index within the flattened list at which the item is being removed - * @since 4.2.3 + * @since 4.3.0 */ public function remove($item, $priority = false) { @@ -609,7 +609,7 @@ public function remove($item, $priority = false) * @throws TInvalidDataValueException If the index specified exceeds the bound * @throws TInvalidOperationException if the list is read-only * @return mixed the removed item. - * @since 4.2.3 + * @since 4.3.0 */ public function removeAt($index) { @@ -647,7 +647,7 @@ public function removeAtIndexInPriority($index, $priority = null) * left blank, it is then set to the default priority * @throws TInvalidDataValueException If the item does not exist * @return mixed the removed item. - * @since 4.2.3 + * @since 4.3.0 */ protected function internalRemoveAtIndexInPriority($index, $priority = null) { @@ -662,7 +662,7 @@ protected function internalRemoveAtIndexInPriority($index, $priority = null) /** * Removes all items in the priority list by calling removeAtIndexInPriority from the * last item to the first. - * @since 4.2.3 + * @since 4.3.0 */ public function clear(): void { @@ -685,7 +685,7 @@ public function clear(): void /** * @param mixed $item the item * @return bool whether the list contains the item - * @since 4.2.3 + * @since 4.3.0 */ public function contains($item): bool { @@ -814,7 +814,7 @@ public function priorityOf($item, $withindex = false) * if $withindex is true, an array is returned of [0 => $priority, 1 => $priorityIndex, * 2 => flattenedIndex, 'priority' => $priority, 'index' => $priorityIndex, 'absindex' * => flattenedIndex] - * @since 4.2.3 + * @since 4.3.0 */ public function priorityAt($index, $withindex = false) { @@ -830,7 +830,7 @@ public function priorityAt($index, $withindex = false) * @param mixed $item the item to add before indexitem * @throws TInvalidDataValueException If the item does not exist * @return int where the item has been inserted in the flattened list - * @since 4.2.3 + * @since 4.3.0 */ public function insertBefore($indexitem, $item) { @@ -855,7 +855,7 @@ public function insertBefore($indexitem, $item) * @param mixed $item the item to add after indexitem * @throws TInvalidDataValueException If the item does not exist * @return int where the item has been inserted in the flattened list - * @since 4.2.3 + * @since 4.3.0 */ public function insertAfter($indexitem, $item) { @@ -875,7 +875,7 @@ public function insertAfter($indexitem, $item) /** * All invalid WeakReference[s] are optionally removed from the list before returning. * @return array the priority list of items in array - * @since 4.2.3 + * @since 4.3.0 */ public function toArray(): array { @@ -925,7 +925,7 @@ public function toPriorityArrayWeak() * @return array the array of priorities keys with values of arrays of items that * are below a specified priority. The priorities are sorted so important priorities, * lower numerics, are first. - * @since 4.2.3 + * @since 4.3.0 */ public function toArrayBelowPriority($priority, bool $inclusive = false): array { @@ -946,7 +946,7 @@ public function toArrayBelowPriority($priority, bool $inclusive = false): array * @return array the array of priorities keys with values of arrays of items that * are above a specified priority. The priorities are sorted so important priorities, * lower numerics, are first. - * @since 4.2.3 + * @since 4.3.0 */ public function toArrayAbovePriority($priority, bool $inclusive = true): array { @@ -962,7 +962,7 @@ public function toArrayAbovePriority($priority, bool $inclusive = true): array * @param mixed $data the data to be copied from, must be an array or object implementing * Traversable * @throws TInvalidDataTypeException If data is neither an array nor a Traversable. - * @since 4.2.3 + * @since 4.3.0 */ public function copyFrom($data): void { @@ -1007,7 +1007,7 @@ public function copyFrom($data): void * @param mixed $data the data to be merged with, must be an array or object implementing * Traversable * @throws TInvalidDataTypeException If data is neither an array nor an iterator. - * @since 4.2.3 + * @since 4.3.0 */ public function mergeWith($data): void { @@ -1050,7 +1050,7 @@ public function mergeWith($data): void * is given. * @param int $offset the offset to set element * @param mixed $item the element value - * @since 4.2.3 + * @since 4.3.0 */ public function offsetSet($offset, $item): void { @@ -1079,7 +1079,7 @@ public function offsetSet($offset, $item): void * for the next page loads. Reimplement in derived classes to add new variables, * but remember to also to call the parent implementation first. * @param array $exprops by reference - * @since 4.2.3 + * @since 4.3.0 */ protected function _getZappableSleepProps(&$exprops) { diff --git a/framework/Collections/TWeakCollectionTrait.php b/framework/Collections/TWeakCollectionTrait.php index 0b10f3e38..2791e4aa4 100644 --- a/framework/Collections/TWeakCollectionTrait.php +++ b/framework/Collections/TWeakCollectionTrait.php @@ -27,7 +27,7 @@ * {@see weakCount} and the count of each object with {@see weakObjectCount}. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 * @see https://www.php.net/manual/en/class.weakmap.php */ trait TWeakCollectionTrait diff --git a/framework/Collections/TWeakList.php b/framework/Collections/TWeakList.php index edfc6f372..954bb78a5 100644 --- a/framework/Collections/TWeakList.php +++ b/framework/Collections/TWeakList.php @@ -61,7 +61,7 @@ * a PHP data type rather than an object. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TWeakList extends TList implements IWeakCollection, ICollectionFilter { @@ -117,7 +117,7 @@ public function __wakeup() * if the object being added is a TEventHandler, we use the {@see \Prado\TEventHandler::getHandlerObject} * object instead of the TEventHandler itself. * @param object $object The object to add to the managed weak map. - * @since 4.2.3 + * @since 4.3.0 */ protected function weakCustomAdd(object $object) { @@ -133,7 +133,7 @@ protected function weakCustomAdd(object $object) * if the object being removed is a TEventHandler, we use the {@see \Prado\TEventHandler::getHandlerObject} * object instead of the TEventHandler itself. * @param object $object The object to remove to the managed weak map. - * @since 4.2.3 + * @since 4.3.0 */ protected function weakCustomRemove(object $object) { diff --git a/framework/Exceptions/TExitException.php b/framework/Exceptions/TExitException.php index e4fd8c783..0bbdf0f27 100644 --- a/framework/Exceptions/TExitException.php +++ b/framework/Exceptions/TExitException.php @@ -20,7 +20,7 @@ * the application. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TExitException extends TSystemException { diff --git a/framework/Exceptions/TLogException.php b/framework/Exceptions/TLogException.php index 8c41cd527..0c61684ac 100644 --- a/framework/Exceptions/TLogException.php +++ b/framework/Exceptions/TLogException.php @@ -15,7 +15,7 @@ * Thrown when there is an exception with logging. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TLogException extends TApplicationException { diff --git a/framework/Exceptions/TNetworkException.php b/framework/Exceptions/TNetworkException.php index 81058d2fe..c7f3a2817 100644 --- a/framework/Exceptions/TNetworkException.php +++ b/framework/Exceptions/TNetworkException.php @@ -16,7 +16,7 @@ * exceptions. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TNetworkException extends TException { diff --git a/framework/Exceptions/TSocketException.php b/framework/Exceptions/TSocketException.php index 015203339..a99860610 100644 --- a/framework/Exceptions/TSocketException.php +++ b/framework/Exceptions/TSocketException.php @@ -18,7 +18,7 @@ * errorCode and gets their translated message from PHP. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TSocketException extends TNetworkException { diff --git a/framework/Exceptions/TUnknownMethodException.php b/framework/Exceptions/TUnknownMethodException.php index 1a25fee98..b5fb6d448 100644 --- a/framework/Exceptions/TUnknownMethodException.php +++ b/framework/Exceptions/TUnknownMethodException.php @@ -16,7 +16,7 @@ * in {@see \Prado\TComponent::__call} and {@see \Prado\TComponent::__callStatic}. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TUnknownMethodException extends TSystemException { diff --git a/framework/Exceptions/TUserException.php b/framework/Exceptions/TUserException.php index 7279b5fa0..41e7b83f8 100644 --- a/framework/Exceptions/TUserException.php +++ b/framework/Exceptions/TUserException.php @@ -16,7 +16,7 @@ * These are usually thrown because of a mistake made by the end user. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TUserException extends TApplicationException { diff --git a/framework/IEventParameter.php b/framework/IEventParameter.php index dc9469c2b..dc0ab3e6e 100644 --- a/framework/IEventParameter.php +++ b/framework/IEventParameter.php @@ -15,7 +15,7 @@ * This interface is for any event parameter to capture the event being raised. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ interface IEventParameter { diff --git a/framework/IO/TStdOutWriter.php b/framework/IO/TStdOutWriter.php index 4115d464b..048839c99 100644 --- a/framework/IO/TStdOutWriter.php +++ b/framework/IO/TStdOutWriter.php @@ -19,7 +19,7 @@ * a new handle to 'php://stdout'. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TStdOutWriter extends TTextWriter { diff --git a/framework/IO/TStreamNotificationCallback.php b/framework/IO/TStreamNotificationCallback.php index cce41bca2..18af1b56d 100644 --- a/framework/IO/TStreamNotificationCallback.php +++ b/framework/IO/TStreamNotificationCallback.php @@ -54,7 +54,7 @@ * notification. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TStreamNotificationCallback extends \Prado\TComponent { diff --git a/framework/IO/TStreamNotificationParameter.php b/framework/IO/TStreamNotificationParameter.php index ac71cbf02..2d0c09f33 100644 --- a/framework/IO/TStreamNotificationParameter.php +++ b/framework/IO/TStreamNotificationParameter.php @@ -16,7 +16,7 @@ * for raising PRADO Stream Notification Events. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 * @link https://www.php.net/manual/en/function.stream-notification-callback.php */ class TStreamNotificationParameter extends \Prado\TEventParameter diff --git a/framework/ISingleton.php b/framework/ISingleton.php index 9cd053c71..33c48cc97 100644 --- a/framework/ISingleton.php +++ b/framework/ISingleton.php @@ -15,7 +15,7 @@ * This interface is for getting specific class (application) singletons. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ interface ISingleton { diff --git a/framework/Prado.php b/framework/Prado.php index 4b7523d8e..fa78b9bfc 100644 --- a/framework/Prado.php +++ b/framework/Prado.php @@ -108,7 +108,7 @@ class Prado */ public static function getVersion(): string { - return '4.2.2'; + return '4.3.0'; } /** @@ -451,7 +451,7 @@ class_alias($namespace, $className); * and for visibility to the calling object. * @param string $method * @return bool Does the method exist and is publicly callable. - * @since 4.2.3 + * @since 4.3.0 */ public static function method_visible($object_or_class, string $method): bool { @@ -471,7 +471,7 @@ public static function method_visible($object_or_class, string $method): bool /** * This method return the object that is calling your method. * @return ?object The parent object calling your code block. - * @since 4.2.3 + * @since 4.3.0 */ public static function callingObject(): ?object { @@ -487,7 +487,7 @@ public static function callingObject(): ?object * this signifies if self, parents, and children have visibility to "protected" * properties, methods, and constants. * @return bool Does the method exist and is publicly callable. - * @since 4.2.3 + * @since 4.3.0 */ public static function isCallingSelf(): bool { @@ -500,7 +500,7 @@ public static function isCallingSelf(): bool * In effect, this allows only the self to have visibility to "private" properties, * methods, and constants. * @return bool Does the method exist and is publicly callable. - * @since 4.2.3 + * @since 4.3.0 */ public static function isCallingSelfClass(): bool { diff --git a/framework/Security/Permissions/TPermissionsManagerPropertyTrait.php b/framework/Security/Permissions/TPermissionsManagerPropertyTrait.php index ddee7f343..f4ee4909b 100644 --- a/framework/Security/Permissions/TPermissionsManagerPropertyTrait.php +++ b/framework/Security/Permissions/TPermissionsManagerPropertyTrait.php @@ -24,7 +24,7 @@ * This functionality is important to replicate if-when overriding. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ trait TPermissionsManagerPropertyTrait { diff --git a/framework/Shell/Actions/TWebServerAction.php b/framework/Shell/Actions/TWebServerAction.php index 4f935dc93..2abf11da9 100644 --- a/framework/Shell/Actions/TWebServerAction.php +++ b/framework/Shell/Actions/TWebServerAction.php @@ -56,7 +56,7 @@ * ``` * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TWebServerAction extends TShellAction { diff --git a/framework/Shell/TShellApplication.php b/framework/Shell/TShellApplication.php index 47153d5bb..2c1193276 100644 --- a/framework/Shell/TShellApplication.php +++ b/framework/Shell/TShellApplication.php @@ -174,7 +174,7 @@ public function processArguments($sender, $param) /** * Installs the shell actions. - * @since 4.2.3 + * @since 4.3.0 */ public function installShellActions() { diff --git a/framework/TApplication.php b/framework/TApplication.php index 85dc169e9..4c4a62a74 100644 --- a/framework/TApplication.php +++ b/framework/TApplication.php @@ -333,7 +333,7 @@ public function __construct($basePath = 'protected', $cacheConfig = true, $confi * be used for undefined static function calls via {@see \Prado\TComponent::__callStatic}. * @param bool $create This is ignored and returns Prado::getApplication(). * @return ?object The singleton instance of the class. - * @since 4.2.3 + * @since 4.3.0 */ public static function singleton(bool $create = true): ?object { diff --git a/framework/TComponent.php b/framework/TComponent.php index 802fb91de..6db60543f 100644 --- a/framework/TComponent.php +++ b/framework/TComponent.php @@ -441,7 +441,7 @@ public function __construct() * IBehavior objects are cloned, IClassBehaviors are not. * Clone object events are scrubbed of the old object behaviors' events. * To finalize the behaviors, dyClone is raised. - * @since 4.2.3 + * @since 4.3.0 */ public function __clone() { @@ -485,7 +485,7 @@ public function __clone() * the module can use a small IClassBehavior [implementing dyWakeUp] * (adding the event[s]) attached to the class with {@see * attachClassBehavior} prior to unserialization. - * @since 4.2.3 + * @since 4.3.0 */ public function __wakeup() { @@ -769,7 +769,7 @@ public function __call($method, $args) * @param string $method The method name of the static call. * @param array $args The array of arguments passed to the static call. * @return mixed the result of the static call. - * @since 4.2.3 + * @since 4.3.0 */ public static function __callStatic(string $method, array $args) { @@ -1117,7 +1117,7 @@ public function setSubProperty($path, $value) * @param mixed &$return The return value. * @param array $args The arguments to the method being called. * @return bool Was the method handled. - * @since 4.2.3 + * @since 4.3.0 */ public function callBehaviorsMethod($method, &$return, ...$args): bool { @@ -1157,7 +1157,7 @@ public function callBehaviorsMethod($method, &$return, ...$args): bool * @param array $args The arguments to the behaviors method being chained. * @return ?TCallChain The chain of methods implemented by behaviors or null when * there are no methods to call. - * @since 4.2.3 + * @since 4.3.0 */ protected function getCallChain($method, ...$args): ?TCallChain { diff --git a/framework/TEventHandler.php b/framework/TEventHandler.php index b0b6b037f..436e112a4 100644 --- a/framework/TEventHandler.php +++ b/framework/TEventHandler.php @@ -89,7 +89,7 @@ * the children will override the parent TEventHandler data. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TEventHandler implements IPriorityProperty, IWeakRetainable, \ArrayAccess, \Countable { diff --git a/framework/TEventParameter.php b/framework/TEventParameter.php index d616ce08e..fd4642d96 100644 --- a/framework/TEventParameter.php +++ b/framework/TEventParameter.php @@ -33,7 +33,7 @@ class TEventParameter extends \Prado\TComponent implements IEventParameter /** * Constructor. * @param null|mixed $parameter parameter of the event - * @since 4.2.3 + * @since 4.3.0 */ public function __construct(mixed $parameter = null) { @@ -43,7 +43,7 @@ public function __construct(mixed $parameter = null) /** * @return string name of the event - * @since 4.2.3 + * @since 4.3.0 */ public function getEventName(): string { @@ -52,7 +52,7 @@ public function getEventName(): string /** * @param string $value name of the event - * @since 4.2.3 + * @since 4.3.0 */ public function setEventName(string $value) { @@ -61,7 +61,7 @@ public function setEventName(string $value) /** * @return mixed parameter of the event - * @since 4.2.3 + * @since 4.3.0 */ public function getParameter(): mixed { @@ -70,7 +70,7 @@ public function getParameter(): mixed /** * @param mixed $value parameter of the event - * @since 4.2.3 + * @since 4.3.0 */ public function setParameter(mixed $value) { diff --git a/framework/TEventSubscription.php b/framework/TEventSubscription.php index 8843b31c5..44e8fdb6a 100644 --- a/framework/TEventSubscription.php +++ b/framework/TEventSubscription.php @@ -33,7 +33,7 @@ * ``` * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TEventSubscription extends \Prado\Collections\TCollectionSubscription { diff --git a/framework/Util/Behaviors/TApplicationSignals.php b/framework/Util/Behaviors/TApplicationSignals.php index 1bcffb768..6d55b227c 100644 --- a/framework/Util/Behaviors/TApplicationSignals.php +++ b/framework/Util/Behaviors/TApplicationSignals.php @@ -37,7 +37,7 @@ * ``` * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TApplicationSignals extends TBehavior { diff --git a/framework/Util/Behaviors/TCaptureForkLog.php b/framework/Util/Behaviors/TCaptureForkLog.php index 850efd284..a817890ba 100644 --- a/framework/Util/Behaviors/TCaptureForkLog.php +++ b/framework/Util/Behaviors/TCaptureForkLog.php @@ -42,7 +42,7 @@ * ``` * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TCaptureForkLog extends \Prado\Util\TBehavior { diff --git a/framework/Util/Behaviors/TForkable.php b/framework/Util/Behaviors/TForkable.php index 3e30fa5b1..38e6efdad 100644 --- a/framework/Util/Behaviors/TForkable.php +++ b/framework/Util/Behaviors/TForkable.php @@ -23,7 +23,7 @@ * or the handlers will be double added. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TForkable extends \Prado\Util\TBehavior { diff --git a/framework/Util/Behaviors/TGlobalClassAware.php b/framework/Util/Behaviors/TGlobalClassAware.php index 65693d785..b7e255d0a 100644 --- a/framework/Util/Behaviors/TGlobalClassAware.php +++ b/framework/Util/Behaviors/TGlobalClassAware.php @@ -27,7 +27,7 @@ * class behaviors when there is a change in the global class behaviors. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TGlobalClassAware extends \Prado\Util\TBehavior { diff --git a/framework/Util/Behaviors/TNoUnserializeBehaviorTrait.php b/framework/Util/Behaviors/TNoUnserializeBehaviorTrait.php index 34685d1db..3c17fad3a 100644 --- a/framework/Util/Behaviors/TNoUnserializeBehaviorTrait.php +++ b/framework/Util/Behaviors/TNoUnserializeBehaviorTrait.php @@ -22,7 +22,7 @@ * the object can be saved without the deprecated behavior. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ trait TNoUnserializeBehaviorTrait { diff --git a/framework/Util/Behaviors/TNoUnserializeClassBehaviorTrait.php b/framework/Util/Behaviors/TNoUnserializeClassBehaviorTrait.php index 9884ee9e9..3aa437355 100644 --- a/framework/Util/Behaviors/TNoUnserializeClassBehaviorTrait.php +++ b/framework/Util/Behaviors/TNoUnserializeClassBehaviorTrait.php @@ -22,7 +22,7 @@ * the object can be saved without the deprecated behavior. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ trait TNoUnserializeClassBehaviorTrait { diff --git a/framework/Util/Helpers/TArrayHelper.php b/framework/Util/Helpers/TArrayHelper.php index 9f9ffdbd0..eaf819ca0 100644 --- a/framework/Util/Helpers/TArrayHelper.php +++ b/framework/Util/Helpers/TArrayHelper.php @@ -17,7 +17,7 @@ * This is the class to assist in array access. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TArrayHelper { diff --git a/framework/Util/Helpers/TBitHelper.php b/framework/Util/Helpers/TBitHelper.php index 79630c981..7059999da 100644 --- a/framework/Util/Helpers/TBitHelper.php +++ b/framework/Util/Helpers/TBitHelper.php @@ -60,7 +60,7 @@ * Converting LongLong is only supported in 64 bit PHP environments. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TBitHelper { diff --git a/framework/Util/Helpers/TEscCharsetConverter.php b/framework/Util/Helpers/TEscCharsetConverter.php index 7715b27df..77bf07aae 100644 --- a/framework/Util/Helpers/TEscCharsetConverter.php +++ b/framework/Util/Helpers/TEscCharsetConverter.php @@ -18,7 +18,7 @@ * Each Esc charset Encoding has 4 versions for G0, G1, G2, and G3. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 * @see https://en.wikipedia.org/wiki/ISO/IEC_2022 General structure of character encodings. * @see https://en.wikipedia.org/wiki/ISO/IEC_646 National standards for ASCII. * @see https://www.sljfaq.org/afaq/encodings.html Japanese encodings and character sets. diff --git a/framework/Util/Helpers/TProcessHelper.php b/framework/Util/Helpers/TProcessHelper.php index 59c94a33e..b666a5a45 100644 --- a/framework/Util/Helpers/TProcessHelper.php +++ b/framework/Util/Helpers/TProcessHelper.php @@ -45,7 +45,7 @@ * and {@see self::setProcessPriority()}, respectively. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TProcessHelper { diff --git a/framework/Util/Helpers/TProcessWindowsPriority.php b/framework/Util/Helpers/TProcessWindowsPriority.php index f63e5c3bf..02c09abcd 100644 --- a/framework/Util/Helpers/TProcessWindowsPriority.php +++ b/framework/Util/Helpers/TProcessWindowsPriority.php @@ -15,7 +15,7 @@ * Windows indicates process priority with these specified priority numbers. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TProcessWindowsPriority extends \Prado\TEnumerable { diff --git a/framework/Util/Helpers/TProcessWindowsPriorityName.php b/framework/Util/Helpers/TProcessWindowsPriorityName.php index 094b4295c..665c8c107 100644 --- a/framework/Util/Helpers/TProcessWindowsPriorityName.php +++ b/framework/Util/Helpers/TProcessWindowsPriorityName.php @@ -15,7 +15,7 @@ * Windows uses these priority names to specify the priorities of processes. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TProcessWindowsPriorityName extends \Prado\TEnumerable { diff --git a/framework/Util/IBaseBehavior.php b/framework/Util/IBaseBehavior.php index ab9848d00..5300da65d 100644 --- a/framework/Util/IBaseBehavior.php +++ b/framework/Util/IBaseBehavior.php @@ -85,44 +85,44 @@ public function detach($component); /** * @return ?string The name of the behavior in the owner[s]. - * @since 4.2.3 + * @since 4.3.0 */ public function getName(): ?string; /** * @param ?string $value The name of the behavior in the owner[s]. - * @since 4.2.3 + * @since 4.3.0 */ public function setName($value); /** * @return bool Whether this behavior is enabled. See implementation for default. - * @since 4.2.3 + * @since 4.3.0 */ public function getEnabled(): bool; /** * @param bool $value Whether this behavior is enabled. - * @since 4.2.3 + * @since 4.3.0 */ public function setEnabled($value); /** * @return array The owner component(s) that this behavior is attached to. [] when none. - * @since 4.2.3 + * @since 4.3.0 */ public function getOwners(): array; /** * @return bool Is the behavior attached to an owner. - * @since 4.2.3 + * @since 4.3.0 */ public function hasOwner(): bool; /** * @param object $component The component to check if its an owner. * @return bool Is the object an owner of the behavior. - * @since 4.2.3 + * @since 4.3.0 */ public function isOwner(object $component): bool; @@ -135,7 +135,7 @@ public function isOwner(object $component): bool; * to install and forcibly attach or detach the handlers when true or null. Default * is 0 for standard attachment logic. false resets the overrides to default attachment * logic. - * @since 4.2.3 + * @since 4.3.0 */ public function syncEventHandlers(?object $component = null, $attachOverride = 0); } diff --git a/framework/Util/IOutputLogRoute.php b/framework/Util/IOutputLogRoute.php index 414d2ea10..de95c6284 100644 --- a/framework/Util/IOutputLogRoute.php +++ b/framework/Util/IOutputLogRoute.php @@ -15,7 +15,7 @@ * The interface for the log routes that use the OUTPUT pipe to display the log. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ interface IOutputLogRoute { diff --git a/framework/Util/Math/TRational.php b/framework/Util/Math/TRational.php index bddcf5b14..93acdf26b 100644 --- a/framework/Util/Math/TRational.php +++ b/framework/Util/Math/TRational.php @@ -59,7 +59,7 @@ * Directory of EXIF. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 * @see https://en.wikipedia.org/wiki/Continued_fraction */ class TRational implements \ArrayAccess diff --git a/framework/Util/Math/TURational.php b/framework/Util/Math/TURational.php index e822f3dd6..9175d68fa 100644 --- a/framework/Util/Math/TURational.php +++ b/framework/Util/Math/TURational.php @@ -34,7 +34,7 @@ * * @author Brad Anderson * @see TRational - * @since 4.2.3 + * @since 4.3.0 */ class TURational extends TRational { diff --git a/framework/Util/TBaseBehavior.php b/framework/Util/TBaseBehavior.php index 527fd6b2e..8c130be6a 100644 --- a/framework/Util/TBaseBehavior.php +++ b/framework/Util/TBaseBehavior.php @@ -44,7 +44,7 @@ * and multiple TClassBehavior owners. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ abstract class TBaseBehavior extends TApplicationComponent implements IBaseBehavior { @@ -300,7 +300,7 @@ public function setRetainDisabledHandlers($value) * for normal action and no override (true/null) or reset (false). * @throws TInvalidOperationException When synchronizing a component without owners * or the component that isn't an owner. - * @since 4.2.3 + * @since 4.3.0 */ public function syncEventHandlers(?object $component = null, $attachOverride = 0) { @@ -338,7 +338,7 @@ public function syncEventHandlers(?object $component = null, $attachOverride = 0 * attachment status of handlers on the owner components. * @param TComponent $component The component to attach the behavior event handlers to. * @return bool Successfully attached the event handlers. - * @since 4.2.3 + * @since 4.3.0 */ protected function attachEventHandlers(TComponent $component): bool { @@ -362,7 +362,7 @@ protected function attachEventHandlers(TComponent $component): bool * attachment status of handlers on the owner components. * @param TComponent $component The component to detach the behavior event handlers from. * @return bool Successfully detached the event handlers. - * @since 4.2.3 + * @since 4.3.0 */ protected function detachEventHandlers(TComponent $component): bool { @@ -386,7 +386,7 @@ protected function detachEventHandlers(TComponent $component): bool * @param ?TComponent $component The component to check the status of the handlers. * Null only works for IBehavior and returns the status of the single owner. * @return bool Are the behavior handlers attached to the given owner events. - * @since 4.2.3 + * @since 4.3.0 */ abstract protected function getHandlersStatus(?TComponent $component = null): ?bool; @@ -397,7 +397,7 @@ abstract protected function getHandlersStatus(?TComponent $component = null): ?b * @param bool $attach "true" to attach the handlers or "false" detach them. * @return bool Is there a change in the attachment status for the given owner * component. - * @since 4.2.3 + * @since 4.3.0 */ abstract protected function setHandlersStatus(TComponent $component, bool $attach): bool; diff --git a/framework/Util/TBehavior.php b/framework/Util/TBehavior.php index 3ffa0545d..820e20aca 100644 --- a/framework/Util/TBehavior.php +++ b/framework/Util/TBehavior.php @@ -51,7 +51,7 @@ class TBehavior extends TBaseBehavior implements IBehavior /** * This resets the owner and _handlersInstalled flag on cloning. - * @since 4.2.3 + * @since 4.3.0 */ public function __clone() { @@ -128,7 +128,7 @@ public function getOwner(): ?object * TClassBehavior could return multiple owners, but this type of behavior only * has one. * @return array An array of the owner component. - * @since 4.2.3 + * @since 4.3.0 */ public function getOwners(): array { @@ -140,7 +140,7 @@ public function getOwners(): array /** * @return bool Is the behavior attached to an owner. - * @since 4.2.3 + * @since 4.3.0 */ public function hasOwner(): bool { @@ -150,7 +150,7 @@ public function hasOwner(): bool /** * @param object $component The object to check if its the owner of the behavior. * @return bool Is the object an owner of the behavior. - * @since 4.2.3 + * @since 4.3.0 */ public function isOwner(object $component): bool { @@ -164,7 +164,7 @@ public function isOwner(object $component): bool * the behaviors are already enabled in the owner. * @param ?TCallChain $chain The chain of dynamic events being raised. Default * is null for no chain continuation. - * @since 4.2.3 + * @since 4.3.0 */ public function dyEnableBehaviors(?TCallChain $chain = null) { @@ -180,7 +180,7 @@ public function dyEnableBehaviors(?TCallChain $chain = null) * and it will delegate the $chain continuation to the subclass implementation. * @param ?TCallChain $chain The chain of dynamic events being raised. Default * is null for no chain continuation. - * @since 4.2.3 + * @since 4.3.0 */ public function dyDisableBehaviors(?TCallChain $chain = null) { @@ -197,7 +197,7 @@ public function dyDisableBehaviors(?TCallChain $chain = null) * Default null for the IBehavior owner status. This must match the owner if/when * provided. * @return bool Are the behavior handlers attached to the owner events. - * @since 4.2.3 + * @since 4.3.0 */ protected function getHandlersStatus(?TComponent $component = null): ?bool { @@ -213,7 +213,7 @@ protected function getHandlersStatus(?TComponent $component = null): ?bool * @param TComponent $component The owner of the behavior. * @param bool $attach "true" to attach the handlers or "false" to detach. * @return bool Is there a change in the attachment status on the owner. - * @since 4.2.3 + * @since 4.3.0 */ protected function setHandlersStatus(TComponent $component, bool $attach): bool { @@ -233,7 +233,7 @@ protected function setHandlersStatus(TComponent $component, bool $attach): bool * for the next page loads. Reimplement in derived classes to add new variables, * but remember to also to call the parent implementation first. * @param array $exprops by reference - * @since 4.2.3 + * @since 4.3.0 */ protected function _getZappableSleepProps(&$exprops) { diff --git a/framework/Util/TBrowserLogRoute.php b/framework/Util/TBrowserLogRoute.php index 9bf33f421..158b3a847 100644 --- a/framework/Util/TBrowserLogRoute.php +++ b/framework/Util/TBrowserLogRoute.php @@ -28,12 +28,12 @@ class TBrowserLogRoute extends TLogRoute implements IOutputLogRoute private $_cssClass; /** * @var bool colorize the deltas. - * @since 4.2.3 + * @since 4.3.0 */ private bool $_colorizeDelta = true; /** * @var bool add the prefix to the message - * @since 4.2.3 + * @since 4.3.0 */ private bool $_addPrefix = false; @@ -78,7 +78,7 @@ public function setCssClass($value): static /** * @return bool Colorize the Deltas - * @since 4.2.3 + * @since 4.3.0 */ public function getColorizeDelta(): bool { @@ -87,7 +87,7 @@ public function getColorizeDelta(): bool /** * @param bool|string $value Colorize the Deltas - * @since 4.2.3 + * @since 4.3.0 */ public function setColorizeDelta($value): static { @@ -97,7 +97,7 @@ public function setColorizeDelta($value): static /** * @return bool Adds the prefix to the message - * @since 4.2.3 + * @since 4.3.0 */ public function getAddPrefix(): bool { @@ -106,7 +106,7 @@ public function getAddPrefix(): bool /** * @param bool|string $value Adds the prefix to the message - * @since 4.2.3 + * @since 4.3.0 */ public function setAddPrefix($value): static { diff --git a/framework/Util/TClassBehavior.php b/framework/Util/TClassBehavior.php index 6825830ca..fddfa0461 100644 --- a/framework/Util/TClassBehavior.php +++ b/framework/Util/TClassBehavior.php @@ -136,7 +136,7 @@ public function detach($component) /** * @return array The owner components that this behavior is attached to. - * @since 4.2.3 + * @since 4.3.0 */ public function getOwners(): array { @@ -148,7 +148,7 @@ public function getOwners(): array /** * @return bool Is the behavior attached to an owner. - * @since 4.2.3 + * @since 4.3.0 */ public function hasOwner(): bool { @@ -158,7 +158,7 @@ public function hasOwner(): bool /** * @param object $component * @return bool Is the object an owner of the behavior. - * @since 4.2.3 + * @since 4.3.0 */ public function isOwner(object $component): bool { @@ -173,7 +173,7 @@ public function isOwner(object $component): bool * @param TComponent $owner The owner enabling their behaviors. * @param ?TCallChain $chain The chain of dynamic events being raised. Default * is null for no continuation. - * @since 4.2.3 + * @since 4.3.0 */ public function dyEnableBehaviors($owner, ?TCallChain $chain = null) { @@ -190,7 +190,7 @@ public function dyEnableBehaviors($owner, ?TCallChain $chain = null) * @param TComponent $owner The owner disabling their behaviors. * @param ?TCallChain $chain The chain of dynamic events being raised. Default * is null for no continuation. - * @since 4.2.3 + * @since 4.3.0 */ public function dyDisableBehaviors($owner, ?TCallChain $chain = null) { @@ -205,7 +205,7 @@ public function dyDisableBehaviors($owner, ?TCallChain $chain = null) * @param ?TComponent $component The component to check the handlers attachment status. * This parameter must be provided; null is not supported in TClassBehavior. * @return bool Are the behavior handlers attached to the given owner events. - * @since 4.2.3 + * @since 4.3.0 */ protected function getHandlersStatus(?TComponent $component = null): ?bool { @@ -223,7 +223,7 @@ protected function getHandlersStatus(?TComponent $component = null): ?bool * @param bool $attach "true" to attach the handlers or "false" to detach. * @return bool Is there a change in the attachment status for the given owner * component. - * @since 4.2.3 + * @since 4.3.0 */ protected function setHandlersStatus(TComponent $component, bool $attach): bool { @@ -246,7 +246,7 @@ protected function setHandlersStatus(TComponent $component, bool $attach): bool * Reimplement in derived classes to add new variables, but remember to also to call the parent * implementation first. * @param array $exprops by reference - * @since 4.2.3 + * @since 4.3.0 */ protected function _getZappableSleepProps(&$exprops) { diff --git a/framework/Util/TDbLogRoute.php b/framework/Util/TDbLogRoute.php index 8e5e8a23d..74e40e0ef 100644 --- a/framework/Util/TDbLogRoute.php +++ b/framework/Util/TDbLogRoute.php @@ -38,7 +38,7 @@ * ); * ``` * - * 4.2.3 Notes: Add the `prefix` to the log table: + * 4.3.0 Notes: Add the `prefix` to the log table: * `ALTER TABLE pradolog ADD COLUMN prefix VARCHAR(128) AFTER category;` * * @author Qiang Xue @@ -66,7 +66,7 @@ class TDbLogRoute extends TLogRoute /** * @var ?float The number of seconds of the log to retain. Default null for logs are * not deleted. - * @since 4.2.3 + * @since 4.3.0 */ private ?float $_retainPeriod = null; @@ -144,7 +144,7 @@ protected function processLogs(array $logs, bool $final, array $meta) * @param ?float $maxTime All logs before this time are found * @param mixed $values the values to fill in. * @return string The where clause for the various SQL statements. - * @since 4.2.3 + * @since 4.3.0 */ protected function getLogWhere(?int $level, null|string|array $categories, ?float $minTime, ?float $maxTime, &$values): string { @@ -212,7 +212,7 @@ protected function getLogWhere(?int $level, null|string|array $categories, ?floa * @param ?float $minTime All logs after this time are found * @param ?float $maxTime All logs before this time are found * @return string The where clause for the various SQL statements.. - * @since 4.2.3 + * @since 4.3.0 */ public function getDBLogCount(?int $level = null, null|string|array $categories = null, ?float $minTime = null, ?float $maxTime = null) { @@ -236,7 +236,7 @@ public function getDBLogCount(?int $level = null, null|string|array $categories * @param string $order The order statement. * @param string $limit The limit statement. * @return \Prado\Data\TDbDataReader the logs from the database. - * @since 4.2.3 + * @since 4.3.0 */ public function getDBLogs(?int $level = null, null|string|array $categories = null, ?float $minTime = null, ?float $maxTime = null, string $order = '', string $limit = '') { @@ -264,7 +264,7 @@ public function getDBLogs(?int $level = null, null|string|array $categories = nu * @param ?float $minTime All logs after this time are found * @param ?float $maxTime All logs before this time are found * @return int the number of logs in the database. - * @since 4.2.3 + * @since 4.3.0 */ public function deleteDBLog(?int $level = null, null|string|array $categories = null, ?float $minTime = null, ?float $maxTime = null) { @@ -409,7 +409,7 @@ public function setAutoCreateLogTable($value): static /** * @return ?float The seconds to retain. Null is no end. - * @since 4.2.3 + * @since 4.3.0 */ public function getRetainPeriod(): ?float { @@ -420,7 +420,7 @@ public function getRetainPeriod(): ?float * @param null|int|string $value Number of seconds or "PT" period time. * @throws TConfigurationException when the time span is not a valid "PT" string. * @return static The current object. - * @since 4.2.3 + * @since 4.3.0 */ public function setRetainPeriod($value): static { @@ -448,7 +448,7 @@ public function setRetainPeriod($value): static /** * @param string $timespan The time span to compute the number of seconds. * @retutrn ?int the number of seconds of the time span. - * @since 4.2.3 + * @since 4.3.0 */ public static function timespanToSeconds(string $timespan): ?int { diff --git a/framework/Util/TLogRoute.php b/framework/Util/TLogRoute.php index dffb54c05..5be5bc589 100644 --- a/framework/Util/TLogRoute.php +++ b/framework/Util/TLogRoute.php @@ -28,7 +28,7 @@ * which takes a string of comma-separated desired category names (e.g. 'Prado\Web, Prado\IO'). * * The categories filter can use '!' or '~', e.g. '!Prado\Web\UI' or '~Prado\Web\UI', - * to exclude categories. Added 4.2.3. + * to exclude categories. Added 4.3.0. * * Level filter and category filter are combinational, i.e., only messages * satisfying both filter conditions will they be returned. @@ -50,7 +50,7 @@ abstract class TLogRoute extends \Prado\TApplicationComponent TLogger::ERROR => 'Error', TLogger::ALERT => 'Alert', TLogger::FATAL => 'Fatal', - // @ since 4.2.3: + // @ since 4.3.0: TLogger::PROFILE => 'Profile', TLogger::PROFILE_BEGIN => 'Profile Begin', TLogger::PROFILE_END => 'Profile End', @@ -66,7 +66,7 @@ abstract class TLogRoute extends \Prado\TApplicationComponent 'error' => TLogger::ERROR, 'alert' => TLogger::ALERT, 'fatal' => TLogger::FATAL, - // @ since 4.2.3: + // @ since 4.3.0: 'profile' => TLogger::PROFILE, 'profile begin' => TLogger::PROFILE_BEGIN_SELECT, 'profile end' => TLogger::PROFILE_END_SELECT, @@ -77,7 +77,7 @@ abstract class TLogRoute extends \Prado\TApplicationComponent protected array $_logs = []; /** * @var int the number of logs to save before processing, default 1000 - * @since 4.2.3 + * @since 4.3.0 */ private ?int $_processInterval = 1000; /** @@ -90,27 +90,27 @@ abstract class TLogRoute extends \Prado\TApplicationComponent private ?array $_categories = []; /** * @var bool|callable Whether the route is enabled, default true - * @since 4.2.3 + * @since 4.3.0 */ private mixed $_enabled = true; /** * @var ?callable The prefix callable - * @since 4.2.3 + * @since 4.3.0 */ private mixed $_prefix = null; /** * @var bool display the time with subseconds, default false. - * @since 4.2.3 + * @since 4.3.0 */ private bool $_displaySubSeconds = false; /** * @var float the maximum delta for the log items, default 0. - * @since 4.2.3 + * @since 4.3.0 */ private float $_maxDelta = 0; /** * @var float The computed total time of the logs, default 0. - * @since 4.2.3 + * @since 4.3.0 */ private float $_totalTime = 0; @@ -221,7 +221,7 @@ protected function getLevelValue($level) /** * @return bool Is the log enabled. Defaults is true. - * @since 4.2.3 + * @since 4.3.0 */ public function getEnabled(): bool { @@ -243,7 +243,7 @@ public function getEnabled(): bool * * @param bool|callable $value Whether the route is enabled. * @return static $this - * @since 4.2.3 + * @since 4.3.0 */ public function setEnabled($value): static { @@ -257,7 +257,7 @@ public function setEnabled($value): static /** * @return int The number of logs before they are processed by the route. - * @since 4.2.3 + * @since 4.3.0 */ public function getProcessInterval(): int { @@ -266,7 +266,7 @@ public function getProcessInterval(): int /** * @param int $value The number of logs before they are processed by the route. - * @since 4.2.3 + * @since 4.3.0 */ public function setProcessInterval($value): static { @@ -277,7 +277,7 @@ public function setProcessInterval($value): static /** * @return callable Changes the prefix. - * @since 4.2.3 + * @since 4.3.0 */ public function getPrefixCallback(): mixed { @@ -293,7 +293,7 @@ public function getPrefixCallback(): mixed * ``` * @param callable $value Changes the prefix. * @return static The current object. - * @since 4.2.3 + * @since 4.3.0 */ public function setPrefixCallback(mixed $value): static { @@ -307,7 +307,7 @@ public function setPrefixCallback(mixed $value): static /** * @return bool display the subseconds with the time during logging. - * @since 4.2.3 + * @since 4.3.0 */ public function getDisplaySubSeconds(): bool { @@ -316,7 +316,7 @@ public function getDisplaySubSeconds(): bool /** * @param bool|string $value display the subseconds with the time during logging. - * @since 4.2.3 + * @since 4.3.0 */ public function setDisplaySubSeconds($value): static { @@ -358,7 +358,7 @@ public function formatLogMessage(array $log): string /** * @param array $log * @return string The prefix for the message - * @since 4.2.3 + * @since 4.3.0 */ public function getLogPrefix(array $log): string { @@ -398,7 +398,7 @@ public function getLogPrefix(array $log): string /** * @param float $timestamp The timestamp to format * @return string The formatted time - * @since 4.2.3 + * @since 4.3.0 */ protected function getTime(float $timestamp): string { @@ -410,7 +410,7 @@ protected function getTime(float $timestamp): string /** * Given $normalizedTime between 0 and 1 will produce an associated color. * Lowest values (~0) are black, then blue, green, yellow, orange, and red at 1. - * @since 4.2.3 + * @since 4.3.0 * @param float $normalizedTime * @return array [red, green, blue] values for the color of the log. */ @@ -434,10 +434,10 @@ public static function getLogColor(float $normalizedTime): array * [3] => timestamp (by microtime(true), float number) * [4] => memory in bytes * [5] => control client id - * @ since 4.2.3: + * @ since 4.3.0: * [6] => traces, when configured * [7] => process id) - * @since 4.2.3 + * @since 4.3.0 */ public function filterLogs(&$logs) { @@ -539,7 +539,7 @@ public function collectLogs(null|bool|TLogger $logger = null, bool $final = fals * [3] => timestamp (by microtime(time), float number) * [4] => memory in bytes * [5] => control client id - * @ since 4.2.3: + * @ since 4.3.0: * [6] => traces, when configured * [7] => process id) * @param bool $final diff --git a/framework/Util/TLogRouter.php b/framework/Util/TLogRouter.php index 6a45ca751..f85205e58 100644 --- a/framework/Util/TLogRouter.php +++ b/framework/Util/TLogRouter.php @@ -137,7 +137,7 @@ public function addRoute($route, $config = null) /** * Gets the number of log routes. * @return int The number of routes. - * @since 4.2.3 + * @since 4.3.0 */ public function getRoutesCount(): int { @@ -147,7 +147,7 @@ public function getRoutesCount(): int /** * Gets the log routes. * @return TLogRoute[] The routes for the Router - * @since 4.2.3 + * @since 4.3.0 */ public function getRoutes(): array { @@ -158,7 +158,7 @@ public function getRoutes(): array * Removes a TLogRoute instance to the log router. * @param mixed $route the Route or Route Key to remove * @return ?TLogRoute The routes for the Router - * @since 4.2.3 + * @since 4.3.0 */ public function removeRoute($route): ?TLogRoute { @@ -218,7 +218,7 @@ public function collectLogs($logger, bool $final) /** * This is a passthrough to the Application TLogger. * @return int The number of logs before triggering {@see self::onFlushLogs()}, default 1000. - * @since 4.2.3 + * @since 4.3.0 */ public function getFlushCount(): int { @@ -229,7 +229,7 @@ public function getFlushCount(): int * This is a passthrough to the Application TLogger. * @param int|string $value the number of logs before triggering {@see self::onFlushLogs()} * @return static $this - * @since 4.2.3 + * @since 4.3.0 */ public function setFlushCount($value): static { @@ -241,7 +241,7 @@ public function setFlushCount($value): static /** * This is a passthrough to the Application TLogger. * @return int How much debug trace stack information to include. Default 0. - * @since 4.2.3 + * @since 4.3.0 */ public function getTraceLevel(): int { @@ -252,7 +252,7 @@ public function getTraceLevel(): int * This is a passthrough to the Application TLogger. * @param null|int|string $value How much debug trace stack information to include. * @return static $this - * @since 4.2.3 + * @since 4.3.0 */ public function setTraceLevel($value): static { diff --git a/framework/Util/TLogger.php b/framework/Util/TLogger.php index 846c43087..7cfd482eb 100644 --- a/framework/Util/TLogger.php +++ b/framework/Util/TLogger.php @@ -75,17 +75,17 @@ class TLogger extends \Prado\TComponent private array $_logs = []; /** * @var array unmatched PROFILE_BEGIN log messages - * @since 4.2.3 + * @since 4.3.0 */ private array $_profileLogs = []; /** * @var int the profileLogs count that are not static::LOGGED. - * @since 4.2.3 + * @since 4.3.0 */ private int $_profileLogsCount = 0; /** * @var array The maintained Profile Begin times - * @since 4.2.3 + * @since 4.3.0 */ private array $_profileBeginTimes = []; /** @@ -106,39 +106,39 @@ class TLogger extends \Prado\TComponent private ?float $_timestamp; /** * @var ?int process id used to filter - * @since 4.2.3 + * @since 4.3.0 */ private ?int $_pid; /** * @var int the number of logs before flushing. - * @since 4.2.3 + * @since 4.3.0 */ private int $_flushCount = 1000; /** * @var bool is the logger flushing. - * @since 4.2.3 + * @since 4.3.0 */ private bool $_flushing = false; /** * @var ?array any logged messages during flushing so they aren't flushed. - * @since 4.2.3 + * @since 4.3.0 */ private ?array $_flushingLog = null; /** * @var int The depth of a trace, default 0 for no trace. - * @since 4.2.3 + * @since 4.3.0 */ private int $_traceLevel = 0; /** * @var bool Is the logger Registered with onEndRequest - * @since 4.2.3 + * @since 4.3.0 */ private bool $_registered = false; /** * @param bool $flushShutdown Should onFlushLogs be a register_shutdown_function. - * @since 4.2.3 + * @since 4.3.0 */ public function __construct(bool $flushShutdown = true) { @@ -154,7 +154,7 @@ public function __construct(bool $flushShutdown = true) /** * @return int The number of logs before triggering {@see self::onFlushLogs()} - * @since 4.2.3 + * @since 4.3.0 */ public function getFlushCount(): int { @@ -164,7 +164,7 @@ public function getFlushCount(): int /** * @param int $value the number of logs before triggering {@see self::onFlushLogs()} * @return static $this - * @since 4.2.3 + * @since 4.3.0 */ public function setFlushCount(int $value): static { @@ -178,7 +178,7 @@ public function setFlushCount(int $value): static /** * @return int How much debug trace stack information to include. - * @since 4.2.3 + * @since 4.3.0 */ public function getTraceLevel(): int { @@ -188,7 +188,7 @@ public function getTraceLevel(): int /** * @param int $value How much debug trace stack information to include. * @return static $this - * @since 4.2.3 + * @since 4.3.0 */ public function setTraceLevel(int $value): static { @@ -212,7 +212,7 @@ public function setTraceLevel(int $value): static * * @param ?bool $selector Which list of logs to count. Default null for both. * @return int The number of logs. - * @since 4.2.3 + * @since 4.3.0 */ public function getLogCount(null|bool|int $selector = null): int { @@ -229,7 +229,7 @@ public function getLogCount(null|bool|int $selector = null): int /** * This is the number of Profile Begin Logs that have been logged. * @return int The Profile Logs already logged. - * @since 4.2.3 + * @since 4.3.0 */ public function getLoggedProfileLogCount(): int { @@ -238,7 +238,7 @@ public function getLoggedProfileLogCount(): int /** * Ensures that the logger is registered with the Application onEndRequest. - * @since 4.2.3 + * @since 4.3.0 */ protected function ensureFlushing() { @@ -257,7 +257,7 @@ protected function ensureFlushing() * @param array $log The log item to log. * @param bool $flush Allow a flush on adding if the log size is FlushCount, default true. * @return ?float The time delta for PROFILE_END; and null in other cases. - * @since 4.2.3 + * @since 4.3.0 */ protected function addLog(array $log, bool $flush = true): ?float { @@ -301,7 +301,7 @@ protected function addLog(array $log, bool $flush = true): ?float * When the ProfileLog Count is equal or more than the FlushCount, then the Retained * profile logs are deleted and a WARNING is logged. * @param bool $flush Is the log being flushing, default true. - * @since 4.2.3 + * @since 4.3.0 */ protected function checkProfileLogsSize(bool $flush = true) { @@ -323,7 +323,7 @@ protected function checkProfileLogsSize(bool $flush = true) * If we allow a flush (not a bulk logging), and the log count is equal to or more * than the FlushCount then we flush the logs. * @param bool $flush Is the log being flushing, default true. - * @since 4.2.3 + * @since 4.3.0 */ protected function checkLogsSize(bool $flush = true) { @@ -387,7 +387,7 @@ public function log(mixed $token, int $level, ?string $category = null, mixed $c * This event collects any logs from other aspects of the application that may * not be able to directly log to the TLogger. * @param bool $final Is the final collection, default false. - * @since 4.2.3 + * @since 4.3.0 */ public function onCollectLogs(bool $final = false) { @@ -401,7 +401,7 @@ public function onCollectLogs(bool $final = false) * * @param mixed $sender the sender of the raised event. * @param mixed $final true on `register_shutdown_function`. - * @since 4.2.3 + * @since 4.3.0 */ public function onFlushLogs(mixed $sender = null, mixed $final = null) { @@ -470,7 +470,7 @@ public function onFlushLogs(mixed $sender = null, mixed $final = null) * [3] => timestamp (by microtime(true), float number) * [4] => memory in bytes * [5] => control client id; null when absent - * @ since 4.2.3: + * @ since 4.3.0: * [6] => traces, when configured; null when absent * [7] => process id) */ @@ -518,7 +518,7 @@ public function getLogs(?int $levels = null, null|array|string $categories = nul /** * This merges a set of logs with the current running logs. * @param array $logs the logs elements to insert. - * @since 4.2.3 + * @since 4.3.0 */ public function mergeLogs(array $logs) { @@ -599,7 +599,7 @@ public function deleteLogs(?int $levels = null, null|string|array $categories = /** * Deletes the retained Profile Begin logs. * @return array The deleted Profile Begin Logs. - * @since 4.2.3 + * @since 4.3.0 */ public function deleteProfileLogs(): array { @@ -616,7 +616,7 @@ public function deleteProfileLogs(): array * @param mixed $a First element to compare. * @param mixed $b Second element to compare. * @return int The order between the two elements. - * @since 4.2.3 + * @since 4.3.0 */ private function orderByTimeStamp($a, $b): int { @@ -735,7 +735,7 @@ private function filterByTimeStamp($log): bool * Filter function used by {@see static::getLogs()} * @param array $log element to be filtered * @return bool retain the element. - * @since 4.2.3 + * @since 4.3.0 */ private function filterByPID($log): bool { diff --git a/framework/Util/TSignalParameter.php b/framework/Util/TSignalParameter.php index ff71a5d33..97911df7f 100644 --- a/framework/Util/TSignalParameter.php +++ b/framework/Util/TSignalParameter.php @@ -27,7 +27,7 @@ * the Signal PID, and {@see self::getParameterUID()} for accessing the Signal PID UID. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TSignalParameter extends \Prado\TEventParameter { diff --git a/framework/Util/TSignalsDispatcher.php b/framework/Util/TSignalsDispatcher.php index ce4d413c7..6781a58b9 100644 --- a/framework/Util/TSignalsDispatcher.php +++ b/framework/Util/TSignalsDispatcher.php @@ -68,7 +68,7 @@ * Child PID handlers can be cleared with {@see self::clearPidHandlers()} * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TSignalsDispatcher extends TComponent implements \Prado\ISingleton { diff --git a/framework/Util/TStdOutLogRoute.php b/framework/Util/TStdOutLogRoute.php index c38022fe1..7d08576de 100644 --- a/framework/Util/TStdOutLogRoute.php +++ b/framework/Util/TStdOutLogRoute.php @@ -28,7 +28,7 @@ * set to true. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TStdOutLogRoute extends TLogRoute { diff --git a/framework/Util/TSysLogRoute.php b/framework/Util/TSysLogRoute.php index 63547086b..67b16f2ba 100644 --- a/framework/Util/TSysLogRoute.php +++ b/framework/Util/TSysLogRoute.php @@ -20,7 +20,7 @@ * Sends the log to the syslog. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 * @link https://www.php.net/manual/en/function.openlog.php * @link https://www.php.net/manual/en/function.syslog.php */ diff --git a/framework/Web/Behaviors/TRequestConnectionUpgrade.php b/framework/Web/Behaviors/TRequestConnectionUpgrade.php index ce0dac730..ae387fbdb 100644 --- a/framework/Web/Behaviors/TRequestConnectionUpgrade.php +++ b/framework/Web/Behaviors/TRequestConnectionUpgrade.php @@ -27,7 +27,7 @@ * ``` * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class TRequestConnectionUpgrade extends \Prado\Util\TBehavior { diff --git a/framework/Web/Javascripts/source/prado/prado.js b/framework/Web/Javascripts/source/prado/prado.js index 40fc1ac3f..ed9a1a3dc 100644 --- a/framework/Web/Javascripts/source/prado/prado.js +++ b/framework/Web/Javascripts/source/prado/prado.js @@ -273,7 +273,7 @@ var Prado = * Version of Prado clientscripts * @var Version */ - Version: '4.2.2', + Version: '4.3.0', /** * Registry for Prado components diff --git a/framework/Web/Services/TPageService.php b/framework/Web/Services/TPageService.php index 1287ce45b..16aa157d9 100644 --- a/framework/Web/Services/TPageService.php +++ b/framework/Web/Services/TPageService.php @@ -287,7 +287,7 @@ protected function loadPageConfig($config) /** * @return TTemplateManager template manager - * @deprecated 4.2.3, removal in 4.3 + * @deprecated since 4.3.0 */ public function getTemplateManager() { @@ -296,7 +296,7 @@ public function getTemplateManager() /** * @param TTemplateManager $value template manager - * @deprecated 4.2.3, removal in 4.3 + * @deprecated since 4.3.0 */ public function setTemplateManager(TTemplateManager $value) { @@ -305,7 +305,7 @@ public function setTemplateManager(TTemplateManager $value) /** * @return TThemeManager theme manager - * @deprecated 4.2.3, removal in 4.3 + * @deprecated since 4.3.0 */ public function getThemeManager() { @@ -314,7 +314,7 @@ public function getThemeManager() /** * @param TThemeManager $value theme manager - * @deprecated 4.2.3, removal in 4.3 + * @deprecated since 4.3.0 */ public function setThemeManager(TThemeManager $value) { diff --git a/framework/Web/THttpRequestParameter.php b/framework/Web/THttpRequestParameter.php index 9d0b10db8..6c6cb9778 100644 --- a/framework/Web/THttpRequestParameter.php +++ b/framework/Web/THttpRequestParameter.php @@ -16,7 +16,7 @@ * the service IDs and URL parameters as part of the event parameter. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 */ class THttpRequestParameter extends \Prado\TEventParameter { diff --git a/framework/Web/UI/TBroadcastEventParameter.php b/framework/Web/UI/TBroadcastEventParameter.php index 93161e6da..8f515b67e 100644 --- a/framework/Web/UI/TBroadcastEventParameter.php +++ b/framework/Web/UI/TBroadcastEventParameter.php @@ -51,7 +51,7 @@ public function setName($value) /** * @param string $value name of the broadcast event - * @since 4.2.3 + * @since 4.3.0 */ public function setEventName(string $value) { diff --git a/framework/Web/UI/TTemplateManager.php b/framework/Web/UI/TTemplateManager.php index 5469f324a..2f2de8496 100644 --- a/framework/Web/UI/TTemplateManager.php +++ b/framework/Web/UI/TTemplateManager.php @@ -45,7 +45,7 @@ class TTemplateManager extends \Prado\TModule public const TEMPLATE_CACHE_PREFIX = 'prado:template:'; /** * @var string Default template class, default '\Prado\Web\UI\TTemplate' - * @since 4.2.3 + * @since 4.3.0 */ private string $_defaultTemplateClass = TTemplate::class; @@ -146,7 +146,7 @@ protected function getLocalizedTemplate($filename, $culture = null) /** * @return string the default template class. - * @since 4.2.3 + * @since 4.3.0 */ public function getDefaultTemplateClass(): string { @@ -155,7 +155,7 @@ public function getDefaultTemplateClass(): string /** * @param string $tplClass the default template class. - * @since 4.2.3 + * @since 4.3.0 */ public function setDefaultTemplateClass($tplClass) { diff --git a/framework/Web/UI/TWebColors.php b/framework/Web/UI/TWebColors.php index 453c06efa..529441916 100644 --- a/framework/Web/UI/TWebColors.php +++ b/framework/Web/UI/TWebColors.php @@ -16,7 +16,7 @@ * names to their hex values. * * @author Brad Anderson - * @since 4.2.3 + * @since 4.3.0 * @see https://en.wikipedia.org/wiki/Web_colors Web Colors */ class TWebColors extends \Prado\TEnumerable diff --git a/phpdoc.dist.xml b/phpdoc.dist.xml index ad31fa53a..775037901 100644 --- a/phpdoc.dist.xml +++ b/phpdoc.dist.xml @@ -4,7 +4,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.phpdoc.org" > - Prado 4.2.2 API Manual + Prado 4.3.0 API Manual build/docs build/cache