⊗ppOpNsSN 97 of 107 menu

Namnrymdsunderutrymmen i OOP i PHP

Låt oss nu anta att vi har en mer komplex situation: för administratören behöver vi skapa två klasser Page - en med sidans data, och den andra - med presentationen av dessa data. Låt den första klassen finnas i filen /admin/data/page.php, och den andra - i filen /admin/view/page.php.

I tidigare lektioner har vi redan kommit fram till att alla klasser från mappen admin kommer att tillhöra namnrymden Admin. Men nu har vi i den här samma namnrymd en konflikt mellan två klasser. För att lösa problemet kan vi skapa ytterligare namnrymdsunderutrymmen. Till exempel kan vi skapa namnrymden Admin, och i den underutrymmena Data och View. I så fall skrivs namnen på dessa underutrymmen helt enkelt med omvänt snedstreck - både när namnrymden anges och när ett objekt av klassen skapas.

Här bör det preciseras att nestningsnivån för underutrymmen inte är begränsad (man kan skapa under-underutrymmen i underutrymmen och så vidare).

Så, låt oss färdigställa vårt ovan beskrivna exempel. För klassen Page från filen /admin/data/page.php anger vi namnrymden Admin\Data:

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

För klassen Page från filen /admin/view/page.php anger vi namnrymden Admin\View:

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

Låt oss skapa objekt av våra klasser:

<?php require_once '/admin/data/page.php'; require_once '/admin/view/page.php'; $adminDataPage = new \Admin\Data\Page; $adminViewPage = new \Admin\View\Page; ?>

Antag att du har mappen modules/cart. Gör så att alla klasser från denna mapp tillhör namnrymden Modules\Cart.

Antag att du har mappen modules/shop/cart/. Gör så att alla klasser från denna mapp tillhör namnrymden Modules\Shop\Cart.

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