Ո՞րն է տարբերությունը PHP- ում լեզվի կառուցման և գործառույթների միջև:


պատասխանել 1:

Գործառույթների և լեզվական կոնստրուկցիաների հիմնական տարբերությունն այն է, որ լեզվական կոնստրուկցիաները լեզվական հիմնական տարրերն են և չեն կարող հետագայում տրոհվել PHP վերլուծիչով, մինչդեռ գործառույթները պետք է հետագայում բաժանվեն `նախքան վերլուծելը, հաճախ` լեզվական կոնստրուկցիաների մեջ: Այլ կերպ ասած, ճիշտ այնպես, ինչպես PHP- ի վերլուծիչը պետք է տրոհվի PHP կոդերի ներքևի մակարդակի օպոդի համար, որպեսզի համակարգիչը հասկանա դա, գործառույթները նախքան վերլուծելը պետք է փչանան լեզվական կոնստրուկցիաների կողմից PHP վերլուծիչով: Սա մի քանի հետաքրքիր հետևանքներ ունի.

  1. Լեզուների կոնստրուկցիաները սովորաբար ավելի արագ են, քան իրենց ֆունկցիոնալ գործընկերները: Որոշ դեպքերում լեզվական կոնստրուկցիաները կարող են շրջանցել սխալի կառավարման մեխանիզմները: Չնայած PHP- ի գործառույթները կարող են անջատվել կազմաձևման ֆայլի միջոցով, լեզուների կոնստրուկցիաները չեն կարող: Լեզվի կոնստրուկցիաները չեն կարող օգտագործվել որպես հետադարձ կապի գործառույթներ: