Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 28, 2023 01:24 pm GMT

PHP 8.2: deprecated

PHP 8.2 introduces various modifications, as it's a major release.

This new version seems to deprecate common structures used by developers, so you might want to look into the changelog. Here are some notable ones, to me.

Dynamic properties: deprecated

class Product {}$product = new Product();$product->title = 'The Game Changer';

The above shortcut is not uncommon in PHP scripts, even if it has never been the recommended way.

You'll have to declare your properties now. Otherwise, you'll get a warning in PHP 8.2:

Deprecated: Creation of dynamic property[...]

It's worth mentioning dynamic properties are still valid if you use the built-in stdClass class:

$test = new stdClass();$test->my_property = 'test';

Devs who might want to keep using dynamic properties in other classes (e.g., custom classes) will have to use the new #[\AllowDynamicProperties] attribute to explicitly allow such usage (opt-in).

String interpolation: deprecated

Don't panic, only a specific syntax will deprecated:

$myvar = "ok";echo "${myvar}";

The invalid syntax is when the $ sign is outside the curly braces.

In constrast, "{$myvar}" is still valid.

utf8_encode/utf8_decode: deprecated

This deprecation might look weird, as utf8_encode and utf8_decode are massively [mis]used, but many devs ignore that it only encodes/decodes from ISO-8859-1 (Latin1).

Wrap up

Deprecated does not mean fatal error, but it's important to fix such warnings when migrating from an older version of PHP.


Original Link: https://dev.to/jmau111/php-82-deprecated-4jm6

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To