⊗ppOpNsCU 101 of 107 menu

Командата use и именните пространства в ООП в PHP

Да предположим, че имаме следния клас Data:

<?php namespace \Core\Admin; class Data { public function __construct($num) { } } ?>

Да предположим също, че има клас Page, който създава в себе си обекти от клас Data:

<?php namespace Users; class Page { public function __construct() { $data1 = new \Core\Admin\Data('1'); $data2 = new \Core\Admin\Data('2'); } } ?>

Както виждате, и двата наши класа се намират в напълно различни именни пространства, затова извикванията на клас Data не могат да бъдат опростени, подобно на това, което направихме в предишния урок. Тези извиквания обаче са много дълги и неудобни, тъй като във всяко извикване на клас Data трябва да се посочи дългото му именно пространство.

За решаване на подобен проблем съществува специална команда use. С помощта на тази команда е достатъчно веднъж да се свърже клас по пълното му име, и след това може да се осъществява достъп до този клас просто по името на класа. Вижте пример:

<?php namespace Users; use \Core\Admin\Data; // свързваме класа class Page extends Controller { public function __construct() { $data1 = new Data('1'); // извикваме просто по име $data2 = new Data('2'); // извикваме просто по име } } ?>

Опростете следния код с използването на use:

<?php namespace Project; class Test { public function __construct() { // Създаваме 3 обекта от един клас: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Дадени са следните класове:

<?php namespace Core\Admin; class Controller { } ?>
<?php namespace Users; class Page extends \Core\Admin\Controller { } ?>

Опростете кода за наследяване на клас, като приложите команда use.

Български
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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне