Relatívne cesty v mennom priestore v OOP v PHP

Nech v súbore index.php prebieha nasledujúce volanie:

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

Ako už viete, pri prístupe k triede pred jej menným priestorom by sa mal písať spätné lomítko. V skutočnosti to nie je nevyhnutné. Ak toto lomítko nenapíšete, volaný menný priestor sa vypočíta relatívne k aktuálnemu mennému priestoru. Pozrite príklad:

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

Dané dve triedy:

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

Zjednodušte kód pre dedenie triedy, berúc do úvahy to, že menné priestory našich tried majú zhodnú časť.

Задание 2

Dané dve triedy:

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

Takto sa vytvárajú objekty týchto tried v súbore index.php:

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

Zjednodušte kód pre vytváranie objektov, berúc do úvahy menný priestor, v ktorom sa vytvárajú objekty našich tried.