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