Novità Magento 2.4.7

Novità Magento 2.4.7

Se siete sviluppatori full-stack, questo articolo strutturato sulle “Novità Magento 2.4.7” ha un focus tecnico-architetturale con tanti esempi concreti, perfetto per sviluppatori con già esperienza ma che approcciano per la prima volta Magento.

📘 Introduzione alle novità 2.4.7

Magento Open Source 2.4.7, rilasciato l’9 aprile 2024, apporta significativi miglioramenti a:

  • PHP 8.3, RabbitMQ, Elasticsearch, Varnish, Redis
  • GraphQL: supporto per custom attributes e caching dei resolver
  • REST API Shipping: UPS REST, FedEx REST, USPS Ground
  • Deprecazioni JS: da extJS a jsTree
  • Sicurezza, performance, dipendenze aggiornate

1. Supporto PHP 8.3 & stack infrastrutturale – Novità Magento 2.4.7

Magento 2.4.7 aggiunge pieno supporto a PHP 8.3 (con compatibilità PHP 8.2 fino a fine 2025) . Tra le tecnologie aggiornate:

  • RabbitMQ → 3.13
  • Elasticsearch → 8.11, compatibile con OpenSearch 2.12/1.3
  • Varnish → 7.4
  • Redis → 7.2
  • Composer → 2.7.x o superiore

Vantaggi:

  • Performance, sicurezza e compatibilità migliorate
  • Stack modernizzato e più facile da mantenere

2. GraphQL: custom attributes & resolver cache – Novità Magento 2.4.7

Magento migliora GraphQL in due aree chiave:

  1. Coverage custom attributes
  2. Caching sui resolver

A. Snippet: query GraphQL con attributi personalizzati

query getProductWithCustom {
  products(filter: { sku: { eq: "TSHIRT-XL" } }) {
    items {
      sku
      name
      custom_attributes {
        attribute_code
        value
      }
    }
  }
}

B. Caching del resolver

Per invalidare la cache al deploy, nel tuo modulo PHP aggiungi:

<?php
namespace Vendor\Module\Observer;

use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\GraphQl\Model\Cache\Type as GraphQlCacheType;

class InvalidateGraphQlCache implements ObserverInterface
{
    private $cache;

    public function __construct(GraphQlCacheType $cache)
    {
        $this->cache = $cache;
    }

    public function execute(\Magento\Framework\Event\Observer $observer)
    {
        $this->cache->clean();
    }
}
  • Ottimo per cache dopo cambio attributi o import massivi
  • Favorisce performance su PWA e storefront headless

3. REST API shipping: UPS / FedEx / USPS

Magento 2.4.7 migra ai nuovi standard REST dei corrieri:

<?php
// env.php snippet
'shipping' => [
  'carriers' => [
    'ups' => [
      'active' => '1',
      'api_type' => 'rest',
      'rest_username' => 'USR',
      'rest_password' => 'PWD',
      'rest_access_token' => 'TOKEN',
    ],
    'fedex' => [
      'active' => '1',
      'api_type' => 'rest',
      'key' => 'KEY',
      'password' => 'PWD',
      'account' => 'ACCT',
    ],
    'usps' => [
      'active' => '1',
      'ground_advantage' => 'yes'
    ]
  ]
],

Abilita via CLI:

bin/magento module:enable Magento_Usps
bin/magento module:enable Magento_Ups
bin/magento setup:upgrade

Per negozi con spedizioni, questi aggiornamenti migliorano la compatibilità e sicurezza API (

4. Deprecazione extJS → jsTree

Magento ha rimosso extJS e jquery/fileUpload, abbracciando jsTree per alberi e GUI admin

Esempio concreto: custom admin tree

requirejs-config.js

var config = {
  paths: {
    'jstree': 'js/jstree.min'
  },
  shim: {
    'jstree': ['jquery']
  }
};

PHTML + JS init

<div id="category-tree"></div>
<script>
require(['jquery', 'jstree'], function($) {
  $('#category-tree').jstree({
    'core': {
      'data': '/rest/V1/custom/tree'
    }
  });
});
</script>

Risultato: tree moderno, leggero e più estensibile

5. CLI completo per upgrade Magento 2.4.7

Ecco il flusso completo per aggiornare un’installazione Magento:

composer require magento/product-community-edition=2.4.7 --no-update
composer update
bin/magento maintenance:enable
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento cache:clean
bin/magento cache:flush
bin/magento maintenance:disable
  • Mantieni un backup database e file
  • Esegui in ambiente CLI su server o container
  • Verifica moduli custom per compatibilità PHP 8.3

6. Conclusioni & vantaggi architetturali

Perché aggiornare?

AreaVantaggi principali
PHP 8.3Sicurezza, performance, feature moderne
Stack aggiornatoRabbitMQ, Elasticsearch, Varnish
GraphQLSupporto attributi personalizzati + caching
Shipping APIStandard REST moderni e sicuri
jsTreeAdmin UI più efficiente, moduli più leggeri

Vantaggi architetturali

  • Tempo di risposta GraphQL ridotto
  • Maggior facilità per lo sviluppo front-end headless
  • Interazioni shipping robuste in tempo reale
  • UI più coerente, compatibile con browser moderni
  • Cicli di upgrade più rapidi e sicuri

Conclusione

Magento 2.4.7 è una pietra miliare per chi vuole iniziare con una piattaforma moderna: PHP 8.3, GraphQL avanzato, API shipping aggiornate e interfaccia Admin più snella. Lo stack è ora pronto per sviluppo headless, PWA e architetture microservizi.

(fonte) (fonte)

Innovaformazione, scuola informatica specialistica segue costantemente i tred di settore ed affianca le aziende nella formazione dei team di sviluppatori. In particolare trovate il Corso Magento nell’offerta formativa.

INFO: info@innovaformazione.net – tel. 3471012275 (Dario Carrassi)

Vuoi essere ricontattato? Lasciaci il tuo numero telefonico e la tua email, ti richiameremo nelle 24h:

    Ti potrebbe interessare

    Articoli correlati