Inkampani yeVimeo
IHubo likhomba izinkinga eziningi ezihlobene nokusetshenziswa kohlobo olungalungile, kanye nezinhlobonhlobo
Ukwengeza, amathuluzi okuhlela avikelekile ahlinzekwa ukuvumela
/** @var string|null */
$a = foo();
/** @var string $a */
echo strpos($a, 'sawubona');
/** @psalm-assert-uma-true B $a */
umsebenzi isValidB(A $a) : bool {
buyisela i-$a exampleof B && $a->isValid();
}
Ukwenza ngokuzenzakalelayo ukuqedwa kwezinkinga ezitholakele, insiza ye-Psalter inikezwa, esekela ama-plugin kanye
Kumagazini omusha weHubo
Ukuqinisekisa kusetshenziswa uma kusetshenziswa imisebenzi efana ne-echo, exec, hlanganisa kanye nesihloko. Lapho kuhlaziywa isidingo sokubaleka, izinhlobo zedatha ezinjengombhalo, izintambo ezine-SQL, i-HTML nekhodi ye-Shell, izintambo ezinamapharamitha wokuqinisekisa ziyacatshangelwa. Imodi ehlongozwayo ikuvumela ukuthi ukhombe ubungozi kukhodi eholela ekubhalweni kwe-cross-site (XSS) noma esikhundleni se-SQL.
Ukwengeza, kungaphawulwa
-
Iyavula I-JIT compiler , ukusetshenziswa okuzokwenza ngcono ukukhiqiza. - ukweseka
izinhlobo zezinyunyana , echaza amaqoqo ezinhlobo ezimbili noma ngaphezulu (isibonelo, “umsebenzi womphakathi foo(Foo|Bar$input): int|float;”). - ukweseka
izimfanelo (izichasiselo) ezikuvumela ukuthi ubophe imethadatha (efana nolwazi lohlobo) emakilasini ngaphandle kokusebenzisa i-syntax ye-Docblock. -
I-syntax efushanisiwe Izincazelo zekilasi, ezikuvumela ukuthi uhlanganise incazelo yomakhi nezakhiwo. - Uhlobo olusha lokubuyisela -
Static . - Uhlobo olusha -
Kuxutshwe , engasetshenziswa ukunquma ukuthi umsebenzi uyawamukela yini amapharamitha ezinhlobo ezahlukene. - Isimo
phosa ukuphatha okuhlukile. -
I-WeakMap ukudala izinto ezinganikelwa ngesikhathi sokuqoqwa kukadoti (isibonelo, ukugcina ama-caches angadingekile). -
Ithuba usebenzisa isisho esithi “::class” ezintweni (okufana nokubiza get_class()). -
Ithuba izincazelo kubhlokhi yokubamba kokuhlukile okungaboshelwe kokuguquguqukayo. -
Ithuba kushiya ukhefana ngemva kwento yokugcina ohlwini lwamapharamitha omsebenzi. - Isixhumi esibonakalayo esisha
Iqinile ukukhomba noma yiziphi izinhlobo zeyunithi yezinhlamvu noma idatha engaguqulelwa kuyunithi yezinhlamvu (lapho __toString() indlela etholakalayo). - Isici esisha
str_contains() , i-analogue eyenziwe lula ye-strpos yokunquma ukwenzeka kochungechunge oluncane, kanye nemisebenzi ethi str_starts_with() kanye ne-str_ends_with() yokuhlola okufanayo ekuqaleni nasekupheleni kweyunithi yezinhlamvu. - Isici esingeziwe
fdiv() , eyenza umsebenzi wokuhlukanisa ngaphandle kokuphonsa iphutha lapho ihlukanisa ngoziro. -
Kushintshiwe intambo yokuhlanganisa ingqondo. Isibonelo, isisho esithi 'echo "sum:" . I-$a + $b' ngaphambilini yayihunyushwa ngokuthi 'echo ("sum: " . $a) + $b', futhi ku-PHP 8 izothathwa ngokuthi 'echo "sum: " . ($a + $b)'. -
Iqinisiwe ukuhlola izibalo nokusebenza kwebhithi, isibonelo, izinkulumo "[] % [42]" kanye "$object + 4" kuzoholela ephutheni. -
Kwenziwa i-algorithm yokuhlunga ezinzile lapho ukuhleleka kwamanani afanayo kugcinwa kuwo wonke ama-run ahlukene.
Source: opennet.ru