Switch between PHP versions

Source: stackexchange.com/how-to-switch-between-php-versions-on-ubuntu-nginx

If you want to switch PHP CLI version, follow these steps

If you just want to use another PHP version pour a Virtual host, like a old Drupal app, just change PHP version in NGINX conf.
sudo update-alternatives --config php

You will have a menu to choose PHP CLI version

Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php7.4 74 auto mode
1 /usr/bin/php7.2 72 manual mode
2 /usr/bin/php7.3 73 manual mode
3 /usr/bin/php7.4 74 manual mode

After change PHP version restart NGINX and restart PHP version you choose

sudo service nginx restart
# example if you choose php7.2
sudo service php7.2-fpm restart

Syntax

Concat variable into string:

<?php
$basic = "lists/".$list_test_id."/contacts"
<?php
$improved = "lists/${list_test_id}/contacts"

Errors

Error on function where everything is okay about syntax.

Type declaration

Check return data like:

<?php
public function getData() : Collection
{
$data = Data::all();
return $data;
}

It will works only with PHP 7.3, maybe NGINX VHost use a PHP version too old.