⊗ppOpNsCA 104 of 107 menu

PHP da OOP da Ism Fazolari uchun Sinf Taxalluslari

Faraz qilaylik, bizda ikkita Data sinfi bor, ular turli ism fazolariga tegishli. Faraz qilaylik, qandaydir sinfda bizga ushbu sinflarning ikkala ob'ekti ham kerak:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // ob'ekt yaratamiz $data2 = new \Core\Admin\Data; // ob'ekt yaratamiz } } ?>

Faraz qilaylik, biz sinf chaqiruvlarini use buyrug'i orqali soddalashtirishga qaror qildik. Bunda bizni muammo kutadi: ikkala sinf ham Data nomiga ega, bu esa nomlar to'qnashuviga olib keladi:

<?php namespace Project; // Nomlar to'qnashuvi bo'ladi: use \Core\Users\Data; // birinchi sinfni ulaymiz use \Core\Admin\Data; // ikkinchi sinfni ulaymiz class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Ushbu muammoni hal qilish uchun maxsus as buyrug'i mavjud bo'lib, u ulangan sinfga taxallus berishga imkon beradi - ushbu faylda sinfga kirish nomi. Keling Data sinflarimizga qayta nom beramiz:

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

Quyidagi kodni use yordamida soddalashtiring:

<?php namespace Project; class Test { public function __construct() { $pageController = new \Resource\Controller\Page; $pageModel = new \Resource\Model\Page; } } ?>

Quyidagi kodni use yordamida soddalashtiring:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
ruptsvhuid