⊗ppOpNsSN 97 of 107 menu

Sottospazi dei nomi nella OOP in PHP

Supponiamo ora di avere una situazione più complessa: per l'amministratore è necessario creare due classi Page - una con i dati della pagina e la seconda - con la rappresentazione di questi dati. Supponiamo che la prima classe si trovi nel file /admin/data/page.php, e la seconda - nel file /admin/view/page.php.

Nelle lezioni precedenti abbiamo già deciso che tutte le classi dalla cartella admin apparterranno allo spazio dei nomi Admin. Tuttavia, ora in questo stesso spazio dei nomi abbiamo un conflitto tra due classi. Per risolvere il problema si possono creare ulteriori sottospazi dei nomi. Ad esempio, si può creare lo spazio dei nomi Admin, e al suo interno i sottospazi Data e View. In questo caso il nome di questi sottospazi viene semplicemente scritto attraverso la barra rovesciata - sia quando si definisce lo spazio dei nomi, sia quando si crea un oggetto della classe.

Qui è necessario chiarire che il livello di annidamento dei sottospazi non è limitato (si possono creare sotto-sottospazi all'interno dei sottospazi e così via).

Quindi, completiamo il nostro esempio descritto sopra. Per la classe Page dal file /admin/data/page.php indichiamo lo spazio dei nomi Admin\Data:

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

Per la classe Page dal file /admin/view/page.php indichiamo lo spazio dei nomi Admin\View:

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

Creiamo gli oggetti delle nostre classi:

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

Supponiamo di avere la cartella modules/cart. Fate in modo che tutte le classi di questa cartella appartengano allo spazio dei nomi Modules\Cart.

Supponiamo di avere la cartella modules/shop/cart/. Fate in modo che tutte le classi di questa cartella appartengano allo spazio dei nomi Modules\Shop\Cart.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta