Нужна помощь донатом
для написания учебников Kotlin, Java, C++, C#, Go, Rust, Dart
подробности по ссылке
⊗ppOpNsCA 104 of 107 menu
◀ ▶

Aliasuri pentru clase în spații de nume în OOP în PHP

Să presupunem că avem două clase Data, care aparțin unor spații de nume diferite. Să presupunem că într-o anumită clasă avem nevoie de obiecte din ambele clase:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // creăm un obiect $data2 = new \Core\Admin\Data; // creăm un obiect } } ?>

Să presupunem că am decis să simplificăm apelurile claselor prin comanda use. În acest caz ne așteaptă o problemă: ambele clase au numele Data, ceea ce înseamnă că vom avea un conflict de nume:

<?php namespace Project; // Va fi conflict de nume: use \Core\Users\Data; // conectăm prima clasă use \Core\Admin\Data; // conectăm a doua clasă class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Pentru a rezolva această problemă există o comandă specială as, care permite setarea unui alias pentru clasa conectată - un nume sub care această clasă va fi accesibilă în acest fișier. Să efectuăm redenumirea claselor noastre 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; } } ?>

Simplificați următorul cod folosind use:

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

Simplificați următorul cod folosind use:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
← →
↑
Română▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge