⊗ppOpNsRPt 100 of 107 menu

Relativní cesty v namespaces v OOP v PHP

Nechť v souboru index.php probíhá následující volání:

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

Jak již víte, při přístupu ke třídě před jejím namespace by se měla psát obrácená lomítka. Ve skutečnosti to není nutné. Pokud toto lomítko nenapíšete, volaný namespace bude vypočítán relativně k aktuálnímu namespace. Podívejte se na příklad:

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

Jsou dány dvě třídy:

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

Zjednodušte kód pro dědění třídy s ohledem na to, že namespace našich tříd mají shodnou část.

Jsou dány dvě třídy:

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

Takto se vytvářejí objekty těchto tříd v souboru index.php:

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

Zjednodušte kód pro vytváření objektů s ohledem na namespace, ve kterém se objekty našich tříd vytvářejí.

swfrencsid