Что такое пространства имен (namespaces)?

Ответ

Namespaces решают проблему конфликтов имен классов, функций и констант между библиотеками.

namespace App\Models;

class User { /* ... */ }

// Использование
use App\Models\User;
$user = new User();

// Или полное имя
$user = new \App\Models\User();

Правила:

  • Объявление namespace должно быть первой инструкцией в файле (кроме declare)
  • Обратный слеш \ - разделитель уровней
  • PSR-4 связывает namespace с файловой структурой
  • use - импорт для краткости, не загрузка файла
  • Глобальный namespace - \ (например, \Exception)
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.