⊗ppOpNsCA 104 of 107 menu

Псевдоними на класи за именски простори во ООП во PHP

Нека имаме две класи Data, кои припаѓаат на различни именски простори. Нека во некоја класа ни требаат објекти од двете овие класи:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // креираме објект $data2 = new \Core\Admin\Data; // креираме објект } } ?>

Нека решиме да ги поедноставиме повиците на класите преку командата use. Во овој случај ние ќе наидеме на проблем: двете класи имаат име Data, а тоа значи дека ќе имаме конфликт на имиња:

<?php namespace Project; // Ќе има конфликт на имиња: use \Core\Users\Data; // ја поврзуваме првата класа use \Core\Admin\Data; // ја поврзуваме втората класа class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

За решавање на овој проблем постои специјална команда as, која овозможува да се зададе на поврзаната класа псевдоним - име, под кое оваа класа ќе биде достапна во оваа датотека. Ајде да ги преименуваме нашите класи 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; } } ?>

Поедноставете го следниот код со употреба на use:

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

Поедноставете го следниот код со употреба на use:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј