⊗ppOpNsSn 96 of 107 menu

Namnrymdssyntax i OOP i PHP

För att tilldela en klass ett namnrymd, behöver du som första rad i filen där denna klass är lagrad skriva kommandot namespace, och efter det med ett mellanslag - namnet på denna namnrymd.

Om en klass tillhör ett namnrymd, måste du för att skapa ett objekt av klassen ange både klassens namn och dess namnrymd, separerade med omvänt snedstreck. Låt oss titta på ett exempel.

Låt oss säga att vi har en klass Page som inte tillhör något namnrymd. Då skapar vi ett objekt av denna klass på följande sätt:

<?php $page = new Page; ?>

Låt oss nu säga att denna klass tillhör namnrymdet Admin. I detta fall kommer vi att skapa ett objekt av denna klass redan på detta sätt:

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

Låt oss dela upp klasserna för användare och klasser för admin i olika namnrymden, för att undvika de ovan beskrivna klasskonflikterna.

För klassen Page från filen /admin/page.php anger vi namnrymdet Admin:

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

Och för klassen Page från filen /users/page.php anger vi namnrymdet Users:

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

Låt oss nu i filen /index.php skapa ett objekt av den ena och den andra klassen Page:

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

Anta att du har mappen core och mappen project. I varje mapp finns en egen klass Controller. Se till att dessa klasser tillhör olika namnrymden. I filen index.php, skapa objekt av båda klasserna.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa