⊗ppOpNsCA 104 of 107 menu

Klašu pseidonīmi vārdtelpām OOP PHP

Pieņemsim, ka mums ir divas klases Data, piederīgas dažādām vārdtelpām. Pieņemsim, ka kādā klasē mums vajag objektus no abām šīm klasēm:

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

Pieņemsim, ka mēs nolēmām vienkāršot klašu izsaukšanu izmantojot komandu use. Šajā gadījumā mūs gaida problēma: abām klasēm ir vārds Data, un tas nozīmē, ka mums būs vārdu konflikts:

<?php namespace Project; // Būs vārdu konflikts: use \Core\Users\Data; // pievienojam pirmo klasi use \Core\Admin\Data; // pievienojam otro klasi class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Šīs problēmas risināšanai pastāv speciāla komanda as, kas ļauj pievienojamajai klasei iestatīt pseidonīmu - vārdu, ar kuru šī klase būs pieejama šajā failā. Izveidosim mūsu klašu Data pārdēvēšanu:

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

Vienkāršojiet šādu kodu izmantojot use:

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

Vienkāršojiet šādu kodu izmantojot use:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt