⊗ppOpNsCA 104 of 107 menu

Vyeo vya Majina kwa Ajira ya Majina katika OOP katika PHP

Hebu tuchukulie tuna madarasa mawili Data, yakiwa ya ajira tofauti za majina. Hebu tuchukulie katika darasa fulani tunahitaji vitu vya madarasa yote mawili haya:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // kuunda kitu $data2 = new \Core\Admin\Data; // kuunda kitu } } ?>

Hebu tuchukulie tumeamua kurahisisha miito ya madarasa kupitia amri use. Katika hali hii, tunatarajiwa na tatizo: madarasa yote mawili yana jina Data, na hii inamaanisha kuwa tutakuwa na mgogoro wa majina:

<?php namespace Project; // Kutakuwa na mgogoro wa majina: use \Core\Users\Data; // kuunganisha darasa la kwanza use \Core\Admin\Data; // kuunganisha darasa la pili class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Kutatua tatizo hili kuna amri maalum as, inayoruhusu kuweka darasa linalounganishwa kivyo - jina, ambalo darasa hili litapatikana kwa jina hili katika faili hii. Hebu tufanye ubadilishaji-jina wa madarasa yetu Data:

<?php namespace Project; use \Core\Users\Data as UsersData; use \Core\Admin\Data as AdminData; class Test { public function __construct() { $data1 = new UsersData; $data2 = new AdminData; } } ?>

Rahisisha msimbo ufuatao kwa kutumia use:

<?php namespace Project; class Test { public function __construct() { $pageController = new \Resource\Controller\Page; $pageModel = new \Resource\Model\Page; } } ?>

Rahisisha msimbo ufuatao kwa kutumia use:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
kkhynlswid