Опростен достъп до именни пространства в ООП в PHP
Да предположим, че имаме следния клас Controller:
<?php
namespace Admin;
class Controller
{
}
?>
Да предположим също, че има клас Page, който наследява
от класа Controller:
<?php
namespace Admin;
class Page extends \Admin\Controller
{
}
?>
Както виждате, при наследяване ние посочваме името на родителя заедно с именото пространство. В този пример обаче има нюанс: и двата класа принадлежат на едно и също имено пространство. В този случай при достъп до клас може просто да се напише името на този клас, ето така:
<?php
namespace Admin;
class Page extends Controller
{
}
?>
Дадени са два класа:
<?php
namespace Modules\Shop;
class Cart
{
}
?>
<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Cart
{
}
?>
Опростете кода за наследяване на класа, като вземете предвид факта, че и двата класа са в едно и също имено пространство.