НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

PHP Підручник

PHP СТАРТ PHP Інтро PHP Встановлення PHP Синтаксис PHP Коментарі PHP Змінні PHP Echo / Print PHP Типи даних PHP Рядки PHP Числа PHP Математика PHP Константи PHP Оператори PHP If...Else...Elseif PHP Switch PHP Цикли PHP Функції PHP Масиви PHP Суперглобали PHP RegEx

PHP Форми

PHP Обробка форми PHP Перевірка форми PHP Обов'язкові поля форми PHP Форма URL/E-mail PHP Заповнення форми

PHP Розширений

PHP Дата і час PHP Підключення файлів PHP Обробка файлів PHP Файл відкрити/читати PHP Файл створити/записати PHP Файл Завантажити PHP Кукі PHP Сесії PHP Фільтри PHP Розширені фільтри PHP Callback функції PHP JSON PHP Винятки

PHP ООП

PHP Що таке ООП PHP класи/об'єкти PHP Конструктор PHP Деструктор PHP Модифікатори доступу PHP Спадкування PHP Константи PHP Абстрактні класи PHP Інтерфейси PHP Трейти PHP Статичні методи PHP Статичні властивості PHP Простори імен PHP Ітерація

MySQL База даних

MySQL База даних MySQL Підключення MySQL Створити БД MySQL Створити таблиці MySQL Вставити дані MySQL Отримати останній ID MySQL Вставити кілька записів MySQL Підготовлені інструкції MySQL Вибрати дані MySQL Where MySQL Order By MySQL Видалення даних MySQL Оновлення даних MySQL Обмеження даних

PHP XML

PHP XML Парсери PHP SimpleXML Парсер PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Інтро AJAX PHP AJAX База даних AJAX XML AJAX Живий пошук AJAX Опитування

PHP Приклади

PHP Приклади PHP Компілятор PHP Вікторина PHP Вправи PHP Сертифікат

PHP Довідник

PHP Огляд PHP Масив PHP Календар PHP Дата PHP Каталог PHP Помилка PHP Виняток PHP Файлова система PHP Фільтр PHP FTP PHP JSON PHP Ключові слова PHP Libxml PHP Пошта PHP Математика PHP Різне PHP MySQLi PHP Мережа PHP Output Control PHP RegEx PHP SimpleXML PHP Потік PHP Рядок PHP Обробка змінних PHP XML Парсер PHP Zip PHP Часові пояси

PHP. W3Schools українською. Уроки для початківців

En

PHP Простори імен / namespace


PHP Простори імен (namespace)

Простори імен — це кваліфікатори, які вирішують дві різні проблеми:

  1. Вони забезпечують кращу організацію, групуючи класи, які працюють разом для виконання завдання
  2. Вони дозволяють використовувати одне ім’я для кількох класів

Наприклад, у вас може бути набір класів, які описують таблицю HTML, як-от Table, Row і Cell, а також інший набір класів для опису меблів, як-от Table, Chair і Bed. Простори імен можна використовувати для організації класів у дві різні групи, а також запобігають змішенню двох класів Table та Table.


Оголошення простору імен

Простори імен оголошуються на початку файлу за допомогою ключового слова namespace:

Синтаксис

Оголосіть простір імен під назвою Html:

namespace Html;

Примітка: Оголошення namespace має бути першим у файлі PHP. Наступний код буде недійсним:

<?php
echo "Hello World!";
namespace Html;
...
?>

Константи, класи та функції, оголошені в цьому файлі, належатимуть до простору імен Html:

Приклад

Створіть клас Table у просторі імен Html:

<?php
namespace Html;
class Table {
  public $title = "";
  public $numRows = 0;
  public function message() {
    echo "<p>Table '{$this->title}' has {$this->numRows} rows.</p>";
  }
}
$table = new Table();
$table->title = "My table";
$table->numRows = 5;
?>

<!DOCTYPE html>
<html>
<body>

<?php
$table->message();
?>

</body>
</html>
Спробуйте самі »

Для подальшої організації можна мати вкладені простори імен:

Синтаксис

Оголошіть простір імен під назвою Html всередині простору імен під назвою Code:

namespace Code\Html;

Використання просторів імен

Будь-який код, який слідує за оголошенням namespace, працює всередині простору імен, тому класи, які належать до простору імен, можуть бути створені без будь-яких кваліфікаторів. Щоб отримати доступ до класів поза простором імен, клас повинен мати простір імен, приєднаний до нього.

Приклад

Використовуйте класи з простору імен Html:

$table = new Html\Table()
$row = new Html\Row();
Спробуйте самі »

Коли одночасно використовується багато класів з одного простору імен, легше використовувати ключове слово namespace:

Приклад

Використовуйте класи з простору імен Html без Html\кваліфікатора:

namespace Html;
$table = new Table();
$row = new Row();
Спробуйте самі »

Псевдонім namespace / простору імен

Може бути корисно надати простору імен або класу псевдонім, щоб полегшити написання. Це робиться за допомогою ключового слова use:

Приклад

Дайте простору імен псевдонім:

use Html as H;
$table = new H\Table();
Спробуйте самі »

Приклад

Дайте класу псевдонім:

use Html\Table as T;
$table = new T();
Спробуйте самі »