window.pipedriveLeadboosterConfig = { base: pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster on jo olemassa') } 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 }) }, } } })() Miksi tarvitsemme Symfony Polyfilliä (... ja miksi meidän ei pitäisi) - The Codest
Codest
  • Tietoa meistä
  • Palvelut
    • Ohjelmistokehitys
      • Frontend-kehitys
      • Backend-kehitys
    • Staff Augmentation
      • Frontend-kehittäjät
      • Backend-kehittäjät
      • Tietoinsinöörit
      • Pilvi-insinöörit
      • QA insinöörit
      • Muut
    • Se neuvoa-antava
      • Tilintarkastus & konsultointi
  • Toimialat
    • Fintech & pankkitoiminta
    • E-commerce
    • Adtech
    • Terveysteknologia
    • Valmistus
    • Logistiikka
    • Autoteollisuus
    • IOT
  • Arvo
    • TOIMITUSJOHTAJA
    • CTO
    • Toimituspäällikkö
  • Tiimimme
  • Tapaustutkimukset
  • Tiedä miten
    • Blogi
    • Tapaamiset
    • Webinaarit
    • Resurssit
Työurat Ota yhteyttä
  • Tietoa meistä
  • Palvelut
    • Ohjelmistokehitys
      • Frontend-kehitys
      • Backend-kehitys
    • Staff Augmentation
      • Frontend-kehittäjät
      • Backend-kehittäjät
      • Tietoinsinöörit
      • Pilvi-insinöörit
      • QA insinöörit
      • Muut
    • Se neuvoa-antava
      • Tilintarkastus & konsultointi
  • Arvo
    • TOIMITUSJOHTAJA
    • CTO
    • Toimituspäällikkö
  • Tiimimme
  • Tapaustutkimukset
  • Tiedä miten
    • Blogi
    • Tapaamiset
    • Webinaarit
    • Resurssit
Työurat Ota yhteyttä
Takaisin nuoli PALAA TAAKSE
2022-05-19
Ohjelmistokehitys

Miksi tarvitsemme Symfony Polyfilliä (... ja miksi meidän ei pitäisi)

Codest

Sebastian Luczak

PHP Yksikön johtaja

Seuraavassa artikkelissa kerrotaan, miten Symfony Polyfill toimii ja miten se liittyy Symfony-projekteihin. Sukellamme myös syvemmälle ajatukseen, jonka tämä kirjasto yrittää ratkaista.

Useimmissa nykyaikaisissa PHP hankkeet, huomaat, että se on hyvin riippuvainen ohjelmasta Symfony Polyfill kirjasto. Tässä artikkelissa selitämme, miten se toimii ja miten se on yhteydessä Symfony-projektit, mutta menemme myös syvemmälle sen ongelman ideaan, jota sillä yritetään ratkaista.

Vähän historiaa

PHP oli pitkään huonossa kunnossa. Se oli 2005, kun Andrei Zmievski aloitti projekti natiivin Unicode-tuen tuominen PHP vaihtelevien arvostelujen ja monien huolenaiheiden vuoksi, että PHP on menossa väärään suuntaan. Kehitys PHP 6.x käynnistyi. Sitä ei kuitenkaan koskaan saatu valmiiksi - ja se on tarina toista päivää varten. Kymmenen vuotta myöhemmin, jossain vuosien 2014 ja 2015 välillä, Dmitry Stogov, Xinchen Hui ja Nikita Popov aloittivat phpng - projekti, jossa optimoitiin ja muokattiin sisäistä Zend Engineä, jota käyttää PHP.

>_ PHP 7 syntyi

Ja viime vuosina, PHP kasvaa nopeammin kuin koskaan, tällä hetkellä vakaana versiona 8.1.

kuva

Kielen uusien ominaisuuksien nopean kehittymisen vuoksi paitsi kehittäjien myös infrastruktuurin ja hosting-palvelujen tarjoajien oli sopeuduttava näihin muutoksiin.

Varmistaaksemme, että me kehittäjät voimme käyttää rakkaan ohjelmointikielemme uusimpia ja parhaita ominaisuuksia. Symfony Polyfill hanke syntyi.

Symfony Polyfill ja sen toiminta

Tämä projekti tukee ominaisuuksia, jotka löytyvät uusimmasta PHP-versiot ja tarjoaa yhteensopivuuskerroksia joillekin laajennuksille ja toiminnoille. Se on tarkoitettu käytettäväksi silloin, kun siirrettävyys yli PHP-versiot ja laajennuksia halutaan.

Tämä on puhdas kuvaus Symfony Polyfill mutta mitä se tarkoittaa?

Nopeasti kehittyvän PHP-kieli ja Internet-palveluntarjoajien ohjelmiston räätälöintiä koskevien vaiheiden vuoksi useimmat kehittäjät ovat joutuneet tekemään yksinkertaisen valinnan:

  • Kehittäjänä luon sovelluksia vanhemmalla versiolla ohjelmistosta PHP eikä voi käyttää kielen uusimpia ominaisuuksia tai
  • Kehittäjänä luon nykyaikaisen sovelluksen, jossa käytetään uusinta versiota ohjelmistosta PHP.

Niiden oli kuitenkin säilytettävä yhteensopivuus muiden työkalujen ja palveluiden kanssa, joita jo käytetään sekä koodi ja infrastruktuurin puolella - lähes aina käyttäen vanhempia versioita ohjelmistoista PHPTarvitseeko minun mainita, hyvä lukija, näiden kahden ratkaisun niin sanottu "hauskuus"?

Helpottaakseen kehittäjien tietä Open Source -yhteisö loi vuonna 2015 Polyfillin ensimmäinen vakaa versio numero 1.0.. Kehittäjien elämästä tuli helpompaa, ja voidaan sanoa, että Symfony Polyfill ratkaisi monia ongelmia, kuten koodin siirrettävyyden eri alustojen välillä, PHP-versio eroja, ja se on helpottanut sovellusten uudistamista ja teknologiavelan vähentämistä huomattavasti.

Valitettavasti kaikkia ongelmia ei voida ratkaista yhdellä työkalulla.

Useiden ympäristöversioiden ylläpitoon liittyvät ongelmat

Monimutkaisten IT-hankkeet, eri versioiden ylläpitäminen ympäristöistä eri asiakkaille/osastoille/osastoille on yleinen käytäntö. Tästä seuraa tarve kehittää samanaikaisesti monia eri sovellushaaroja, joilla on usein erilaiset toiminnalliset vaatimukset ja oma vetovoimansa. Olen kohdannut monta kertaa ongelman saman sovelluksen ylläpitämisestä eri asiakkaille eri PHP5 / PHP7-ympäristöissä, ja kirjastojen tai niiden riippuvuussuhteiden yhteensopimattomuuteen liittyvät lukuisat ongelmat eri versioiden osalta ovat yksinkertaisesti ratkaisemattomia käyttämällä vain Symfony Polyfill.

Kehitystiimin jäsenten välinen osaamisvaje

Nopean kasvun vuoksi ominaisuudet on rakennettu PHPmonet kehittäjät eivät ole pysyneet muutoksen tahdissa mukana. Monet ominaisuuksista, joita tarjotaan korkeammissa versioissa PHP on helppo toteuttaa ulkoisten kirjastojen avulla, tai kehittäjät eivät yksinkertaisesti tarvinneet uusia ominaisuuksia, esimerkiksi PHP Kuidut. Kun valitset joukkue jäsenille, on hyvä varmistaa, että taidot vastaavat toisiaan tai että koodin toimitusprosessista tehdään johdonmukaisempi staattisten analyysityökalujen ja version regressiovirheiden varhaisen havaitsemisen avulla.

Haluttomuus muutokseen

kuva

Uusien kieliominaisuuksien omaksuminen on edelleen melko vähäistä ja PHP 5:n yli 24%:n osuus osoittaa selvästi, että neljäsosa PHP-projekteista käyttää versiota 7.x pienempää versiota., jonka turvatuki päättyy 6. joulukuuta 2022. Tämä tarkoittaa, että tätä viestiä kirjoitettaessa yli 25% PHP-pohjaisista web-projekteista on vuoden loppuun mennessä mahdollisesti haavoittuvaisia kaikille uusille tietoturva-aukoille. "Jos se toimii, miksi meidän pitäisi vaivautua"?

Päätelmä

Meidän on sopeuduttava kielimuutoksiin mahdollisimman nopeasti ja käytettävä uusimpia ratkaisuja mahdollisimman pian. Legacy-projektin mahdollisen siirtymisen aikana on syytä ottaa huomioon seuraavat seikat Symfony Polyfill apuna ja käyttämällä tekniikoita, kuten Strangler Patternia ja tällä hetkellä muodikasta BDD-menetelmää, jota on uskomattoman helppo soveltaa Symfony-kehys. Onko meidän siis todella pakko käyttää Symfony Polyfill?

PHP-kehityksen ilmainen konsultointi

Lue lisää:

PHP Kehitys: TTPTP: 5 asiaa, jotka sinun pitäisi tietää: 5 asiaa, jotka sinun pitäisi tietää

7 Startup- ja Scaleup-yritystä, jotka ravistelevat markkinoita vuonna 2022

PHP Kehitys. Symfony Console Component - Vinkkejä ja niksejä

Aiheeseen liittyvät artikkelit

Ohjelmistokehitys

PHP 8.2: Mitä uutta?

Uusi versio PHP:stä on aivan nurkan takana. Mitkä ovat ne uudet toteutukset, joista sinun tulisi tietää? Tutustu tähän artikkeliin ja ota selvää!

Codest
Sebastian Luczak PHP Yksikön johtaja
Ohjelmistokehitys

PHP Kehitys. Symfony Console Component - Vinkkejä ja niksejä

Tämä artikkeli on luotu tarkoituksena näyttää sinulle hyödyllisimmät ja hyödyllisimmät vinkit ja niksit Symfony-konsolin kehitykseen liittyen.

Codest
Sebastian Luczak PHP Yksikön johtaja
Ohjelmistokehitys

Sisäisten vs. ulkoisten kehittäjien palkkaaminen

Palkkaaminen sisäisesti vai ulkoisesti? Se on äärimmäinen dilemma! Lue seuraavasta artikkelista, mitä etuja on ulkoistamisen tai sisäisen tiimin rakentamisen välillä.

Codest
Grzegorz Rozmus Java-yksikön johtaja

Tilaa tietopankkimme ja pysy ajan tasalla IT-alan asiantuntemuksesta.

    Tietoa meistä

    The Codest - Kansainvälinen ohjelmistokehitysyritys, jolla on teknologiakeskuksia Puolassa.

    Yhdistynyt kuningaskunta - pääkonttori

    • Toimisto 303B, 182-184 High Street North E6 2JA
      Lontoo, Englanti

    Puola - Paikalliset teknologiakeskukset

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Krakova
    • Brain Embassy, Konstruktorska
      11, 02-673 Varsova, Puola

      Codest

    • Etusivu
    • Tietoa meistä
    • Palvelut
    • Tapaustutkimukset
    • Tiedä miten
    • Työurat
    • Sanakirja

      Palvelut

    • Se neuvoa-antava
    • Ohjelmistokehitys
    • Backend-kehitys
    • Frontend-kehitys
    • Staff Augmentation
    • Backend-kehittäjät
    • Pilvi-insinöörit
    • Tietoinsinöörit
    • Muut
    • QA insinöörit

      Resurssit

    • Faktoja ja myyttejä yhteistyöstä ulkoisen ohjelmistokehityskumppanin kanssa
    • Yhdysvalloista Eurooppaan: Miksi amerikkalaiset startup-yritykset päättävät muuttaa Eurooppaan?
    • Tech Offshore -kehityskeskusten vertailu: Tech Offshore Eurooppa (Puola), ASEAN (Filippiinit), Euraasia (Turkki).
    • Mitkä ovat teknologiajohtajien ja tietohallintojohtajien tärkeimmät haasteet?
    • Codest
    • Codest
    • Codest
    • Privacy policy
    • Verkkosivuston käyttöehdot

    Tekijänoikeus © 2025 by The Codest. Kaikki oikeudet pidätetään.

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