Vimeo Company
Psalm qhia txog feem ntau ntawm cov teeb meem cuam tshuam nrog kev siv hom tsis raug, nrog rau ntau yam
Tsis tas li ntawd, cov cuab yeej programming ruaj ntseg tau muab los tso cai
/** @var string|null */
$a = foo();
/** @var kab $a */
ncha strpos($a, 'nyob zoo');
/** @psalm-assert-yog-true B $a */
muaj nuj nqi isValidB(A $a): bool {
rov $a piv txwv ntawm B && $a->isValid();
}
Txhawm rau ua kom tshem tawm cov teeb meem pom, Psalter utility yog muab, uas txhawb nqa plugins thiab
Nyob rau hauv qhov tshiab qhov teeb meem ntawm Psalm
Kev lees paub yog siv thaum siv cov haujlwm xws li ncha, exec, suav nrog thiab header. Thaum txheeb xyuas qhov xav tau ntawm kev khiav tawm, cov ntaub ntawv hom xws li cov ntawv nyeem, cov hlua nrog SQL, HTML thiab Plhaub code, cov hlua nrog cov ntawv pov thawj tsis raug suav nrog. Cov kev thov hom tso cai rau koj txheeb xyuas qhov tsis zoo hauv cov cai uas ua rau kev sau ntawv hla chaw (XSS) lossis SQL hloov pauv.
Tsis tas li ntawd, nws tuaj yeem raug sau tseg
-
Tig los TSI compiler , siv cov uas yuav txhim kho productivity. - kev pab txhawb nqa
union hom , txhais cov kev sau ntawm ob lossis ntau hom (piv txwv li, "public function foo(Foo|Bar $input): int|float;"). - kev pab txhawb nqa
yam ntxwv (annotations) uas tso cai rau koj khi metadata (xws li cov ntaub ntawv hom) rau cov chav kawm yam tsis siv Docblock syntax. -
Shortened syntax chav kawm txhais, tso cai rau koj los ua ke cov ntsiab lus ntawm tus tsim thiab cov khoom. - Tshiab hom rov qab -
zoo li qub . - Hom tshiab -
tov , uas tuaj yeem siv los txiav txim siab seb lub luag haujlwm puas lees txais cov kev txwv ntawm ntau hom. - Qhia
muab pov los lis kev zam. -
WeakMap los tsim cov khoom uas tuaj yeem muab txi rau thaum khaws cov khib nyiab (piv txwv li, khaws cov caches tsis tsim nyog). -
Sijhawm siv cov lus "::class" rau cov khoom (analogous rau hu get_class()). -
Sijhawm cov ntsiab lus nyob rau hauv lub ntes thaiv ntawm kev zam uas tsis yog khi rau cov hloov pauv. -
Sijhawm tawm hauv ib qho comma tom qab lub caij kawg hauv cov npe ntawm cov haujlwm tsis ua haujlwm. - Tshiab interface
Stringable txhawm rau txheeb xyuas cov hlua hom lossis cov ntaub ntawv uas tuaj yeem hloov mus rau ib txoj hlua (rau qhov uas __toString() txoj kev muaj). - Tshiab feature
str_contains() , ib qho yooj yim analogue ntawm strpos rau kev txiav txim qhov tshwm sim ntawm ib tug substring, raws li zoo raws li lub functions str_starts_with() thiab str_ends_with() rau kev ntsuam xyuas qhov sib tw thaum pib thiab xaus ntawm ib txoj hlua. - Ntxiv muaj nuj nqi
fdiv() , uas ua rau kev faib ua haujlwm yam tsis muaj qhov yuam kev thaum faib los ntawm xoom. -
Hloov txoj hlua txuas logic. Piv txwv li, cov lus qhia 'echo "sum:". $a + $b' yav dhau los txhais li 'echo ("sum: " . $a) + $ b', thiab hauv PHP 8 yuav raug kho raws li 'echo "sum:" . ($a + $b)'. -
Tightened xyuas cov lej lej thiab kev ua haujlwm me ntsis, piv txwv li, cov kab lus "[] % [42]" thiab "$object + 4" yuav ua rau muaj qhov yuam kev. -
Ua tiav ruaj khov sorting algorithm nyob rau hauv uas qhov kev txiav txim ntawm zoo tib yam muaj nuj nqis yog khaws cia nyob rau hauv sib txawv khiav.
Tau qhov twg los: opennet.ru