⊗ppOpNsSN 97 of 107 menu

Imenski prostori v OOP v PHP

Recimo, da imamo zdaj bolj zapleteno situacijo: za administratorja moramo narediti dva razreda Page - enega s podatki strani in drugega - s prikazom tih podatkov. Naj bo prvi razred v datoteki /admin/data/page.php, drugi pa - v datoteki /admin/view/page.php.

V prejšnjih lekcijah smo se že odločili, da bodo vsi razredi iz mape admin pripadali imenskemu prostoru Admin. Vendar imamo zdaj v tem istem prostoru konflikt dveh razredov. Za rešitev problema lahko naredimo dodatne imenske prostore. Na primer, lahko naredimo imenski prostor Admin, v njem pa podprostora Data in View. V tem primeru se imena teh podprostorov preprosto zapišejo z obratno poševnico - tako pri določanju imenskega prostora kot pri ustvarjanju objekta razreda.

Tukaj je treba pojasniti, da raven gnezdenja podprostorov ni omejena (lahko ustvarjate podpodprostore v podprostorih in tako naprej).

Torej, dokončajmo naš zgoraj opisani primer. Za razred Page iz datoteke /admin/data/page.php navedimo imenski prostor Admin\Data:

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

Za razred Page iz datoteke /admin/view/page.php navedimo imenski prostor Admin\View:

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

Ustvarimo objekte naših razredov:

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

Recimo, da imate mapo modules/cart. Poskrbite, da bodo vsi razredi iz te mape pripadali imenskemu prostoru Modules\Cart.

Recimo, da imate mapo modules/shop/cart/. Poskrbite, da bodo vsi razredi iz te mape pripadali imenskemu prostoru Modules\Shop\Cart.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni