Gen. partnerAlgotech

Локальні змінні в PHP

Якщо ми працюємо в контексті звичайного сценарію, то все відбувається так, як і передбачалося:

|
22 серпня 2019 р.

Локальні змінні допустимі тільки всередині тіла функції або методу (в об'єктно-орієнтованому програмуванні).

Якщо ми працюємо в контексті звичайного сценарію, то все відбувається так, як і передбачалося:

$x = 5;
echo $x; // виводить 5

Aле коли ми визначаємо користувацьку функцію, поведінка дещо змінюється:

$x = 5;
function mojeFunkce(): int
{
$x = 3;
echo $x; // виводить 3
}
echo $x; // виводить 5

Причина в тому, що змінна $x існує тільки в контексті поточної функції або методу. Така поведінка є навмисною.

Якщо ми хочемо передати значення з оточуючого коду у функцію, ми повинні викликати її з необхідними параметрами:

echo mojeFunkce(5); // виводить 6
function mojeFunkce(int $x): int
{
return $x + 1;
}

Значення у функції вводяться за допомогою параметрів. Якщо потрібно передати у функцію додаткові змінні за межами параметрів, то можна використати глобальні змінні, але це не дуже гарна ідея.

Використання локальних змінних має величезне значення при програмуванні великих додатків. Якби ми не розрізняли валідність змінних у різних контекстах, було б неможливо гарантувати, що змінна не буде перевизначена там, де ми на неї не розраховуємо (саме тому глобальні змінні є злом).

$x = 5;
$y = 3;
function soucet(int $x, int $y): int
{
return $x + $y;
}
echo $x; // виводить 5
echo soucet($x, $y); // виводить 8
Načítání komentářů...

Zůstaňte v obraze

Přihlaste se k odběru našeho newsletteru a získejte nejnovější informace o kybernetické bezpečnosti přímo do vaší e-mailové schránky.

Vaše údaje jsou v bezpečí. Newsletter můžete kdykoliv odhlásit.