Author: Manuel Lemos
Viewers: 282
Last month viewers: 3
Categories: PHP Tutorials, News
The PHP Core developers introduced some changes in PHP 8.2 that deprecate certain forms of embedding variable values in template strings.
Please read this short article to learn more about those changes so you can change your template strings to keep them working in future PHP versions, probably PHP 9.0 or later.

In this article you will learn:
1. Why PHP Core Developers Are Changing the Way You Can Embed Variables in Template Strings and Scripts
2. What Are the Changes That Will Be Made in Future PHP Versions In the Processing of Variables in Templates
3. How Can You Prepare Your Template Processing Scripts to Keep Them Working in Future PHP Versions
1. Why PHP Core Developers Are Changing the Way You Can Embed Variables in Template Strings and Scripts
One of the most popular PHP features that makes this language so attactive to less experienced developers is the use of templates that can be edited to insert variable values in template content.
This allows developers to quickly create templates from HTML code that can change dynamically with variable values to adapt the output to what the developers want to show to the current users.
PHP allows several forms of embedding variables in template strings. Consider that the variable $variable has the value "something" and the variable $something has the value "something else". Here are the results of processing template strings that contain the variable $variable at least until PHP 8.2.
1. "$variable" = "something"
2. "{$variable}" = "something"
3. "${variable}" = "something"
4. "${$variable}" = "something else";
2. What Are the Changes That Will Be Made in Future PHP Versions In the Processing of Variables in Templates
The PHP core developers considered forms 3 and 4 of using variables in strings to be confusing.
Therefore in PHP 8.2, these forms started being deprecated according to this RFC document (Request For Change). These forms will be removed in future versions of PHP, probably in PHP 9.0.
3. How Can You Prepare Your Template Processing Scripts to Keep Them Working in Future PHP Versions
If you use forms 3 and 4 described above to use variables in templates, you need to change your code before you upgrade your PHP version.
Using PHP 8.2, you will already get deprecation notices where you use this form of variables inside template strings.
So if you enable your PHP error log, you can look there to find any parts of your application code that need to be fixed before upgrading to PHP 9.0 or any version on which using these forms of inserting variable values in your template strings will no longer work.
So if you use the variable syntax ${variable} in your templates, replace it with {$variable}.
If you use variable syntax ${$variable}, replace it with {$$variable}.
These are simple changes to make in your PHP code. Still, if you have an application with a large code base with many template strings, make sure you reserve a reasonable amount of time to do these changes and test them as much as possible before you upgrade to future versions when these forms of using variables in template strings will not be supported.
You need to be a registered user or login to post a comment
Login Immediately with your account on:
Comments:
No comments were submitted yet.