window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = finestra if (w.LeadBooster) { console.warn('LeadBooster esiste già') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Perché abbiamo bisogno di Symfony Polyfill (... e perché non dovremmo) - The Codest
The Codest
  • Chi siamo
  • Servizi
    • Sviluppo di software
      • Sviluppo Frontend
      • Sviluppo backend
    • Staff Augmentation
      • Sviluppatori Frontend
      • Sviluppatori backend
      • Ingegneri dei dati
      • Ingegneri del cloud
      • Ingegneri QA
      • Altro
    • Consulenza
      • Audit e consulenza
  • Industrie
    • Fintech e banche
    • E-commerce
    • Adtech
    • Tecnologia della salute
    • Produzione
    • Logistica
    • Automotive
    • IOT
  • Valore per
    • CEO
    • CTO
    • Responsabile della consegna
  • Il nostro team
  • Case Studies
  • Sapere come
    • Blog
    • Incontri
    • Webinar
    • Risorse
Carriera Contattate
  • Chi siamo
  • Servizi
    • Sviluppo di software
      • Sviluppo Frontend
      • Sviluppo backend
    • Staff Augmentation
      • Sviluppatori Frontend
      • Sviluppatori backend
      • Ingegneri dei dati
      • Ingegneri del cloud
      • Ingegneri QA
      • Altro
    • Consulenza
      • Audit e consulenza
  • Valore per
    • CEO
    • CTO
    • Responsabile della consegna
  • Il nostro team
  • Case Studies
  • Sapere come
    • Blog
    • Incontri
    • Webinar
    • Risorse
Carriera Contattate
Freccia indietro TORNA INDIETRO
2022-05-19
Sviluppo di software

Perché abbiamo bisogno di Symfony Polyfill (... e perché non dovremmo)

The Codest

Sebastian Luczak

PHP Capo unità

Nel seguente articolo, spiegheremo come funziona Symfony Polyfill e come si relaziona con i progetti Symfony. Approfondiremo anche l'idea che questa libreria cerca di risolvere.

Nella maggior parte dei moderni PHP progettisi noterà una forte dipendenza dal file Polifill di Symfony biblioteca. In questo articolo, spiegheremo non solo come funziona e come si relaziona con Progetti Symfonyma approfondiremo anche l'idea del problema che cerca di risolvere.

Un po' di storia

PHP era in cattive acque da molto tempo. Era il 2005 quando Andrei Zmievski ha avviato un'iniziativa di progetto per portare il supporto nativo Unicode per PHP a causa di recensioni contrastanti e di molte preoccupazioni che PHP sta andando nella direzione sbagliata. Sviluppo di PHP La 6.x è stata avviata. Ma non fu mai terminato - e questa è una storia per un altro giorno. 10 anni dopo, da qualche parte tra il 2014 e il 2015, Dmitry Stogov, Xinchen Hui e Nikita Popov avviarono phpng - che ha ottimizzato e rifattorizzato il motore Zend interno utilizzato da PHP.

>_ È nato l'PHP 7

E per gli anni passati, PHP sta crescendo più velocemente che mai, attualmente alla versione stabile 8.1.

immagine

A causa del rapido sviluppo di nuove funzionalità nel linguaggio, non solo gli sviluppatori hanno dovuto adattarsi a tali cambiamenti, ma anche le infrastrutture e i servizi di hosting.

Per garantire che noi sviluppatori possiamo utilizzare le nuove e migliori funzionalità del nostro amato linguaggio di programmazione. Polifill di Symfony è nato il progetto.

Symfony Polyfill e le sue funzioni

Questo progetto fa da backport alle funzionalità presenti nell'ultima versione di Versioni PHP e fornisce livelli di compatibilità per alcune estensioni e funzioni. È destinato a essere usato quando la portabilità attraverso Versioni PHP e le estensioni.

Questa è una pura descrizione di Polifill di Symfony ma cosa significa?

A causa della rapida evoluzione Lingua PHP e la personalizzazione del software degli ISP, la maggior parte degli sviluppatori si è trovata di fronte a una scelta semplice:

  • Come sviluppatore, creo applicazioni in una vecchia versione di PHP e non può utilizzare le ultime funzionalità del linguaggio, oppure
  • Come sviluppatore, creo un'applicazione moderna utilizzando l'ultima versione di PHP.

Ma dovevano mantenere la compatibilità con gli altri strumenti e servizi già utilizzati sia sul codice e dell'infrastruttura, quasi sempre utilizzando vecchie versioni di PHPDevo forse menzionare, caro lettore, il cosiddetto "fattore divertimento" di queste due soluzioni?

Per facilitare la strada agli sviluppatori, nel 2015 la comunità Open Source ha realizzato la prima versione stabile di Polyfill numerata 1.0. La vita degli sviluppatori è diventata più semplice e si può dire che Symfony Polyfill ha risolto una moltitudine di problemi, come la portabilità del codice tra piattaforme diverse, Versione PHP e ha reso molto più semplice il refactoring delle applicazioni e la riduzione del debito tecnologico.

Purtroppo, non tutti i problemi possono essere risolti con un unico strumento.

Problemi associati al mantenimento di più versioni dell'ambiente

Per i complessi Progetti ITIl mantenimento di diverse versioni di ambienti per diversi clienti/filiali/dipartimenti è una procedura comune. Ciò comporta la necessità di sviluppare contemporaneamente molti rami diversi di applicazioni, spesso con requisiti funzionali diversi e con una propria trazione. Ho affrontato molte volte il problema di mantenere la stessa applicazione per diversi clienti su diversi ambienti PHP5 / PHP7 e la moltitudine di problemi legati all'incompatibilità delle librerie o delle loro dipendenze per le diverse versioni è semplicemente irrisolvibile utilizzando solo Polifill di Symfony.

Il divario di competenze tra i membri del team di sviluppo

A causa della rapida crescita delle funzionalità integrate in PHPMolti sviluppatori non hanno seguito il ritmo del cambiamento. Molte delle funzionalità offerte nelle versioni superiori di PHP sono facilmente realizzabili con librerie esterne, oppure gli sviluppatori semplicemente non avevano bisogno delle nuove funzionalità, come ad esempio Fibre PHP. Quando si seleziona squadra È una buona idea assicurarsi che le competenze siano adeguate o che il processo di consegna del codice sia reso più coerente da strumenti di analisi statica e dal rilevamento precoce degli errori di regressione di versione.

Riluttanza al cambiamento

immagine

L'adozione di nuove funzionalità linguistiche è ancora piuttosto bassa e PHP 5 oltre la quota di 24% mostra chiaramente che un quarto dei progetti PHP sta eseguendo versioni inferiori alla 7.xche terminerà il suo supporto di sicurezza il 6 dicembre 2022. Ciò significa che al momento della stesura di questo post, oltre 25% di progetti Web basati su PHP saranno potenzialmente vulnerabili a tutte le nuove vulnerabilità di sicurezza entro la fine dell'anno. "Se funziona perché dovremmo preoccuparci"?

Conclusione

Dobbiamo adattarci ai cambiamenti linguistici il più rapidamente possibile e utilizzare le soluzioni più recenti il prima possibile. Durante un'eventuale migrazione di un progetto Legacy, vale la pena di includere Polifill di Symfony come aiuto e utilizzando tecniche come lo Strangler Pattern e la metodologia BDD, attualmente in voga, che è favolosamente facile da applicare alla Quadro Symfony. Quindi siamo davvero costretti a usare Polifill di Symfony?

Sviluppo PHP consulenza gratuita

Per saperne di più:

Sviluppo PHP: 5 cose da sapere

7 startup e scaleup che scuoteranno la scena del mercato nel 2022

Sviluppo PHP. Componente console di Symfony - Suggerimenti e trucchi

Articoli correlati

Sviluppo di software

PHP 8.2: cosa c'è di nuovo?

La nuova versione di PHP è alle porte. Quali sono le nuove implementazioni da conoscere? Consultate questo articolo per scoprirlo!

The Codest
Sebastian Luczak PHP Capo unità
Sviluppo di software

Sviluppo PHP. Componente console di Symfony - Suggerimenti e trucchi

Questo articolo è stato creato con l'obiettivo di mostrare i consigli e i trucchi più utili e interessanti sullo sviluppo di Symfony Console.

The Codest
Sebastian Luczak PHP Capo unità
Sviluppo di software

Assumere sviluppatori interni o esterni

Assumere internamente o esternamente? È il dilemma finale! Scoprite i vantaggi di outsourcing o di creare un team interno nel seguente articolo.

The Codest
Grzegorz Rozmus Capo unità Java

Iscrivetevi alla nostra knowledge base e rimanete aggiornati sulle competenze del settore IT.

    Chi siamo

    The Codest - Società internazionale di sviluppo software con centri tecnologici in Polonia.

    Regno Unito - Sede centrale

    • Ufficio 303B, 182-184 High Street North E6 2JA
      Londra, Inghilterra

    Polonia - Poli tecnologici locali

    • Parco uffici Fabryczna, Aleja
      Pokoju 18, 31-564 Cracovia
    • Ambasciata del cervello, Konstruktorska
      11, 02-673 Varsavia, Polonia

      The Codest

    • Casa
    • Chi siamo
    • Servizi
    • Case Studies
    • Sapere come
    • Carriera
    • Dizionario

      Servizi

    • Consulenza
    • Sviluppo di software
    • Sviluppo backend
    • Sviluppo Frontend
    • Staff Augmentation
    • Sviluppatori backend
    • Ingegneri del cloud
    • Ingegneri dei dati
    • Altro
    • Ingegneri QA

      Risorse

    • Fatti e miti sulla collaborazione con un partner esterno per lo sviluppo di software
    • Dagli Stati Uniti all'Europa: Perché le startup americane decidono di trasferirsi in Europa
    • Confronto tra gli hub di sviluppo Tech Offshore: Tech Offshore Europa (Polonia), ASEAN (Filippine), Eurasia (Turchia)
    • Quali sono le principali sfide di CTO e CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Condizioni di utilizzo del sito web

    Copyright © 2025 di The Codest. Tutti i diritti riservati.

    it_ITItalian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek it_ITItalian