Нужна помощь донатом
для написания учебников Kotlin, Java, C++, C#, Go, Rust, Dart
подробности по ссылке
⊗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