window.pipedriveLeadboosterConfig = { base: leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster on juba olemas') } 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 }) }, } } })() Miks me vajame Symfony Polyfill (... ja miks me ei peaks) - The Codest
The Codest
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Tööstusharud
    • Fintech & pangandus
    • E-commerce
    • Adtech
    • Healthtech
    • Tootmine
    • Logistika
    • Autotööstus
    • IOT
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
Tagasi nool TAGASI
2022-05-19
Tarkvaraarendus

Miks me vajame Symfony Polyfill'i (... ja miks me ei peaks seda tegema)

The Codest

Sebastian Luczak

PHP Üksuse juht

Järgnevas artiklis selgitame, kuidas Symfony Polyfill töötab ja kuidas see on seotud Symfony projektidega. Samuti sukeldume sügavamalt ideesse, mida see raamatukogu püüab lahendada.

Enamikus kaasaegsetes PHP projektid, märkate tugevat sõltuvust programmi Symfony Polyfill raamatukogu. Selles artiklis selgitame mitte ainult seda, kuidas see töötab ja kuidas see on seotud Symfony projektid, kuid me süveneme ka probleemi ideesse, mida see püüab lahendada.

Natuke ajalugu

PHP oli üsna pikka aega halvas seisus. See oli 2005. aastal, kui Andrei Zmievski alustas projekt et tuua Unicode'i emakeelne tugi PHP tõttu vastuolulised arvustused ja paljud mured, et PHP läheb vales suunas. Areng PHP 6.x algas. Kuid see ei saanud kunagi valmis - ja see on lugu teise päeva jaoks. 10 aastat hiljem, kuskil 2014 ja 2015 vahel, alustasid Dmitri Stogov, Xinchen Hui ja Nikita Popov. phpng - projekt, mis optimeeris ja muutis ümber sisemise Zend Engine'i, mida kasutab PHP.

>_ Sündis PHP 7

Ja viimastel aastatel, PHP kasvab kiiremini kui kunagi varem, praegu on stabiilne versioon 8.1.

pilt

Keele uute funktsioonide kiire arengu tõttu ei pidanud mitte ainult arendajad, vaid ka infrastruktuuri- ja hostinguteenuse pakkujad kohanema nende muudatustega.

Et meie, arendajad, saaksime kasutada meie armastatud programmeerimiskeele uusimaid ja parimaid funktsioone. Symfony Polyfill sündis projekt.

Symfony Polyfill ja selle funktsioon

See projekt on backports funktsioonid, mis on leitud viimases PHP versioonid ning pakub ühilduvuskihti mõnede laienduste ja funktsioonide jaoks. See on mõeldud kasutamiseks, kui ülekantavus üle kogu PHP versioonid ja laiendused on soovitud.

See on puhas kirjeldus Symfony Polyfill kuid mida see tähendab?

Kiiresti areneva PHP keel ja ISPde tarkvara kohandamise väljapoole astet, on enamik arendajaid seisnud lihtsa valiku ees:

  • Arendajana loodan ma rakendusi vanemas versioonis PHP ja ei saa kasutada keele uusimaid funktsioone või
  • Arendajana loodan kaasaegse rakenduse, kasutades uusimat versiooni PHP.

Kuid nad pidid säilitama ühilduvuse teiste tööriistade ja teenustega, mida juba kasutatakse nii kood ja infrastruktuuri poolel - peaaegu alati kasutades vanemaid versioone PHPKas ma pean mainima, lugupeetud lugeja, nende kahe lahenduse nn "lõbufaktorit"?

Et lihtsustada arendajate tööd, koostas avatud lähtekoodiga kogukond 2015. aastal Polyfilli esimene stabiilne versioon number 1.0. Arendajate elu muutus lihtsamaks ja võib öelda, et Symfony Polyfill lahendas paljud probleemid, näiteks koodi teisaldatavuse erinevate platvormide vahel, PHP versioon erinevused ning muutis rakenduste refaktooringu ja tehnoloogiavõlgade vähendamise palju lihtsamaks.

Kahjuks ei saa kõiki probleeme lahendada ühe vahendiga.

Probleemid, mis on seotud mitme keskkonnaversiooni säilitamisega

Keerulise IT-projektid, on erinevate klientide/kontorite/osakondade jaoks erinevate keskkonnaversioonide haldamine tavaline protseduur. Selle tulemuseks on vajadus arendada samaaegselt palju erinevaid rakenduste harusid, millel on sageli erinevad funktsionaalsed nõuded ja oma tõmbekeskkond. Ma olen palju kordi seisnud silmitsi probleemiga, mis on seotud sama rakenduse hooldamisega erinevate klientide jaoks erinevates PHP5 / PHP7 keskkondades, ning hulk probleeme, mis on seotud raamatukogude või nende sõltuvuste ühildamatusega erinevate versioonide puhul, on lihtsalt lahendamatu, kasutades ainult Symfony Polyfill.

Oskuste erinevus arendusmeeskonna liikmete vahel

Tänu kiirele kasvule funktsioonide sisseehitatud PHPpaljud arendajad ei ole muutuste tempoga sammu pidanud. Paljud funktsioonid, mida pakuvad kõrgemad versioonid PHP on lihtne saavutada väliste raamatukogude abil või arendajad lihtsalt ei vajanud uusi funktsioone, nagu näiteks PHP Kiudained. Valides meeskond liikmed, on hea mõte tagada, et oskused oleksid vastavuses või et koodi tarnimise protsess oleks järjepidevam staatilise analüüsi vahendite ja versiooniregressiooni vigade varajase tuvastamise abil.

Vastumeelsus muutuste suhtes

pilt

Uute keeleomaduste kasutuselevõtt on endiselt üsna madal ja PHP 5 üle 24% osakaal näitab selgelt, et veerand PHP projektidest töötab versiooniga 7.x või madalama versiooniga., mille turvatoetus lõpetatakse 6. detsembril 2022. See tähendab, et selle postituse kirjutamise ajal on aasta lõpuks üle 25% PHP-põhistest veebiprojektidest potentsiaalselt haavatavad kõigi uute turvaaukude suhtes. "Kui see töötab, siis miks peaksime vaeva nägema"?

Kokkuvõte

Me peaksime kohanema keeleliste muudatustega võimalikult kiiresti ja kasutama võimalikult kiiresti uusimaid lahendusi. Legacy-projekti võimaliku migratsiooni käigus tasub kaasata Symfony Polyfill abivahendina ja kasutades selliseid tehnikaid nagu Strangler Pattern ja praegu moes olev BDD metoodika, mida on vapustavalt lihtne rakendada, et Symfony raamistik. Kas me oleme tõesti sunnitud kasutama Symfony Polyfill?

PHP arengu tasuta nõustamine

Loe edasi:

PHP arendus: 5 asja, mida peaksite teadma

7 idufirmat & Scaleup'i, mis raputavad turuskeene 2022. aastal

PHP arendus. Symfony konsooli komponent - näpunäited ja nipid

Seotud artiklid

Tarkvaraarendus

PHP 8.2: Mis on uus?

PHP uus versioon on kohe nurga taga. Milliseid uusi rakendusi peaksite teadma? Vaadake seda artiklit, et teada saada!

The Codest
Sebastian Luczak PHP Üksuse juht
Tarkvaraarendus

PHP arendus. Symfony konsooli komponent - näpunäited ja nipid

See artikkel on loodud eesmärgiga näidata teile kõige kasulikumaid ja kasulikke näpunäiteid ja nippe Symfony konsooli arendamise kohta.

The Codest
Sebastian Luczak PHP Üksuse juht
Tarkvaraarendus

Sise- vs. välisarendajate palkamine

Palgata sisemiselt või väljastpoolt? See on ülim dilemma! Järgnevast artiklist saate teada outsourcing eelised või ettevõttesisese meeskonna moodustamise eelised.

The Codest
Grzegorz Rozmus Java üksuse juht

Tellige meie teadmistebaas ja jääge kursis IT-sektori eksperditeadmistega.

    Meie kohta

    The Codest - rahvusvaheline tarkvaraarendusettevõte, mille tehnoloogiakeskused asuvad Poolas.

    Ühendkuningriik - peakorter

    • Büroo 303B, 182-184 High Street North E6 2JA
      London, Inglismaa

    Poola - kohalikud tehnoloogiakeskused

    • Fabryczna büroopark, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Varssavi, Poola

      The Codest

    • Kodu
    • Meie kohta
    • Teenused
    • Case Studies
    • Tea kuidas
    • Karjäärivõimalused
    • Sõnastik

      Teenused

    • See nõuandev
    • Tarkvaraarendus
    • Backend arendus
    • Frontend arendus
    • Staff Augmentation
    • Backend arendajad
    • Pilveinsenerid
    • Andmeinsenerid
    • Muud
    • QA insenerid

      Ressursid

    • Faktid ja müüdid koostööst välise tarkvaraarenduspartneriga
    • USAst Euroopasse: Miks otsustavad Ameerika idufirmad Euroopasse ümber asuda?
    • Tech Offshore arenduskeskuste võrdlus: Euroopa (Poola), ASEAN (Filipiinid), Euraasia (Türgi).
    • Millised on CTO ja CIOde peamised väljakutsed?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Copyright © 2025 by The Codest. Kõik õigused kaitstud.

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