⊗ppOpNsSN 97 of 107 menu

Névterek alnévtereinek használata az OOP-ban PHP-ben

Tegyük fel, hogy most egy bonyolultabb helyzet áll előttünk: az admin számára két Page osztályt kell készíteni - az egyik az oldal adataival, a másik pedig ezen adatok megjelenítéséért felelős. Tegyük fel, hogy az első osztály a /admin/data/page.php fájlban található, a második pedig a /admin/view/page.php fájlban.

Az előző leckékben már eldöntöttük, hogy a admin mappából származó összes osztály a Admin névtérhez fog tartozni. Most azonban ebben a névtérben két osztály neve ütközik. A probléma megoldására további alnévtereket hozhatunk létre. Például létrehozhatjuk a Admin névteret, és annak Data és View alnévtereit. Ebben az esetben ezen alnévterek neveit egyszerűen a backslash karakterrel választjuk el - mind a névtér megadásakor, mind az osztály példányosításakor.

Itt érdemes megjegyezni, hogy az alnévterek beágyazási szintje korlátlan (lehetőség van al-alnévterek létrehozására alnévtereken belül, és így tovább).

Most fejezzük be a fentebb leírt példánkat. A /admin/data/page.php fájlban lévő Page osztály névtereként adjuk meg a Admin\Data-ot:

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

A /admin/view/page.php fájlban lévő Page osztály névtereként adjuk meg a Admin\View-ot:

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

Hozzuk létre osztályaink objektumait:

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

Tegyük fel, hogy van egy modules/cart mappája. Állítsa be, hogy ebből a mappából származó összes osztály a Modules\Cart névtérhez tartozzon.

Tegyük fel, hogy van egy modules/shop/cart/ mappája. Állítsa be, hogy ebből a mappából származó összes osztály a Modules\Shop\Cart névtérhez tartozzon.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás