⊗ppOpNsCU 101 of 107 menu

Amri ya use na Maeneo ya Majina katika OOP katika PHP

Hebu tuchukulie tuna darasa lifuatalo Data:

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

Hebu pia tuchukulie kuna darasa Page, linalounda ndani yake vitu vya darasa Data:

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

Kama unavyoona, madarasa yetu yote mawili yako katika maeneo ya majina tofauti kabisa, kwa hivyo miito ya darasa Data haiwezi kurahisishwa, kama tulivyofanya katika somo lilopita. Miito hii, hata hivyo, ni mirefu na haifai, kwani katika kila mwito wa darasa Data inabidi tuonyeshe eneo lake la majina refu.

Kwa ajili ya kutatua tatizo kama hilo kuna amri maalum use. Kwa kutumia amri hii inatosha kuunganisha darasa kwa jina lake kamili mara moja, na baada ya hapo inawezekana kurejelea darasa hili tu kwa jina la darasa. Angalia mfano:

<?php namespace Users; use \Core\Admin\Data; // tunaunganisha darasa class Page extends Controller { public function __construct() { $data1 = new Data('1'); // tunaita kwa jina tu $data2 = new Data('2'); // tunaita kwa jina tu } } ?>

Rahisisha msimbo ufuatao kwa kutumia use:

<?php namespace Project; class Test { public function __construct() { // Tunaunda vitu 3 vya darasa moja: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Zimetolewa madarasa yafuatayo:

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

Rahisisha msimbo wa urithi wa darasa, ukitumia amri use.

bytridbnhi