Vereinfachter Zugriff auf Namensräume in OOP in PHP

Nehmen wir an, wir haben die folgende Klasse Controller:

/admin/controller.php<?php
  namespace Admin;
  
  class Controller
  {
    
  }
?>

Nehmen wir auch an, es gibt eine Klasse Page, die von der Klasse Controller erbt:

/admin/page.php<?php
  namespace Admin;
  
  class Page extends \Admin\Controller
  {
    
  }
?>

Wie Sie sehen, geben wir beim Vererbung den Namen des Elternteils zusammen mit dem Namensraum an. In diesem Beispiel gibt es jedoch eine Nuance: Beide Klassen gehören zum selben Namensraum. In diesem Fall kann beim Zugriff auf eine Klasse einfach der Name dieser Klasse geschrieben werden, wie hier:

/admin/page.php<?php
  namespace Admin;
  
  class Page extends Controller
  {
    
  }
?>
Задание 1

Gegeben sind zwei Klassen:

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

Vereinfachen Sie den Code für die Klassenvererbung unter Berücksichtigung, dass sich beide Klassen im selben Namensraum befinden.