Ширкати Vimeo
Забур аксари мушкилотеро, ки бо истифодаи нодурусти навъҳо алоқаманданд, инчунин гуногунро муайян мекунад
Илова бар ин, воситаҳои барномасозии бехатар барои имкон фароҳам оварда шудаанд
/** @var string|null */
$a = foo();
/** @var string $a */
echo strpos($a, 'салом');
/** @psalm-assert-agar-true B $a */
функсия астValidB(A $a): bool {
баргардонидани $a instance of B && $a->isValid();
}
Барои автоматикунонии рафъи мушкилоти пайдошуда, утилитаи Psalter пешниҳод шудааст, ки плагинҳо ва плагинҳоро дастгирӣ мекунад.
Дар шумораи нави «Забур».
Санҷиш ҳангоми истифодаи функсияҳо ба монанди echo, exec, дохил ва сарлавҳа истифода мешавад. Ҳангоми таҳлили зарурати фирор, намудҳои додаҳо ба монанди матн, сатрҳо бо SQL, HTML ва коди Shell, сатрҳо бо параметрҳои аутентификатсия ба назар гирифта мешаванд. Реҷаи пешниҳодшуда ба шумо имкон медиҳад, ки осебпазирии кодро муайян кунед, ки боиси скрипти байнисоҳавӣ (XSS) ё ивазкунии SQL мешаванд.
Илова бар ин, метавон қайд кард
-
Ин имконият медиҳад Компилятори JIT , ки истифодаи он хосилнокии мехнатро баланд мебардорад. - таъмин
намудҳои иттифоқҳо , муайян кардани коллексияҳои ду ё зиёда намуд (масалан, “функсияи ҷамъиятӣ foo(Foo|Bar $input): int|float;”). - таъмин
атрибутҳо (эзоҳҳо), ки ба шумо имкон медиҳанд, ки метамаълумотро (ба монанди маълумоти навъи) ба синфҳо бидуни истифодаи синтаксиси Docblock пайваст кунед. -
Синтаксиси кӯтоҳшуда таърифҳои синф, ки ба шумо имкон медиҳад, ки таърифи созанда ва хосиятҳоро якҷоя кунед. - Навъи нави бозгашт -
статистикӣ . - Навъи нав -
омехта , ки барои муайян кардани он ки оё функсия параметрҳои намудҳои гуногунро қабул мекунад, истифода мешавад. - Эзоҳ
партофтан барои коркарди истисноҳо. -
Харитаи заиф сохтани объектхое, ки хангоми чамъоварии ахлот курбони кардан мумкин аст (масалан, барои нигох доштани кэшхои нолозим). -
Имконият бо истифода аз ифодаи “::class” барои объектҳо (аналогӣ ба даъвати get_class()). -
Имконият таърифҳо дар блоки сайди истисноҳо, ки ба тағирёбандаҳо вобаста нестанд. -
Имконият гузоштани вергул пас аз элементи охирин дар рӯйхати параметрҳои функсия. - Интерфейси нав
Стрингшаванда барои муайян кардани ҳама гуна намуди сатр ё маълумоте, ки ба сатр табдил додан мумкин аст (барои он усули __toString() дастрас аст). - Хусусияти нав
str_дарбар () , аналоги соддакардашудаи strpos барои муайян кардани пайдоиши зерсатр, инчунин функсияҳои str_starts_with() ва str_ends_with() барои тафтиши мувофиқатҳо дар аввал ва охири сатр. - Хусусияти иловашуда
fdiv() , ки амалиёти тақсимкуниро бидуни партофтани хато ҳангоми тақсим кардан ба сифр иҷро мекунад. -
Тағйир дода шуд мантиқи пайвастшавии сатр. Масалан, ифодаи 'echo "sum:" . $a + $b' қаблан ҳамчун "echo ("sum: " . $a) + $b' тафсир шуда буд ва дар PHP 8 ҳамчун "echo "sum: " баррасӣ карда мешавад. ($a + $b)'. -
Сахт карда шуд тафтиши амалҳои арифметикӣ ва битӣ, масалан, ифодаҳои "[] % [42]" ва "$object + 4" боиси хатогӣ мешаванд. -
Ба амал бароварда шуд як алгоритми мураттабсозии устувор, ки дар он тартиби арзишҳои якхела дар марҳилаҳои гуногун нигоҳ дошта мешавад.
Манбаъ: opennet.ru