Uproszczone odwoływanie się do przestrzeni nazw w OOP w PHP
Załóżmy, że mamy następującą klasę Controller:
/admin/controller.php<?php
namespace Admin;
class Controller
{
}
?>
Załóżmy również, że istnieje klasa Page, dziedzicząca
po klasie Controller:
/admin/page.php<?php
namespace Admin;
class Page extends \Admin\Controller
{
}
?>
Jak widzicie, przy dziedziczeniu wskazujemy nazwę rodzica wraz z przestrzenią nazw. W tym przykładzie istnieje jednak niuans: obie klasy należą do tej samej przestrzeni nazw. W takim przypadku przy odwoływaniu się do klasy można po prostu napisać nazwę tej klasy, o tak:
/admin/page.php<?php
namespace Admin;
class Page extends Controller
{
}
?>
Задание 1
Dane są dwie klasy:
php<?php
namespace Modules\Shop;
class Cart
{
}
?>
php<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Cart
{
}
?>
Uprość kod dla dziedziczenia klasy, biorąc pod uwagę, że obie klasy znajdują się w jednej przestrzeni nazw.