Розширене програмування на PHP – Як використовувати простір імен у PHP
Для початківців PHP поняття простору імен здається досить складним. Але, як тільки ми зрозуміємо основи просторів імен, це легко реалізувати. У цій статті ми вивчаємо, як використовувати простір імен у PHP.
Як розробник, ви відчуєте вдосконалене програмування на PHP, використовуючи простори імен у своєму коді.
PHP представив простори імен, щоб уникнути конфліктів імен між класами, функціями та константами.
Коли ми працюємо над великим проектом, можливо, програмісти дають однакові імена класу, функціям або константам. Наприклад, якщо 2 програмісти визначають той самий клас A, тоді PHP видає фатальну помилку, як-от не може повторно оголосити клас A.
Визначте простір імен у PHP
Щоб зрозуміти, коли нам слід визначити простір імен, ми напишемо шматок коду.
Скажімо, наш один розробник написав наведений нижче код у файлі john.php. Цей код є лише прикладом для пояснення просторів імен. Для простоти ми пишемо функцію, клас і константи в одному файлі.
function my_name() {
echo "John";
}
class Programming {
function my_language() {
echo "PHP";
}
}
const MYCONST = 1;
Ми отримали іншого розробника, який також використовував те саме ім’я для класу, функцій та констант, але для різних цілей (результатів). Його ім’я файлу – sam.php.
function my_name() {
echo "Sam";
}
class Programming {
function my_language() {
echo "Python";
}
}
const MYCONST = 2;
Тепер, коли обидва файли розробника, включені в наш проект, ми отримаємо фатальну помилку. Причиною помилки є те, що ми не можемо використовувати одне і те саме двічі для класу або методу.
Тут слід визначити простір імен.
В обох файлах PHP ми можемо визначити простори імен, як показано нижче.
<?php
namespace John;
function my_name() {
echo "John";
}
class Programming {
function my_language() {
echo "PHP";
}
}
const MYCONST = 1;
?>
І
<?php
namespace Sam;
function my_name() {
echo "Sam";
}
class Programming {
function my_language() {
echo "Python";
}
}
const MYCONST = 2;
?>
Після того, як ми додали простори імен до вищезазначених файлів, помилки PHP зникнуть.
Використання просторів імен
На цьому етапі ми закінчили із визначенням просторів імен. Наступним кроком є використання просторів імен у PHP.
Для використання методу, класу та констант обох програмістів нам потрібно написати код наступним чином.
<?php
require_once('john.php');
require_once('sam.php');
Sammy_name(); //output "Sam"
Johnmy_name(); //output "John"
$a = new SamProgramming();
$a->my_language(); //output "Python"
$b = new JohnProgramming();
$b->my_language(); //output "John"
echo JohnMYCONST; //output "1"
echo SamMYCONST; //output "2"
?>
Для доступу до класу або методів ми повинні додати ім’я простору імен перед ним.
Ми сподіваємось, ви розумієте, як використовувати простір імен у PHP. Якщо у вас є якісь запитання чи пропозиції, залиште коментар нижче.