⊗ppOpNsSN 97 of 107 menu

PHP-ում OOP-ի անունների ենթատարածքները

Ենթադրենք, հիմա մենք ունենք ավելի բարդ իրավիճակ. ադմինիստրատորի համար անհրաժեշտ է ստեղծել երկու Page դաս - մեկը էջի տվյալներով, իսկ երկրորդը՝ այդ տվյալների ներկայացմամբ Ենթադրենք, առաջին դասը գտնվում է /admin/data/page.php ֆայլում, իսկ երկրորդը - /admin/view/page.php ֆայլում:

Նախորդ դասերում մենք արդեն որոշել էինք, որ admin պանակի բոլոր դասերը կպատկանեն Admin անունների տարածքին: Սակայն, հիմա հենց այս տարածքում մենք ունենք երկու դասի կոնֆլիկտ: Խնդիրը լուծելու համար կարելի է ստեղծել լրացուցիչ անունների ենթատարածքներ: Օրինակ, կարելի է ստեղծել Admin անունների տարածք, և դրա մեջ Data և View ենթատարածքներ: Այս դեպքում այդ ենթատարածքների անունները պարզապես գրվում են հակադարձ շեղատողով - և՛ անունների տարածք նշանակելիս, և՛ դասի օբյեկտ ստեղծելիս:

Այստեղ պետք է հստակեցնել, որ ենթատարածքների բնադրման մակարդակը սահմանափակված չէ (կարելի է ստեղծել ենթատարածքների մեջ ենթա-ենթատարածքներ և այսպես շարունակ):

Այսպիսով, եկեք ավարտին հասցնենք վերը նկարագրված օրինակը: /admin/data/page.php ֆայլի Page դասի համար նշենք Admin\Data անունների տարածքը:

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

/admin/view/page.php ֆայլի Page դասի համար նշենք Admin\View անունների տարածքը:

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

Ստեղծենք մեր դասերի օբյեկտները:

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

Ենթադրենք, դուք ունեք modules/cart պանակ: Կարգավորեք այնպես, որ այդ պանակի բոլոր դասերը պատկանեն Modules\Cart անունների տարածքին:

Ենթադրենք, դուք ունեք modules/shop/cart/ պանակ: Կարգավորեք այնպես, որ այդ պանակի բոլոր դասերը պատկանեն Modules\Shop\Cart անունների տարածքին:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել