⊗ppOpNsCU 101 of 107 menu

Ukaz use in imenski prostori v OOP v PHP

Recimo, da imamo naslednji razred Data:

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

Recimo, da obstaja tudi razred Page, ki znotraj sebe ustvarja objekte razreda Data:

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

Kot vidite, sta oba naša razreda v povsem različnih imenskih prostorih, zato klicov razreda Data ni mogoče poenostaviti, podobno kot smo to storili v prejšnji lekciji. Ti klici so vendar zelo dolgi in neprijetni, saj je v vsakem klicu razreda Data treba navesti njegov dolg imenski prostor.

Za rešitev podobnega problema obstaja poseben ukaz use. Z uporabo tega ukaza je dovolj, da enkrat povežemo razred po njegovem polnem imenu, in po tem se bomo lahko temu razredu sklicevali preprosto z imenom razreda. Poglejte primer:

<?php namespace Users; use \Core\Admin\Data; // povežemo razred class Page extends Controller { public function __construct() { $data1 = new Data('1'); // kličemo preprosto po imenu $data2 = new Data('2'); // kličemo preprosto po imenu } } ?>

Poenostavite naslednjo kodo z uporabo use:

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

Podani so naslednji razredi:

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

Poenostavite kodo dedovanja razreda z uporabo ukaza use.

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