⊗ppOpNsCA 104 of 107 menu

Klassenavn alias for navnerom i OOP i PHP

La oss si at vi har to klasser Data, som tilhører forskjellige navnerom. La oss si at i en klasse trenger vi objekter fra begge disse klassene:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // oppretter et objekt $data2 = new \Core\Admin\Data; // oppretter et objekt } } ?>

La oss si at vi bestemte oss for å forenkle kall til klassene via kommandoen use. I dette tilfellet venter det et problem på oss: begge klassene har navnet Data, og det betyr at vi vil få en navnekonflikt:

<?php namespace Project; // Det vil bli navnekonflikt: use \Core\Users\Data; // kobler til den første klassen use \Core\Admin\Data; // kobler til den andre klassen class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

For å løse dette problemet finnes det en spesiell kommando as, som lar deg tildele den tilkoblede klassen et alias - et navn som denne klassen vil være tilgjengelig under i denne filen. La oss gi våre klasser Data nye navn:

<?php namespace Project; use \Core\Users\Data as UsersData; use \Core\Admin\Data as AdminData; class Test { public function __construct() { $data1 = new UsersData; $data2 = new AdminData; } } ?>

Forenkle følgende kode ved bruk av use:

<?php namespace Project; class Test { public function __construct() { $pageController = new \Resource\Controller\Page; $pageModel = new \Resource\Model\Page; } } ?>

Forenkle følgende kode ved bruk av use:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
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