⊗ppOpNsCU 101 of 107 menu

Komanda use i imenski prostori u OOP u PHP

Recimo da imamo sledeću klasu Data:

<?php namespace \Core\Admin; class Data { public function __construct($num) { } } ?>

Neka postoji i klasa Page, koja unutar sebe kreira objekte klase Data:

<?php namespace Users; class Page { public function __construct() { $data1 = new \Core\Admin\Data('1'); $data2 = new \Core\Admin\Data('2'); } } ?>

Kao što vidite, obe naše klase se nalaze u potpuno različitim imenskim prostorima, pa pozive klase Data ne možemo pojednostaviti, na sličan način kao što smo to činili u prethodnoj lekciji. Ovi pozivi su, međutim, veoma dugi i nezgodni, jer u svakom pozivu klase Data moramo navesti njegov dugačak imenski prostor.

Za rešavanje sličnog problema postoji specijalna komanda use. Uz pomoć ove komande dovoljno je jednom povezati klasu po njenom punom imenu, i nakon toga ćemo moći da se obraćamo toj klasi jednostavno po imenu klase. Pogledajte primer:

<?php namespace Users; use \Core\Admin\Data; // povezujemo klasu class Page extends Controller { public function __construct() { $data1 = new Data('1'); // pozivamo jednostavno po imenu $data2 = new Data('2'); // pozivamo jednostavno po imenu } } ?>

Pojednostavite sledeći kod korišćenjem use:

<?php namespace Project; class Test { public function __construct() { // Kreiramo 3 objekta iste klase: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Date su sledeće klase:

<?php namespace Core\Admin; class Controller { } ?>
<?php namespace Users; class Page extends \Core\Admin\Controller { } ?>

Pojednostavite kod nasleđivanja klase, primenivši komandu use.

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