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;
}
}
?>