⊗ppOpNsCU 101 of 107 menu

Brug af use og navnerum i OOP i PHP

Lad os sige, at vi har følgende klasse Data:

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

Lad os også sige, at der er en klasse Page, der opretter objekter af klassen Data inde i sig selv:

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

Som du kan se, ligger begge vores klasser i helt forskellige navnerum, så kald til klassen Data kan ikke forenkles, på samme måde som vi gjorde i den forrige lektion. Disse kald er dog meget lange og ubelejlige, da det i hvert kald til klassen Data er nødvendigt at angive dens lange navnerum.

For at løse dette problem findes der en speciel kommando use. Ved hjælp af denne kommando er det nok at forbinde klassen med dens fulde navn én gang, og efter det vil det være muligt at henvise til denne klasse blot ved klassenavnet. Se eksemplet:

<?php namespace Users; use \Core\Admin\Data; // forbinder klassen class Page extends Controller { public function __construct() { $data1 = new Data('1'); // kalder blot efter navn $data2 = new Data('2'); // kalder blot efter navn } } ?>

Forenkl følgende kode ved hjælp af use:

<?php namespace Project; class Test { public function __construct() { // Opretter 3 objekter af samme klasse: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Følgende klasser er givet:

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

Forenkl arvekoden ved at anvende kommandoen use.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis