⊗ppOpNsRPt 100 of 107 menu

PHP-də OOP-də namespace məkanında nisbi yollarlar

Tutaq ki, index.php faylında aşağıdaki çağırış baş verir:

<?php namespace Admin\Data; new \Core\Controller; ?>

Artıq bildiyiniz kimi, klasa müraciət edərkən onun namespace məkanının qarşısında əks səliqə yazmaq lazımdır. Əslində bu mütləq deyil. Əgər bu səliqə yazılmasa, onda çağırılan namespace məkanı cari namespace-ə nisbətən hesablanacaq. Nümunəyə baxın:

<?php namespace Admin\Data; new Core\Controller; // ekvivalentdir \Admin\Data\Core\Controller ?>

Iki klas verilib:

<?php namespace Modules\Shop\Core; class Cart { } ?>
<?php namespace Modules\Shop; class UserCart extends \Modules\Shop\Core\Cart { } ?>

Kodumuzun namespace-lərinin üst-üstə düşən hissəsi olduğunu nəzərə alaraq, klas mirasları üçün kodu sadələşdirin.

Iki klas verilib:

<?php namespace Core\Data; class Controller { } ?>
<?php namespace Core\Data; class Model { } ?>

Bu klasların obyektləri index.php faylında belə yaradılır:

<?php namespace Core\Data; $controller = new \Core\Data\Controller; $model = new \Core\Data\Model; ?>

Obyektlərin yaradıldığı namespace məkanını nəzərə alaraq, obyekt yaratmaq üçün kodu sadələşdirin.

azbydeenesfrkakkptruuz