🧱 Суть

Переменные в PHP используются для хранения данных и всегда начинаются с символа $.

$name = "Evgeniy";
$age = 25;

Константы – это значения, которые нельзя изменить после создания.

define('APP_NAME', 'My App');

Область видимости определяет, где переменная доступна в коде.

📦 Проблема

1. Переменные доступны не там, где ожидается

function test() {
    echo $name;
}

Переменная вне функции недоступна внутри неё.

2. Случайное изменение важных значений

$database = "mysql";
$database = "sqlite";

Обычная переменная может быть изменена в любой момент.

3. Конфликты имён

Большие проекты содержат много переменных, поэтому важно понимать, где они существуют.

✅ Решение

Использовать переменные и константы с пониманием их области видимости.

💻 Код

Переменные

Создание переменной:

$name = "Alex";

Изменение значения:

$name = "Bob";

Тип переменной определяется автоматически:

$number = 10;
$text = "Hello";
$active = true;

Константы

Константа создаётся один раз и не может быть изменена.

Через define():

define('APP_NAME', 'My App');
 
echo APP_NAME;

Через const:

const VERSION = '1.0.0';

Попытка изменить:

APP_NAME = "New App";

вызовет ошибку.

Область видимости

Глобальная область

Переменная создана вне функций:

$name = "Alex";
 
function hello() {
    echo $name;
}

Внутри функции $name недоступна.

Локальная область

Переменная существует только внутри функции:

function hello() {
    $message = "Hello";
    
    echo $message;
}

После завершения функции переменная уничтожается.

Использование global

Можно получить доступ к глобальной переменной:

$name = "Alex";
 
function hello() {
    global $name;
 
    echo $name;
}

Но такой подход обычно избегают в больших проектах.

Статические переменные

static сохраняет значение между вызовами функции.

function counter() {
    static $count = 0;
 
    $count++;
 
    echo $count;
}

Результат:

1
2
3

Без static переменная создавалась бы заново при каждом вызове.

Переменные внутри классов

В классах используются свойства:

class User {
    public string $name;
}

Доступ:

$user->name = "Alex";

🎯 Вывод

  • переменные в PHP начинаются с $
  • константы нельзя изменить после создания
  • область видимости определяет доступность переменной
  • локальные переменные существуют только внутри своего блока
  • глобальные переменные лучше использовать минимально
  • const и свойства классов помогают сделать код предсказуемее

🔗 Связано