⊗ppOpNsCA 104 of 107 menu

Klasų pseudonimai vardų erdvėse OOP PHP

Tarkime, kad turime dvi klases Data, priklausančias skirtingoms vardų erdvėms. Tarkime, kad tam tikroje klasėje mums reikia abiejų šių klasių objektų:

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

Tarkime, kad nusprendėme supaprastinti klasių iškvietimus naudojant komandą use. Šiuo atveju mūsų laukia problema: abi klasės turi vardą Data, o tai reiškia, kad turėsime vardų konfliktą:

<?php namespace Project; // Bus vardų konfliktas: use \Core\Users\Data; // prijungiame pirmąją klasę use \Core\Admin\Data; // prijungiame antrąją klasę class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Šiai problemai išspręsti yra skirta speciali komanda as, leidžianti prijungtai klasei suteikti pseudonimą - vardą, kuriuo ši klasė bus pasiekiama šiame faile. Performinkime mūsų klases 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; } } ?>

Supaprastinkite šį kodą naudodami use:

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

Supaprastinkite šį kodą naudodami use:

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