⊗ppOpNsCA 104 of 107 menu

Псевдоними класа за просторе имена у ООП у ПХП-у

Претпоставимо да имамо две класе Data, које припадају различитим просторима имена. Претпоставимо да нам у некој класи требају објекти обе ове класе:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // креирамо објекат $data2 = new \Core\Admin\Data; // креирамо објекат } } ?>

Претпоставимо да смо одлучили да поједноставимо позиве класа преко команде use. У том случају нас чека проблем: обе класе имају име Data, а то значи да ћемо имати сукоб имена:

<?php namespace Project; // Доћи ће до сукоба имена: use \Core\Users\Data; // повезујемо прву класу use \Core\Admin\Data; // повезујемо другу класу class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

За решавање овог проблема постоји специјална команда as, која омогућава да се повезаној класи додели псеудоним - име под којим ће ова класа бити доступна у овом фајлу. Хајде да извршимо преименовање наших класа Data:

<?php namespace Project; use \Core\Users\Data as UsersData; use \Core\Admin\Data as AdminData; class Test { public function __construct() { $data1 = new UsersData; $data2 = new AdminData; } } ?>

Поједноставите следећи код користећи use:

<?php namespace Project; class Test { public function __construct() { $pageController = new \Resource\Controller\Page; $pageModel = new \Resource\Model\Page; } } ?>

Поједноставите следећи код користећи use:

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