⊗ppOpNsCA 104 of 107 menu

Aliasy tried pre menové priestory v OOP v PHP

Majme dve triedy Data, ktoré patria do rôznych menných priestorov. Predpokladajme, že v nejakej triede potrebujeme objekty oboch týchto tried:

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

Predpokladajme, že sme sa rozhodli zjednodušiť volania tried pomocou príkazu use. V tomto prípade nás čaká problém: obe triedy majú názov Data, čo znamená, že budeme mať konflikt mien:

<?php namespace Project; // Nastane konflikt mien: use \Core\Users\Data; // pripojíme prvú triedu use \Core\Admin\Data; // pripojíme druhú triedu class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Na vyriešenie tohto problému existuje špeciálny príkaz as, ktorý umožňuje pripojovanej triede nastaviť alias - názov, pod ktorým bude táto trieda prístupná v tomto súbore. Poďme premenovať naše triedy 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; } } ?>

Zjednodušte nasledujúci kód pomocou use:

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

Zjednodušte nasledujúci kód pomocou use:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť