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()
{
// 1 класстын 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 командасын колдонуп, класстын мурастоо кодуңузду жөнөкөйлөтүңүз.