Ho lokolloa ha PHPStan 1.0, analyzer e tsitsitseng bakeng sa khoutu ea PHP

Kamora lilemo tse ts'eletseng tsa nts'etsopele, tokollo ea pele e tsitsitseng ea PHPStan 1.0 static analyzer e etsahetse. E u lumella ho fumana liphoso ho khoutu ea PHP ntle le ho e etsa le ho sebelisa liteko tsa yuniti. Khoutu ea projeke e ngotsoe ka PHP mme e ajoa tlasa laesense ea MIT.

Analyzer e fana ka maemo a 10 a netefatso, moo boemo bo bong le bo bong bo latelang bo holisang bokhoni ba e fetileng mme bo fana ka netefatso e thata haholoanyane:

  • Licheke tsa motheo, ho lemoha lihlopha tse sa tsejoeng, mesebetsi le mekhoa ($ ena), mefuta e sa hlalosoang, le ho fetisa palo e fosahetseng ea likhang.
  • Ho hloaea mefuta e ka bang teng e sa hlalosoang, mekhoa e sa tsejoeng ea boselamose, le thepa ea maemo ka __call le __get.
  • Fumana mekhoa e sa tsejoeng lipolelong tsohle, eseng feela mehala ka $thi. PHPDocs hlahloba.
  • Ho hlahloba mefuta ea ho khutlisa le ho abela mefuta ho thepa.
  • Tlhokomelo ea mantlha ea "ba shoeleng" (ha ho mohla e bitsoang) khoutu. Hlalosa mehlala ea mehala e lulang e khutlisa e le leshano, "tse ling" li-block tse sa llang, 'me u khoute ka mor'a ho khutla.
  • Ho hlahloba mefuta ea likhang tse fetiselitsoeng ho mekhoa le mesebetsi.
  • Tlhokomeliso mabapi le litlhaloso tse sieo tse nang le tlhaiso-leseling ea mofuta.
  • Tlhokomeliso ka mefuta e sa nepahalang ea kopano e hlalosang pokello ea mefuta e 'meli kapa ho feta.
  • Tlhokomeliso mabapi le mekhoa ea ho letsetsa le ho fihlella thepa ka mefuta e sa sebetseng.
  • Ho lekola tšebeliso ea mofuta oa "motsoako".

    Mehlala ea lintlha tse ka sehloohong tse ka khetholloang:

    • Ho ba teng ha litlelase tse sebelisoang ka mohlala, ho tšoasa, ho ngola litlhaku le lipuo tse ling.
    • Ho ba teng le ho fumaneha ha mekhoa le mesebetsi e bitsoang, hammoho le palo ea likhang tse fetisitsoeng.
    • E hlahloba hore na mokhoa o khutlisa data ea mofuta o tšoanang le o hlalositsoe setatementeng sa kgutliso.
    • Ho ba teng le ponahalo ea thepa e fihlellehang, le ho lekola mefuta e phatlalalitsoeng le ea nnete e sebelisoang meahong.
    • Nomoro e nepahetseng ea li-parameter tse fetiselitsoeng ho li-call tsa sprintf/printf ka block format.
    • Ho ba teng ha mefuta e fapaneng ho ela hloko li-blocks tse entsoeng ke li-branching operators le loops.
    • Mefuta e se nang thuso (mohlala "(string) 'foo'") le ho hlahloba ka thata ("===" le "!==") ho data e nang le mefuta e fapaneng le lits'ebetso tse lulang li le leshano.

    Litlhahiso tsa bohlokoa tsa PHPStan 1.0:

    • Boemo ba netefatso bo kentsoeng "9", bo lekola ts'ebeliso ea "motsoako" oa mofuta, o etselitsoeng ho hlophisa kamohelo ea li-parameter tse nang le mefuta e fapaneng ka ts'ebetso. Boemo ba borobong bo supa mekhoa e sa bolokehang ea ho sebelisa "motsoako", joalo ka ho fetisa boleng ka mofuta o "tsoakisitsoeng" ho mofuta o mong, mekhoa ea ho bitsa ka mofuta oa "motsoako" le ho fihlella thepa ea eona, kaha e kanna ea se be teng.
    • Ho laola cheke bakeng sa boitsebiso ba boleng ba ho khutla bakeng sa mehala e ts'oanang e sebelisang litlhaloso tsa @phpstan-pure le @phpstan-impure.
    • Tlanya tlhahlobo ho leka-ho tšoasa-qetellong u sebelisa @throws annotations.
    • Ho tsebahatsa thepa ea ka hare (ea poraefete) e hlalosoang empa e sa sebelisoe, mekhoa le li-constants.
    • Ho fetisa li-callback tse sa tsamaellaneng le lits'ebetso tse laolang tse kang array_map le usort.
    • Hlahloba mefuta bakeng sa litlhaloso tsa mongolo o sieo.
    • Litlhaloso tsa mofuta joale li lumellana le PHPDocs, tse lumellang mefuta e tsoang melaetsa ea liphoso hore e sebelisoe ho PHPDocs.

    Source: opennet.ru

  • Reka sebaka se tšepahalang sa libaka tse nang le ts'ireletso ea DDoS, li-server tsa VPS VDS 🔥 Reka sebaka se tšepahalang sa ho amohela webosaete ka tšireletso ea DDoS, li-server tsa VPS VDS | ProHoster