⊗ppOpNsCA 104 of 107 menu

Псеўданімы класаў для прастор імёнаў у ААП у PHP

Няхай у нас ёсць два класы 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; } } ?>
azbydeenesfrkakkptruuz