⊗ppOpNsCU 101 of 107 menu

PHP-də OOP-də use komandası və ad fəzaları

Tutaq ki, bizim aşağıdakı Data sinfimiz var:

<?php namespace \Core\Admin; class Data { public function __construct($num) { } } ?>

Tutaq ki, həmçinin öz içərisində Data sinfinin obyektlərini yaradan Page sinfi də var:

<?php namespace Users; class Page { public function __construct() { $data1 = new \Core\Admin\Data('1'); $data2 = new \Core\Admin\Data('2'); } } ?>

Gördüyünüz kimi, hər iki sinifimiz tamamilə fərqli ad fəzalarında yerləşir, buna görə də Data sinfinin çağırışlarını, əvvəlki dərsdə etdiyimiz kimi, sadələşdirmək olmaz. Lakin bu çağırışlar çox uzun və əlverişsizdir, çünki hər Data sinfi çağırışında onun uzun ad fəzasını göstərmək lazımdır.

Bu kimi problemləri həll etmək üçün xüsusi use komandası mövcuddur. Bu komanda vasitəsilə sinfi bir dəfə onun tam adı ilə qoşmaq kifayətdir, bundan sonra isə bu sinfə sadəcə sinfin adı ilə müraciət etmək olar. Nümunəyə baxın:

<?php namespace Users; use \Core\Admin\Data; // sinfi qoşuruq class Page extends Controller { public function __construct() { $data1 = new Data('1'); // sadəcə adla çağırırıq $data2 = new Data('2'); // sadəcə adla çağırırıq } } ?>

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

<?php namespace Project; class Test { public function __construct() { // Eyni sinifdən 3 obyekt yaradırıq: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Aşağıdakı siniflər verilmişdir:

<?php namespace Core\Admin; class Controller { } ?>
<?php namespace Users; class Page extends \Core\Admin\Controller { } ?>

use komandasını tətbiq edərək sinif mirasının kodunu sadələşdirin.

azbydeenesfrkakkptruuz