Aggiornamento pacchetti e ambiente per Laravel 6
Updated at: 12/02/2021


Attenzione: è necessario partire dalla versione 5.8 prima di seguire questa guida!

Per poter aggiornare Laravel alla versione 6.x è necessario fare un po' di ordine nei pacchetti che solitamente sono inclusi nell'ambiente base.

In particolare l'ecosistema zofe ha qualche problema di aggiornamento e il fatto di essere incluso come dipendenza di jsm/base complica la questione.

Quindi prima di iniziare la procedura di aggiornamento di laravel vanno fatti i seguenti passi

1) Aggiornare composer.json includendo i riferimenti ai nuovi repository per i componenti

"jsm-base": {
"type": "vcs",
"url": "https://git.sinergo.it/r/jsmLaravel/Base.git"
},
        "txd-field-types": {
"type": "vcs",
"url": "https://git.sinergo.it/r/txdPackage/fieldTypes.git"
},
"jsm-models-generator": {
"type": "vcs",
"url": "https://git.sinergo.it/r/jsmLaravel/models-generator.git"
},
"jsm-doc": {
"type": "vcs",
"url": "https://git.sinergo.it/gitblit/r/jsmLaravel/Doc.git"
},
"jsm-storage": {
"type": "vcs",
"url": "https://git.sinergo.it/gitblit/r/jsmLaravel/Storage.git"
},
"jsm-postman": {
"type": "vcs",
"url": "https://git.sinergo.it/gitblit/r/jsmLaravel/Postman.git"
},
"zofe-rapyd": {
"type": "vcs",
"url": "https://github.com/techseed-srl/rapyd-laravel.git"
},
"zofe-burp": {
"type": "vcs",
"url": "https://github.com/techseed-srl/burp.git"
},
        "chumper-zipper": {
            "type""vcs",
            "url""https://github.com/Markofly/Zipper.git"
        },
        "biscolab-laravel-gestpay": {
            "type""vcs",
            "url""https://github.com/techseed-srl/laravel-gestpay.git"
        }

2) aggiornare jsm/base:

composer require jsm/base

3) installare nuovamente i pacchetti zofe non più presenti

composer require zofe/rapyd:dev-master
composer require zofe/burp:dev-master

4) opzionale

//se è presente chumper/zipper
composer remove chumper/zipper

//se è presente biscolab/laravel-gestpay
composer remove biscolab/laravel-gestpay

//quindi aggiornamento del file composer.json con le versioni opportune e i vari repository "forkati" e poi
composer update

composer require chumper/zipper:dev-master
composer require biscolab/laravel-gestpay:dev-master


5) a questo punto si può seguire la guida ufficiale di aggiornamento di laravel, ma in linea generale le cose da fare sono:

composer require laravel/helpers
  • aggiornare la versione di laravel a: ^6.0 nel composer.json, quindi:


composer update


Per forzare il controllo della corretta versione di php, si può aggiungere il seguente codice nella funzione register() di AppServiceProvider.php


        $versione = config("par.php_min_version", 70000);

if(defined("PHP_VERSION_ID") && PHP_VERSION_ID < $versione){

$messaggio = "Attenzione! Versione di PHP diversa da quella richiesta. Attesa: ".$versione." -- Rilevata: ".PHP_VERSION_ID;
\Log::warning($messaggio);

            echo $messaggio;
abort(400, $messaggio);
}

Quindi aggiungere la seguente riga nel file config/par.php

"php_min_version" => 70200,