Zjednodušený prístup k menným priestorom v OOP v PHP
Nech máme nasledujúcu triedu Controller:
<?php
namespace Admin;
class Controller
{
}
?>
Nech je tiež trieda Page, ktorá dedí
od triedy Controller:
<?php
namespace Admin;
class Page extends \Admin\Controller
{
}
?>
Ako vidíte, pri dedení uvádzame názov rodiča spolu s menným priestorom. V tomto príklade však existuje nuansa: obe triedy patria do rovnakého menného priestoru. V takom prípade pri prístupe k triede stačí jednoducho napísať názov tejto triedy, takto:
<?php
namespace Admin;
class Page extends Controller
{
}
?>
Dané dve triedy:
<?php
namespace Modules\Shop;
class Cart
{
}
?>
<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Cart
{
}
?>
Zjednodušte kód pre dedenie triedy, berúc do úvahy to, že obe triedy sa nachádzajú v jednom mennom priestore.