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