⊗ppOpNsCA 104 of 107 menu

Luokkaliilnimet nimiavaruuksille OOP:ssa PHP:ssä

Oletetaan, että meillä on kaksi Data-luokkaa, joita kuuluu eri nimiavaruuksiin. Oletetaan, että jossain luokassa tarvitsemme objekteja molemmista näistä luokista:

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

Oletetaan, että päätimme yksinkertaistaa luokkien kutsuja use-komennon avulla. Tässä tapauksessa meitä odottaa ongelma: molemmilla luokilla on nimi Data, mikä tarkoittaa, että meillä on nimen conflict:

<?php namespace Project; // Nimen conflict tapahtuu: use \Core\Users\Data; // yhdistetään ensimmäinen luokka use \Core\Admin\Data; // yhdistetään toinen luokka class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Tämän ongelman ratkaisemiseksi on olemassa erityinen as-komento, jonka avulla voidaan antaa yhdistettävälle luokalle aliaksen - nimi, jona tämä luokka on saatavilla tässä tiedostossa. Annetaan uudet nimet luokillemme Data:

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

Yksinkertaista seuraava koodi käyttämällä use:ä:

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

Yksinkertaista seuraava koodi käyttämällä use:ä:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää