⊗ppOpNsCA 104 of 107 menu

Pseudonimi klasa za imenske prostore u OOP-u u PHP-u

Neka imamo dve klase Data, koje pripadaju različitim imenskim prostorima. Neka u nekoj klasi trebaju objekti obe ove klase:

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

Neka smo odlučili da pojednostavimo pozive klasa preko naredbe use. U ovom slučaju nas čeka problem: obe klase imaju ime Data, a to znači da ćemo imati konflikt imena:

<?php namespace Project; // Biće konflikt imena: use \Core\Users\Data; // povezujemo prvu klasu use \Core\Admin\Data; // povezujemo drugu klasu class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Za rešavanje ovog problema postoji posebna naredba as, koja omogućava da se povezanoj klasi dodeli pseudonim - ime pod kojim će ova klasa biti dostupna u ovom fajlu. Hajde da izvršimo preimenovanje naših klasa 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; } } ?>

Pojednostavite sledeći kod koristeći use:

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

Pojednostavite sledeći kod koristeći use:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij