⊗ppOpNsCA 104 of 107 menu

Vzdevki razredov za imenske prostore v OOP v PHP

Recimo, da imamo dva razreda Data, ki pripadata različnim imenskim prostorom. Recimo, da v nekem razredu potrebujemo objekte obeh teh razredov:

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

Recimo, da smo se odločili poenostaviti klice razredov z ukazom use. V tem primeru nas čaka težava: oba razreda imata ime Data, kar pomeni, da bomo imeli konflikt imen:

<?php namespace Project; // Prišlo bo do konflikta imen: use \Core\Users\Data; // povežemo prvi razred use \Core\Admin\Data; // povežemo drugi razred class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Za rešitev te težave obstaja poseben ukaz as, ki omogoča nastavitev vzdevka povezanemu razredu - ime, pod katerim bo ta razred dostopen v tej datoteki. Izvedimo preimenovanje naših razredov 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; } } ?>

Poenostavite naslednjo kodo z uporabo use:

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

Poenostavite naslednjo kodo z uporabo 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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni