Mis vahe on keele konstruktil ja funktsioonil php-s?


Vastus 1:

Funktsioonide ja keelekonstruktsioonide peamine erinevus seisneb selles, et keelekonstruktsioonid on keele kõige põhilisemad üksused ja neid ei saa PHP-i parseri järgi edasi jagada, samal ajal kui funktsioone tuleb enne sõelumist veelgi jaotada, sageli keelekonstruktsioonideks. Teisisõnu, täpselt samamoodi nagu PHP-kood peab PHP-parser jaotama madalama taseme opcodeks, et masin sellest aru saaks, tuleb funktsioonid jaotada PHP-parseri poolt enne nende parsimist keelekonstruktsioonideks. . Sellel on mõned huvitavad tagajärjed:

  1. Keelekonstruktsioonid on tavaliselt kiiremad kui nende funktsioonid. Keelekonstruktsioonidel võib mõnel juhul olla võimalik tõrkekäsitlusmehhanismidest mööda minna.Kuigi funktsioone saab PHP-s konfiguratsioonifaili kaudu keelata, keelekonstruktsioonid seda ei saa. Keelekonstruktsioone ei saa kasutada tagasihelistamise funktsioonidena.