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](https://thecodest.co/app/uploads/2024/05/testimony_mug_shot_photo.webp)
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.
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.
Ja viime vuosina, PHP kasvaa nopeammin kuin koskaan, tällä hetkellä vakaana versiona 8.1.
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.
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:
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.
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.
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.
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"?
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?
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ä