⊗ppOpNsCA 104 of 107 menu

PHP-də OOP-də Adlar Fəzasında Sinif Ləqəbləri

Tutaq ki, bizim iki Data sinfimiz var, hansı ki, müxtəlif ad fəzalarına aiddir. Tutaq ki, hansısa sinifdə bizə hər iki sinfin obyektləri lazımdır:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // obyekt yaradırıq $data2 = new \Core\Admin\Data; // obyekt yaradırıq } } ?>

Tutaq ki, biz use əmri ilə sinif çağırışlarını sadələşdirməyə qərar verdik. Bu halda bizi problem gözləyir: hər iki sinfin adı Data-dır, bu isə o deməkdir ki, bizdə adlar toqquşması olacaq:

<?php namespace Project; // Adlar toqquşması olacaq: use \Core\Users\Data; // birinci sinfi qoşuruq use \Core\Admin\Data; // ikinci sinfi qoşuruq class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Bu problemi həll etmək üçün xüsusi as əmri var, hansı ki, qoşulan sinfə ləqəb təyin etməyə imkan verir - bu sinfin bu faylda hansı ad altında mövcud olacağını. Gəlin bizim Data siniflərimizi yenidən adlandıraq:

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

Aşağıdakı kodu use istifadə edərək sadələşdirin:

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

Aşağıdakı kodu use istifadə edərək sadələşdirin:

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