⊗ppOpNsCU 101 of 107 menu

PHP da OOP da use buyrug'i va nomlar fazolari

Faraz qilaylik, bizda quyidagi Data klassi mavjud:

<?php namespace \Core\Admin; class Data { public function __construct($num) { } } ?>

Shuningdek, faraz qilaylik, ichida Data klassining obyektlarini yaratadigan Page klassi mavjud:

<?php namespace Users; class Page { public function __construct() { $data1 = new \Core\Admin\Data('1'); $data2 = new \Core\Admin\Data('2'); } } ?>

Ko'rib turganingizdek, ikkala klassimiz ham turli nomlar fazolarida joylashgan, shuning uchun Data klassini chaqirishlarni oldingi darsda qilganimizdek soddalashtirib bo'lmaydi. Biroq, bu chaqirishlar juda uzun va qulaysiz, chunki har bir Data klassini chaqirishda uning uzun nomlar fazosini ko'rsatishga to'g'ri keladi.

Bunday muammoni hal qilish uchun maxsus use buyrug'i mavjud. Ushbu buyruq yordamida klassni uning to'liq nomi bilan bir marta ulash kifoya, shundan so'ng bu klassga oddiygina klass nomi bilan murojaat qilish mumkin bo'ladi. Misolni ko'ring:

<?php namespace Users; use \Core\Admin\Data; // klassni ulaymiz class Page extends Controller { public function __construct() { $data1 = new Data('1'); // oddiy nom bilan chaqiramiz $data2 = new Data('2'); // oddiy nom bilan chaqiramiz } } ?>

Quyidagi kodni use yordamida soddalashtiring:

<?php namespace Project; class Test { public function __construct() { // Bir klassning 3 ta obyektini yaratamiz: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Quyidagi klasslar berilgan:

<?php namespace Core\Admin; class Controller { } ?>
<?php namespace Users; class Page extends \Core\Admin\Controller { } ?>

use buyrug'ini qo'llab, klass meros olish kodini soddalashtiring.

fruzidkkpt