?
avatar HLeithner
HLeithner
28 Jul 2021

PHP deprecations for 8.1 has been implemented and this features are planed to be removed in 9.0

https://wiki.php.net/rfc/deprecations_php_8_1

Special attention should go to the removal of strftime

If this is relevant for 3.x is open for discussion, since 3.10 will be EOL before php 8.0 is EOL and at this point of time all Joomla Installation should be upgraded to 4.x (I know that this is more a wish then a fact).

For 4.x series I would say starting with 4.1 it's relevant.

avatar HLeithner HLeithner - open - 28 Jul 2021
avatar joomla-cms-bot joomla-cms-bot - change - 28 Jul 2021
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - labeled - 28 Jul 2021
avatar PhilETaylor
PhilETaylor - comment - 28 Jul 2021
avatar PhilETaylor
PhilETaylor - comment - 6 Sep 2021

Joomal 3.10.1
PHP 8.1-RC2
http://example.com/installation/index.php


Deprecated: Joomla\Input\Input implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/input/src/Input.php on line 41

Deprecated: Return type of Joomla\Input\Input::count() should either be compatible with Countable::count(): int, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/input/src/Input.php on line 170

Deprecated: Joomla\CMS\Input\Input implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/src/Input/Input.php on line 31

Deprecated: Return type of Joomla\Registry\Registry::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 126

Deprecated: Return type of Joomla\Registry\Registry::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 439

Deprecated: Return type of Joomla\Registry\Registry::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 453

Deprecated: Return type of Joomla\Registry\Registry::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 468

Deprecated: Return type of Joomla\Registry\Registry::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 482

Deprecated: Return type of Joomla\Registry\Registry::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 288

Deprecated: Return type of Joomla\Registry\Registry::count() should either be compatible with Countable::count(): int, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 112

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/src/Application/WebApplication.php on line 1256

Deprecated: Automatic conversion of false to array is deprecated in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/uri/src/UriHelper.php on line 50

After installation - loading the home page


Deprecated: Return type of Joomla\CMS\Date\Date::format($format, $local = false, $translate = true) should either be compatible with DateTime::format(string $format): string, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/src/Date/Date.php on line 281

Deprecated: Return type of Joomla\CMS\Date\Date::setTimezone($tz) should either be compatible with DateTime::setTimezone(DateTimeZone $timezone): DateTime, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/src/Date/Date.php on line 398

Deprecated: Joomla\Input\Input implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/input/src/Input.php on line 41

Deprecated: Return type of Joomla\Input\Input::count() should either be compatible with Countable::count(): int, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/input/src/Input.php on line 170

Deprecated: Joomla\CMS\Input\Input implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/src/Input/Input.php on line 31

Deprecated: Return type of Joomla\Registry\Registry::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 126

Deprecated: Return type of Joomla\Registry\Registry::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 439

Deprecated: Return type of Joomla\Registry\Registry::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 453

Deprecated: Return type of Joomla\Registry\Registry::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 468

Deprecated: Return type of Joomla\Registry\Registry::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 482

Deprecated: Return type of Joomla\Registry\Registry::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 288

Deprecated: Return type of Joomla\Registry\Registry::count() should either be compatible with Countable::count(): int, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/registry/src/Registry.php on line 112

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/src/Application/WebApplication.php on line 1256

Deprecated: Automatic conversion of false to array is deprecated in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/vendor/joomla/uri/src/UriHelper.php on line 50

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/src/Application/WebApplication.php on line 1305

Deprecated: Return type of Joomla\CMS\Session\Session::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/src/Session/Session.php on line 298

Warning: session_name(): Session name cannot be changed after headers have already been sent in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/joomla/session/handler/native.php on line 128

Deprecated: Joomla\CMS\Input\Cookie implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/src/Input/Cookie.php on line 0

Warning: session_cache_limiter(): Session cache limiter cannot be changed after headers have already been sent in /Users/phil/Sites/Joomla_3.10.1-Stable-Full_Package/libraries/joomla/session/handler/native.php on line 235
avatar Bakual
Bakual - comment - 6 Sep 2021

To get rid of strftime requires a rewrite of the calendar formfield. The we can drop it. Just needs someone skilled with JS 😄

avatar dgrammatiko
dgrammatiko - comment - 6 Sep 2021

Just needs someone skilled with JS

Temporal is also coming to all the browsers in the coming months. This is important because it means that all the browsers, natively, will support almost all calendars. Of course, the project doesn't have to wait till the feature has landed as there's already a polyfill, so, in theory, someone could create a calendar even today. Also FWIW I'm already working on such an implementation for my own projects https://github.com/dgrammatiko/temporal-calendar

avatar PhilETaylor
PhilETaylor - comment - 22 Sep 2021

34 BC breaking changes in php 8.1 now documented...

https://github.com/php/php-src/blob/PHP-8.1/UPGRADING#L18-L179

avatar PhilETaylor
PhilETaylor - comment - 14 Oct 2021

is_resource is also going to be an issue for Joomla. https://externals.io/message/116127

Add a Comment

Login with GitHub to post a comment