Ma hope o ʻeono mau makahiki o ka hoʻomohala ʻana, ua hoʻokuʻu ʻia ka hoʻokuʻu paʻa mua o ka static analyzer PHPStan 1.0, kahi e hiki ai iā ʻoe ke ʻike i nā hewa i ka code PHP me ka ʻole o ka hoʻokō ʻana a me ka hoʻohana ʻana i nā hoʻokolohua unit. Ua kākau ʻia ke code papahana ma PHP a hāʻawi ʻia ma lalo o ka laikini MIT.
Hāʻawi ka mea loiloi i nā pae 10 o ka nānā ʻana, kahi e hoʻonui ai kēlā me kēia pae hope i nā hiki o ka mea ma mua a hāʻawi i nā loiloi koʻikoʻi:
ʻO nā hiʻohiʻona o nā pilikia kumu i ʻike ʻia:
- ʻO ka noho ʻana o nā papa i hoʻohana ʻia ma ka laʻana, hopu, typehints a me nā hana ʻōlelo ʻē aʻe.
- ʻO ke ola a me ka loaʻa ʻana o nā ʻano a me nā hana i kapa ʻia, a me ka helu o nā manaʻo i hala.
- E hōʻoia i ka hoʻihoʻi ʻana o ke ala i ka ʻikepili me ke ʻano like me ka wehewehe ʻana i ka ʻōlelo hoʻihoʻi.
- ʻO ka noho ʻana a me ka ʻike ʻia o nā waiwai i loaʻa, a me ka nānā ʻana i nā ʻano ʻikepili i hōʻike ʻia a i hoʻohana ʻia i loko o nā waiwai.
- Ua pololei ka helu o nā ʻāpana i hāʻawi ʻia i nā kelepona sprintf/printf ma ka poloka hoʻopono string.
- ʻO ka noho ʻana o nā mea hoʻololi e noʻonoʻo ana i nā poloka i hana ʻia e nā mea hoʻohana lālā a me nā puka lou.
- ʻO nā kiola ʻano pono ʻole (e laʻa. "(string) 'foo'") a me nā hoʻāʻo koʻikoʻi ("===" a me "!==") ma nā ʻikepili me nā ʻano a me nā operand e hoʻihoʻi mau i ka wahaheʻe.
Nā hana hou nui ma PHPStan 1.0:
- Ua hoʻokō ʻia ka pae nānā "9", e nānā ana i ka hoʻohana ʻana i ke ʻano "mixed", i manaʻo ʻia no ka hoʻonohonoho ʻana i ka hoʻokipa ʻana o ka hana i nā ʻāpana me nā ʻano like ʻole. Hōʻike ka pae XNUMX i nā hoʻohana palekana ʻole o ka "mixed", e like me ka hāʻawi ʻana i nā waiwai o ke ʻano "mixed" i kahi ʻano ʻē aʻe, ke kāhea ʻana i nā ʻano o ke ʻano "mixed", a me ke komo ʻana i kāna mau waiwai no ka mea ʻaʻole paha.
- E hoʻomalu inā like nā helu hoʻihoʻi no nā kelepona hana like me ka hoʻohana ʻana i nā hōʻike @phpstan-pure a me @phpstan-impure.
- E ʻano ka nānā ʻana i nā hana hoʻāʻo-hopu-hope me ka hoʻohana ʻana i nā hōʻike @throws.
- Ka ʻike ʻana i nā waiwai kūloko i wehewehe ʻia akā hoʻohana ʻole ʻia, nā ʻano a me nā mea mau.
- Ke hāʻawi ʻana i nā kelepona like ʻole i nā hana hoʻonohonoho e like me array_map a me usort.
- Ka nānā ʻana no nā ʻano hōʻike typehint.
- Hana ʻia nā ʻano hoʻolaha i kūpono me PHPDocs, e ʻae ana i nā ʻano mai nā memo hewa e hoʻohana ʻia ma PHPDocs.
Source: opennet.ru