Псеўданімы класаў для прастор імёнаў у ААП у 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;
}
}
?>