Sobes.tech
Junior — Middle

PHP-ում պարտադիր է փոփոխականների և ֆունկցիաների խստիվ տիպավորումը:

sobes.tech AI

Պատասխան AI-ից

PHP-ում փոփոխականների և ֆունկցիաների խստիվ տիպավորումը ըստ նախնական կարգավորումների պարտադիր չէ: PHP-ն օգտագործում է դինամիկ տիպավորում, ինչը նշանակում է, որ փոփոխականների տիպերը որոշվում են գործարկման ժամանակ և կարող են փոխվել:

Այնուամենայնիվ, PHP 7-ից սկսած, հնարավոր է ակտիվացնել խստիվ տիպավորումը կոնկրետ ֆայլի համար՝ ավելացնելով declare(strict_types=1); հրահանգը ֆայլի սկզբում: Այս ռեժիմում PHP-ն խստորեն ստուգում է ֆունկցիաների արգումենտների և վերադարձվող արժեքների տիպերը:

Խստիվ տիպավորումը ակտիվացնելու օրինակ:

<?php
declare(strict_types=1);

function sum(int $a, int $b): int {
    return $a + $b;
}

echo sum(1, 2); // 3
// echo sum(1, "2"); // կհանգեցնի սխալի խստիվ ռեժիմում

Այս հրահանգի բացակայության դեպքում PHP-ն ինքնուրույն կփորձի ավտոմատ կերպով փոխարկել տիպերը, ինչը կարող է հանգեցնել անսպասելի արդյունքների: