⊗ppOpNsCU 101 of 107 menu

Príkaz use a menné priestory v OOP v PHP

Majme nasledujúcu triedu Data:

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

Nech je tiež trieda Page, ktorá vytvára vo svojom vnútri objekty triedy Data:

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

Ako vidíte, obe naše triedy sa nachádzajú v úplne rôznych menných priestoroch, preto volania triedy Data nie je možné zjednodušiť, podobne ako sme to robili v predchádzajúcej lekcii. Tieto volania sú však veľmi dlhé a nepohodlné, pretože v každom volaní triedy Data musíme uvádzať jeho dlhý menný priestor.

Na vyriešenie tohto problému existuje špeciálny príkaz use. Pomocou tohto príkazu stačí raz pripojiť triedu podľa jej celého názvu, a potom sa bude možné na túto triedu odvolávať jednoducho podľa názvu triedy. Pozrite si príklad:

<?php namespace Users; use \Core\Admin\Data; // pripájame triedu class Page extends Controller { public function __construct() { $data1 = new Data('1'); // voláme jednoducho podľa názvu $data2 = new Data('2'); // voláme jednoducho podľa názvu } } ?>

Zjednodušte nasledujúci kód pomocou use:

<?php namespace Project; class Test { public function __construct() { // Vytvárame 3 objekty jednej triedy: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Dané sú nasledujúce triedy:

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

Zjednodušte kód dedenia triedy aplikovaním príkazu 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
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť