Relative Pfade im Namensraum in OOP in PHP

Nehmen wir an, in der Datei index.php erfolgt folgender Aufruf:

index.php<?php
  namespace Admin\Data;
  
  new \Core\Controller;
?>

Wie Sie bereits wissen, sollte beim Zugriff auf eine Klasse vor ihrem Namensraum ein umgekehrter Schrägstrich geschrieben werden. Eigentlich ist das nicht obligatorisch. Wenn dieser Schrägstrich nicht geschrieben wird, wird der aufgerufene Namensraum relativ zum aktuellen Namensraum berechnet. Sehen Sie sich das Beispiel an:

index.php<?php
  namespace Admin\Data;
  
  new Core\Controller; // äquivalent zu \Admin\Data\Core\Controller
?>
Задание 1

Gegeben sind zwei Klassen:

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

Vereinfachen Sie den Code für die Vererbung der Klasse, unter Berücksichtigung dass die Namensräume unserer Klassen einen übereinstimmenden Teil haben.

Задание 2

Gegeben sind zwei Klassen:

php<?php
  namespace Core\Data;
  
  class Controller
  {
    
  }
?>
php<?php
  namespace Core\Data;
  
  class Model
  {
    
  }
?>

So werden Objekte dieser Klassen in der Datei index.php erstellt:

index.php<?php
  namespace Core\Data;
  
  $controller = new \Core\Data\Controller;
  $model      = new \Core\Data\Model;
?>

Vereinfachen Sie den Code für die Erstellung von Objekten, unter Berücksichtigung des Namensraums, in dem die Objekte unserer Klassen erstellt werden.