PHP-тегі ООП-да use командасы және есім кеңістіктері
Бізде келесі Data класы бар делік:
<?php
namespace \Core\Admin;
class Data
{
public function __construct($num)
{
}
}
?>
Сондай-ақ, ішінде Data класының объектілерін
жасайтын Page класы бар делік:
<?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 командасын қолданып, клас мұрагерлік
кодты жеңілдетіңіз.