⊗ppOpNsSn 96 of 107 menu

Namespace-syntax in OOP in PHP

Om een naamruimte voor een klasse in te stellen, moet je als eerste regel van het bestand waarin deze klasse is opgeslagen, het commando namespace schrijven, en daarna, gescheiden door een spatie, de naam van deze naamruimte.

Als een klasse tot een naamruimte behoort, moet je om een object van de klasse te maken niet alleen de klassenaam opgeven, maar ook zijn naamruimte, gescheiden door een backslash. Laten we naar een voorbeeld kijken.

Stel dat we een klasse Page hebben, die niet tot een naamruimte behoort. Dan maken we een object van deze klasse als volgt:

<?php $page = new Page; ?>

Stel nu dat deze klasse tot de naamruimte Admin behoort. In dit geval maken we een object van deze klasse op deze manier:

<?php $page = new \Admin\Page; ?>

Laten we de klassen voor gebruikers en de klassen voor beheerders over verschillende naamruimten verdelen, om de hierboven beschreven klasseconflicten te vermijden.

Voor de klasse Page uit het bestand /admin/page.php geven we de naamruimte Admin op:

<?php namespace Admin; class Page { } ?>

En voor de klasse Page uit het bestand /users/page.php geven we de naamruimte Users op:

<?php namespace Users; class Page { } ?>

Laten we nu in het bestand /index.php een object van zowel de eerste als de tweede klasse Page maken:

<?php require_once '/admin/page.php'; require_once '/users/page.php'; $adminPage = new \Admin\Page; $usersPage = new \Users\Page; ?>

Stel dat je een map core en een map project hebt. In elke map zit een eigen klasse Controller. Zorg ervoor dat deze klassen tot verschillende naamruimten behoren. Maak in het bestand index.php objecten van zowel de eerste als de tweede klasse.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren