⊗ppOpNsCU 101 of 107 menu

Bruk av use og navnerom i OOP i PHP

La oss si at vi har følgende klasse Data:

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

La oss også si at det er en klasse Page som oppretter objekter av klassen Data inni seg:

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

Som du ser, ligger begge klassene våre i helt forskjellige navnerom, derfor kan ikke kall til klassen Data forenkles, på samme måte som vi gjorde i forrige leksjon. Disse kallene er imidlertid veldig lange og upraktiske, ettersom det i hvert kall til klassen Data må oppgis dens lange navnerom.

For å løse slike problemer finnes det en spesiell kommando use. Med denne kommandoen er det nok å koble til klassen én gang med sitt fulle navn, og etter det kan man referere til denne klassen bare med klassenavnet. Se eksempel:

<?php namespace Users; use \Core\Admin\Data; // kobler til klassen class Page extends Controller { public function __construct() { $data1 = new Data('1'); // kaller bare med navnet $data2 = new Data('2'); // kaller bare med navnet } } ?>

Forenkle følgende kode ved bruk av use:

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

Følgende klasser er gitt:

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

Forenkle koden for klassearving ved å bruke kommandoen use.

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