(function(w,d,s,l,i){w[l]=w[l]|||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=? 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5LHNRP9'); Kāpēc mums ir nepieciešams Symfony Polyfill (... un kāpēc mums nevajadzētu) - The Codest
The Codest
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Nozares
    • Fintech un banku darbība
    • E-commerce
    • Adtech
    • Healthtech
    • Ražošana
    • Loģistika
    • Automobiļu nozare
    • IOT
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
Atpakaļ bultiņa ATGRIEZTIES ATPAKAĻ
2022-05-19
Programmatūras izstrāde

Kāpēc mums ir nepieciešams Symfony Polyfill (... un kāpēc mums nevajadzētu)

The Codest

Sebastian Luczak

PHP Vienības vadītājs

Šajā rakstā mēs izskaidrosim, kā darbojas Symfony Polyfill un kā tas ir saistīts ar Symfony projektiem. Mēs arī padziļināti aplūkosim ideju, ko šī bibliotēka cenšas atrisināt.

Lielākajā daļā mūsdienu PHP projekti, pamanīsiet, ka ir liela atkarība no Symfony Polyfill bibliotēka. Šajā rakstā mēs izskaidrosim ne tikai to, kā tas darbojas un kā tas ir saistīts ar Symfony projekti, bet mēs arī padziļināti aplūkosim ideju par problēmu, ko tā mēģina atrisināt.

Mazliet vēstures

PHP ilgu laiku bija sliktā stāvoklī. Tas bija 2005. gadā, kad Andrejs Zmievskis sāka projekts lai nodrošinātu dzimtā Unicode atbalstu PHP sakarā ar jauktām atsauksmēm un daudzām bažām, ka PHP notiek nepareizā virzienā. Attīstība PHP 6.x sākās. Taču tas tā arī netika pabeigts, un tas ir stāsts citai dienai. 10 gadus vēlāk, kaut kad starp 2014. un 2015. gadu, Dmitrijs Stogovs, Siņčen Hui un Ņikita Popovs sāka darbu pie projekta phpng - projekts, kas optimizēja un pārveidoja iekšējo Zend Engine, ko izmantoja PHP.

>_ Radās PHP 7

Un par pēdējiem gadiem, PHP tiek attīstīta straujāk nekā jebkad agrāk, un pašlaik tā stabilā versija ir 8.1.

attēls

Straujās jauno valodas funkciju attīstības dēļ šīm izmaiņām bija jāpielāgojas ne tikai izstrādātājiem, bet arī infrastruktūras un hostinga pakalpojumu sniedzējiem.

Lai mēs, izstrādātāji, varētu izmantot mūsu iemīļotās programmēšanas valodas jaunākās un labākās funkcijas. Symfony Polyfill projekts ir dzimis.

Symfony Polyfill un tā funkcija

Šis projekts backports funkcijas, kas atrodamas jaunākajā PHP versijas un nodrošina dažu paplašinājumu un funkciju savietojamības slāņus. To paredzēts izmantot, ja ir iespējama pārnesamība starp dažādām valstīm. PHP versijas un paplašinājumi ir vēlami.

Tas ir tīrs apraksts par Symfony Polyfill bet ko tas nozīmē?

Ņemot vērā strauji augošo PHP valoda un interneta pakalpojumu sniedzēju pielāgotās programmatūras pielāgošana, lielākā daļa izstrādātāju ir saskārušies ar vienkāršu izvēli:

  • Kā izstrādātājs, es veidoju lietojumprogrammas vecākā versijā PHP un nevar izmantot jaunākās valodas funkcijas, vai
  • Kā izstrādātājs es veidoju modernu lietojumprogrammu, izmantojot jaunāko versiju PHP.

Taču tiem bija jāsaglabā savietojamība ar citiem rīkiem un pakalpojumiem, kas jau tiek izmantoti gan sistēmā, gan kods un infrastruktūras pusē - gandrīz vienmēr tiek izmantotas vecākas versijas PHP.Vai man, dārgais lasītāj, ir jāpiemin šo divu risinājumu tā sauktais ‘jautrības faktors’?

Lai atvieglotu darbu izstrādātājiem, 2015. gadā atvērtā koda kopiena izveidoja Polyfill pirmā stabilā versija ar numuru 1.0.. Izstrādātāju dzīve kļuva vieglāka, un var teikt, ka Symfony Polyfill atrisināja daudzas problēmas, piemēram, koda pārnesamību starp dažādām platformām, PHP versija atšķirības, kā arī atviegloja lietojumprogrammu refaktorizāciju un samazināja tehnoloģisko parādu.

Diemžēl ne visas problēmas var atrisināt ar vienu rīku.

Problēmas, kas saistītas ar vairāku vides versiju uzturēšanu

Sarežģītam IT projekti, dažādu vides versiju uzturēšana dažādiem klientiem/nozarēm/dienestiem ir parasta procedūra. Tā rezultātā rodas nepieciešamība vienlaicīgi izstrādāt daudz dažādu filiāļu lietojumprogrammas, kurām bieži vien ir atšķirīgas funkcionālās prasības un kurām ir sava piesaiste. Esmu daudzkārt saskāries ar problēmu uzturēt vienu un to pašu lietojumprogrammu dažādiem klientiem dažādās PHP5 / PHP7 vidēs, un daudzās problēmas, kas saistītas ar bibliotēku vai to atkarību nesaderību dažādām versijām, ir vienkārši neatrisināmas, izmantojot tikai Symfony Polyfill.

Prasmju atšķirība starp attīstības jomas dalībniekiem team

Ņemot vērā straujo iebūvēto funkciju skaita pieaugumu PHP, daudzi izstrādātāji nav sekojuši līdzi pārmaiņu tempam. Daudzas no funkcijām, kas tiek piedāvātas augstākajās versijās PHP ir viegli panākt ar ārējām bibliotēkām, vai arī izstrādātājiem vienkārši nebija nepieciešamas jaunās funkcijas, piemēram, PHP šķiedras. Izvēloties komanda locekļiem, ir labi pārliecināties, ka prasmes ir saskaņotas vai ka koda piegādes process ir konsekventāks, izmantojot statiskās analīzes rīkus un agrīnu versiju regresijas kļūdu atklāšanu.

Nevēlēšanās mainīties

attēls

Jaunu valodas funkciju ieviešana joprojām ir diezgan zema un PHP 5 ir vairāk nekā 24% daļa skaidri parāda, ka ceturtajā daļā PHP projektu tiek izmantotas versijas, kas ir zemākas par 7.x., kuras drošības atbalsts tiks pārtraukts 2022. gada 6. decembrī. Tas nozīmē, ka šī ziņojuma rakstīšanas laikā vairāk nekā 25% PHP balstītu PHP. Tīmekļa vietne projekti līdz gada beigām būs potenciāli neaizsargāti pret visām jaunajām drošības ievainojamībām. “Ja tas darbojas, kāpēc mums būtu jātraucējas?”

Secinājums

Mums pēc iespējas ātrāk jāpielāgojas valodas izmaiņām un pēc iespējas ātrāk jāizmanto jaunākie risinājumi. Iespējamās legacy projekta migrācijas laikā ir vērts iekļaut Symfony Polyfill kā palīgs un izmantojot tādus paņēmienus kā Strangler Pattern un pašlaik modē esošo BDD metodoloģiju, ko ir pasakaini viegli piemērot, lai Symfony ietvars. Tātad, vai mēs patiešām esam spiesti izmantot Symfony Polyfill?

PHP izstrādes bezmaksas konsultācijas

Lasīt vairāk:

PHP Izstrāde: 5 lietas, kas jums būtu jāzina

7 jaunuzņēmumi, kas 2022. gadā satricinās tirgus skatuvi

PHP Izstrāde. Symfony konsoles komponente - Padomi un triki

Saistītie raksti

Programmatūras izstrāde

PHP 8.2: Kas jauns?

Jaunā PHP versija ir pavisam tuvu. Kādas ir jaunās implementācijas, par kurām jums būtu jāzina? Skatiet šo rakstu, lai to uzzinātu!

The Codest
Sebastian Luczak PHP Vienības vadītājs
Programmatūras izstrāde

PHP Izstrāde. Symfony konsoles komponente - Padomi un triki

Šis raksts tika izveidots ar mērķi parādīt jums visnoderīgākos un noderīgākos padomus un trikus par Symfony Console izstrādi.

The Codest
Sebastian Luczak PHP Vienības vadītājs
Programmatūras izstrāde

Iekšējo un ārējo izstrādātāju pieņemšana darbā

Darbinieku pieņemšana darbā iekšēji vai ārēji? Tā ir vislielākā dilemma! Šajā rakstā uzziniet outsourcing vai iekšējās komandas veidošanas priekšrocības.

The Codest
Grzegorz Rozmus Java vienības vadītājs

Abonējiet mūsu zināšanu bāzi un saņemiet jaunāko informāciju par IT nozares pieredzi.

    Par mums

    The Codest - starptautisks programmatūras izstrādes uzņēmums ar tehnoloģiju centriem Polijā.

    Apvienotā Karaliste - Galvenā mītne

    • 303B birojs, 182-184 High Street North E6 2JA
      Londona, Anglija

    Polija - Vietējie tehnoloģiju centri

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Krakova
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšava, Polija

    The Codest

    • Sākums
    • Par mums
    • Pakalpojumi
    • Case Studies
    • Zināt, kā
    • Karjera
    • Vārdnīca

    Pakalpojumi

    • Tā Konsultatīvais dienests
    • Programmatūras izstrāde
    • Backend izstrāde
    • Frontend izveide
    • Staff Augmentation
    • Backend izstrādātāji
    • Mākoņa inženieri
    • Datu inženieri
    • Citi
    • QA inženieri

    Resursi

    • Fakti un mīti par sadarbību ar ārējo programmatūras izstrādes partneri
    • No ASV uz Eiropu: Kāpēc Amerikas jaunuzņēmumi nolemj pārcelties uz Eiropu?
    • Tehnoloģiju ārzonas attīstības centru salīdzinājums: Tech Offshore Eiropa (Polija), ASEAN (Filipīnas), Eirāzija (Turcija)
    • Kādi ir galvenie CTO un CIO izaicinājumi?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Autortiesības © 2026 The Codest. Visas tiesības aizsargātas.

    lvLatvian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech lt_LTLithuanian is_ISIcelandic lvLatvian