PHP da nom maydonlari

PHP OOP da statik xususiyatlar

PHP da nomlar maydoni nima?

PHP dagi nom maydonlari, shuningdek, dasturga ikkita asosiy funktsiyani ta'minlovchi kvalifikatorlar sifatida tavsiflanadi.

  1. Namespace-dan foydalanib, bir xil tabiatdagi sinflarni bitta nom maydoniga guruhlash orqali kodni tartibga soling.
  2. Nomlar maydoni bizga bir nechta sinflar uchun bir xil nomdan foydalanishga imkon beradi, chunki ular nomlar maydoniga o'ralgan.

Nom maydonlarining umumiy namunasi

Masalan, bizda DMAS (bo'lish, ko'paytirish, qo'shish va ayirish) asosiy matematik operatsiyalarini bajaradigan sinflar guruhi mavjud. Shuningdek, bizda sinf o'quvchilarining natijasini tayyorlaydigan yana bir sinf guruhi mavjud.

Nomlar bo'shliqlari bizga ushbu ikki sinf to'plamini ikkita nom maydoniga ajratish imkonini beradi. Bir nom maydoni matematikaga oid sinflarni, ikkinchisida esa natijalarni hisoblash sinflarini o'z ichiga oladi.

Namespace it PHP qanday e'lon qilinadi?

  • Nomlar maydoni PHP skriptining yuqori qismida e'lon qilingan, shuning uchun u fayl bo'ylab mavjud bo'lishi mumkin.
  • nom maydoni kalit so'z nomlar bo'shliqlarini e'lon qilish uchun ajratilgan.

Syntax

// Declare a namespace maths:
namespace Maths;

Eslatma: Faylning yuqori qismida nom maydonini e'lon qilish majburiydir/ Quyidagi kod noto'g'ri bo'ladi.

<?php
echo "Hello PHP!";
namespace Maths;
...
?>

Endi ushbu mavzuning boshqa tomoniga qarang, ya'ni nomlar maydonining bir qismi bo'lgan sinflar. Biz matematika sinfini misol sifatida olamiz va uni nomlar maydonida e'lon qilamiz.

Matematik nomlar maydonida Division sinfini yarating

<?php
namespace Maths;
class Division {
  public function divide($numenator, $denominator) {
         $result = $numenator/$denominator;
         echo $result;
  }
}
$div= new Division();
?>

<!DOCTYPE html>
<html>
<body>

<?php
$div->divide(6, 3);
?>
</body>
</html>
  • Yuqoridagi misolda biz Maths nom maydonida Divison sinfini yaratamiz. ga e'tibor qarating nom maydonidan foydalaning Division sinfining yuqori qismida kalit so'zdan foydalanish. Bu Divison sinfi Maths nom maydonining bir qismi ekanligini aniqlaydi.
  • Endi biz kodimizdagi Maths nom maydonidan foydalanib, istalgan joyda bo'linish usuliga kirishimiz mumkin.

Nested Namespaces qanday e'lon qilinadi?

Faraz qilaylik, biz kod nomi maydoni ichida Maths nom maydonini e'lon qilmoqchimiz.

namespace Code\Maths;

PHP da Namespace dan qanday foydalanish kerak?

  • Nomlar maydoniga tegishli sinf ob'ektga muhtoj emas. Biz uning namunasini yaratmasdan kirmoqchi bo'lgan sinfning nom maydonidan foydalanadigan koddagi sinfga kira olamiz.
  • Nomlar maydonidan tashqari sinfga kirish uchun biz uni nom maydonini biriktirish orqali amalga oshirishimiz mumkin.

misol

$div= new Maths\division()
$mul= new Maths\multiplication();

Agar bizda bir xil nomlar maydonidan foydalanadigan ko'plab sinflar mavjud bo'lsa, yuqoridagi misoldagi kabi ularga kirish o'rniga namespace kalit so'zidan foydalanish osonroq bo'ladi.

namespace Maths;
$div = new division();
$mul = new multiplication();

Yuqoridagi misolda biz Maths\bo'lish yoki Maths\ko'paytirish kvalifikatsiyasidan foydalanmasdan bo'lish va ko'paytirish sinflariga kiramiz.

Nomlar maydoni bilan taxallusdan foydalanish

Nomlar maydoniga ba'zi taxalluslarni (laqab) berish kod ichida yozishni osonlashtiradi. Bu nomlar maydoni juda uzun yoki qayta-qayta yozish uchun zerikarli bo'lsa foydali bo'ladi.

misol

use Maths as M;
$div = new M\division();

PHP da nom maydonlarining umumiy ko'rinishi rasmiy PHP hujjatlari.

PHP OOP da statik xususiyatlar
en English
X
Top o'ting