⊗ppOpNsCA 104 of 107 menu

Klassi pseudonüümid nimeruumide jaoks OOP-s PHP-s

Oletame, et meil on kaks klassi Data, kuuluvad erinevatesse nimeruumidesse. Oletame, et mõnes klassis vajame mõlema klassi objekte:

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

Oletame, et otsustasime lihtsustada klasside kutsumist käsu use abil. Sel juhul ootab meid probleem: mõlemal klassil on nimi Data, see tähendab, et meil on nimekonflikt:

<?php namespace Project; // Tekib nimekonflikt: use \Core\Users\Data; // ühendame esimese klassi use \Core\Admin\Data; // ühendame teise klassi class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Selle probleemi lahendamiseks on olemas spetsiaalne käsk as, mis võimaldab määrata ühendatavale klassile pseudonüümi - nime, mille all see klass selles failis kättesaadav on. Teeme oma klassidele Data ümbernimetuse:

<?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; } } ?>

Lihtsustage järgnevat koodi kasutades use:

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

Lihtsustage järgnevat koodi kasutades use:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu