⊗ppOpNsSn 96 of 107 menu

Синтаксис на именните пространства в ООП в PHP

За да зададете именнo пространствo на клас, трябва първият ред на файла, в който се съхранява този клас да напишете командата namespace, а след нея с интервал - името на това пространство.

Ако класът принадлежи към някакво именнo пространство, то за създаване на обект от класа ще трябва да посочите не само името на класа, но и неговото именнo пространство, разделени с обратна наклонена черта. Нека да разгледаме пример.

Да предположим, че имаме клас Page, който не принадлежи към никое именнo пространство. Тогава обект от този клас ще създадем по следния начин:

<?php $page = new Page; ?>

Да предположим сега, че този клас принадлежи на именнoто пространство Admin. В този случай обект от този клас ще създаваме вече по следния начин:

<?php $page = new \Admin\Page; ?>

Нека да разделим класовете за потребители и класовете за администратори в различни именни пространства, за да избегнем описаните по-горе конфликти между класове.

За класа Page от файла /admin/page.php ще посочим именнo пространство Admin:

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

А за класа Page от файла /users/page.php ще посочим именнo пространство Users:

<?php namespace Users; class Page { } ?>

Нека сега във файла /index.php създадем обект от единия и от другия клас Page:

<?php require_once '/admin/page.php'; require_once '/users/page.php'; $adminPage = new \Admin\Page; $usersPage = new \Users\Page; ?>

Да предположим, че имате папка core и папка project. Във всяка от папките има свой клас Controller. Направете така, че тези класове да принадлежат на различни именни пространства. Във файла index.php създайте обекти от единия и от другия клас.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне