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

PHP arendajana mäletan veel PHP4 päevi, esimest (vabatahtlikku!) GC rakendamist PHP5-s, ja ma elasin läbi PHP7 tuleku _hüpe_ ja selle tagajärjed.
Aastate jooksul on paljud inimesed küsinud minult, miks ma viitsin programmeerimine PHP, ja aastaid olen kuulnud nagu mantrat kaks korduvat argumenti, miks ma peaksin lõpetama ja hakkama kirjutama kommertstarkvara sellistes keeltes nagu Java või C#.
Täna ma tsiteerin neid argumente ja püüan muuta teie suhtumist PHP vähemalt natuke. Jah, selle artikli pealkiri on absurdne clickbait.
PHP sureb aasta-aastalt. Kunagi kõige populaarsem veebikeel kaotab nüüd kuude kaupa populaarsust, peamiselt seetõttu, et JavaScript.
Kui vaadata numbreid, on tõde kainestav! Viimase aasta jooksul, PHP kaotas oma osakaalust veebi taustakeelena hämmastavalt 1,6%.
Kui PHP jätkab seda langustrendi, 18 aasta jooksul PHP langeb alla 50% backend veebitehnoloogia!
Aga okei, nalja kõrvale jättes - kuigi numbrid on reaalsed nagu teatas W3CTechs.
Esimene mainimine, et PHP on suremas võib leida veebis alates 2013. aastast. Toona tarkvara Gunslinger avaldas artikli (mida ma muide väga soovitan!), öeldes, et PHP sureb, sest see ei toeta pikaajalisi protsesse ja kuna tal puudub asünkroonsus.
Ja see on fakt, PHP ei ole selleks loodud!
kui sul on ainult haamer, siis kõik näeb välja nagu nael.
Kuid tagasi numbrite juurde - vaatame eelmise aasta andmeid järgmise aasta kohta PHP Packagisti pakettides kasutatavad versioonid. Viimased andmed on kättesaadavad lähtekohas packagist.org
Kas see on sureva programmeerimiskeele uute versioonide vastuvõtukõver?
Kui sellest ei piisa, siis kontrollime meie "PHP surmajuhtumite arvu" teiste keelte suhtes.
Analüüsi andmed on võetud järgmistest allikatestGitHut 2.0, mis genereerib graafiku arvu git push
keele kohta Githubile alates 2012. aastast, vastavalt skeemile - "Joonegraafiku keelte protsentuaalne jaotus näitab 10 parimat (või käsitsi valitud) keelt alates 2012/Q2".
Nagu näete PHP samuti muudes populaarsetes keeltes nagu Ruby, C/C++, Python on Githubis viimastel aastatel kogenud märkimisväärset populaarsuse langust, kuid seal on tõusutrend ja me ootame, et nad jõuavad pärast pikemat külgsuunalist perioodi taas kõrgetele positsioonidele. (see ei ole investeerimisnõustamine)
Esialgne hype
Javascripti keele puhul on näha samal graafikul. Jätan järeldused ja selle analüüsi juba teile, lugupeetud lugeja.
Aga samas - surev keel ei tohiks ju suurendada programmeerijate tööpakkumiste arvu, eks ole?
Selle artikli kirjutamise hetkel saan valida 171 tööpakkumise hulgast ühes juhtivas tööportaalis aastal Poola, millest koguni 50 on mõeldud juunioridele. PHP sureb, eks?
Ja kui rääkida rahast... kas teadsite, et PHP ja selle allikas kood on alates novembrist 2021 säilitanud sõltumatu avatud lähtekoodiga kogukondSihtasutus PHP mis maksab märkimisväärset raha OpenSource'i arendajatele panuse eest php-src
?
Erinevalt teistest keeltest ja raamistikest, mis on sageli suurte ettevõtete omanduses, on põhiline arenduse meeskond makstakse otse sihtasutuse kontolt, mida haldavad eraettevõtete, nagu JetBrains ja Symfony Corp, aga kaüksikute arendajate väikesed panused.
Avatud lähtekood kogu oma hiilguses!
Jah, see väide tuleb alati nende arendajate suust, kes on tutvunud tugevalt tüpiseeritud, võrreldavate keeltega.
Vaadates graafikut andmete kogutud ajalStackOverflow uuring 2021. aastast, näete, et koguni 10 834 vastajat, kes esindavad peaaegu 60% koguarvust, pidasid PHP "kohutavaks".
Nagu vanakooli PHP programmeerija, ma saan aru, miks see nii on. Mulle meenub kohe klassikaline näide mäluprobleemide kohta PHP:
<?php
klass FOO {
public $f;
}
class BAR {
public $f;
}
while(1) {
$a = new FOO();
$b = new BAR();
$a->f = $b;
$b->f = $a;
print "Memory usage: " . number_format(memory_get_usage(true)) . " bytesn";
unset($a);
unset($b);
}
Asjatundmatutele - jah, ülaltoodud kood põhjustab mäluvea. Ja on veel midagi. Alates meetodite idiootlikust nimetamisest ja täielikust loogika puudumisest nende parameetrite järjekorras (jah, me kõik armastame str_
ja array_
) PHP kõige kuulsamale veale T_PAAMAYIM_NEKUDOTAYIM
- PHP on täis vanade versioonide veidrusi ja vigu. See ei tähenda, et see, mida me kuulsime PHP mõned aastad tagasi, on endiselt tõsi. Keel on teinud läbi tohutu metamorfoosi ja täna vaatan hea meelega oma objektide definitsioone:
readonly class NotificationEvent
{
public function __construct(
public string $context,
public User $user,
public string $body,
public DateTime $issuedAt,
) {}
}
Lisaks sellele on PHP ökosüsteem on tohutult kasvanud ja meil on nüüd uskumatud võimalused luua head, kõrgelt tüpiseeritud ja hästi testitud koodi. Me saame kasutada Symfony DDD rakenduste arendamiseks ilma suuremate probleemideta ja me saame PHP sünkroonimise probleemi lahendada, kasutades Message Bus'i.
Ja kuigi ma ise ei usu, et PHP sobib pikaealiste backend-protsesside loomiseks ja on tohutu jõudlusprobleemiga, kui tegemist on oleku sünkroniseerimisega, olen kalõi PHP konsoolimängu kasutades Symfony + Docker oma käega näitena, et PHP võib veel ebakonventsionaalselt kasutada.
Teine PHP eelis on selle madal sisenemisbarjäär uute arendajate jaoks. Kahe populaarse raamistiku dokumentatsioon Symfony jaLaravel ja PHP dokumentatsioon ise on piisav, et siseneda nende abil backend maailma. Maailm, mis ei ole täiuslik PHP, kuid võimaldab palju. Kasutades täiendavaid raamatukogusid, nagu Laravel Nova, oleme võimelised looma peaaegu iga meie süsteemi komponenti vaid kahe käsuga.
Kas PHP suremas?
Ei, kuid sellel on probleem kuvandiga ja selle parandamiseks on vaja palju tööd teha. Meie, programmeerijad, peame seda tööd tegema, õpetades uut põlvkonda ja andes edasi parimaid tavasid artiklite, raamatukogude ja näpunäidete kujul.
Keelena, mis on olnud turg kakskümmend aastat, mis on üle elanud juba rohkem kui ühe hype
(mäletate Objective-C?) Ma arvan, et see tuleb toime ja leiab oma niši.
Ja kes teab, võib-olla osutuvad minu ennustused õigeks ja PHP 10.x hakkab kahe aasta pärast jälle õitsema?