⊗ppOpNsCA 104 of 107 menu

Klasaliasse vir naamruimtes in OOP in PHP

Kom ons sê ons het twee klasse Data, wat aan verskillende naamruimtes behoort. Kom ons sê ons benodig in 'n sekere klas objekte van albei hierdie klasse:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // skep 'n objek $data2 = new \Core\Admin\Data; // skep 'n objek } } ?>

Kom ons sê ons het besluit om die klasaanroepe te vereenvoudig met behulp van die use opdrag. In hierdie geval wag 'n probleem op ons: albei klasse het die naam Data, wat beteken dat ons 'n naamkonflik sal hê:

<?php namespace Project; // Daar sal 'n naamkonflik wees: use \Core\Users\Data; // koppel die eerste klas in use \Core\Admin\Data; // koppel die tweede klas in class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Om hierdie probleem op te los, is daar 'n spesiale opdrag as, wat jou toelaat om 'n alias vir die ingekoppelde klas toe te ken - 'n naam waaronder hierdie klas in hierdie lêer toeganklik sal wees. Kom ons hernoem ons Data klasse:

<?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; } } ?>

Vereenvoudig die volgende kode deur use te gebruik:

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

Vereenvoudig die volgende kode deur use te gebruik:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp