Релативни патеки во именскиот простор во ООП во PHP

Нека во датотеката index.php се случува следниот повик:

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

Како што веќе знаете, при пристапување до класа пред нејзиниот именски простор треба да се пишува обратна коса црта. Всушност, ова не е задолжително. Ако оваа коса црта не се напише, тогаш повиканиот именски простор ќе се пресмета релативно во однос на тековниот именски простор. Погледнете го примерот:

index.php<?php
  namespace Admin\Data;
  
  new Core\Controller; // еквивалентно на \Admin\Data\Core\Controller
?>
Задание 1

Дадени се две класи:

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

Поедноставете го кодот за наследување на класата, земајќи го предвид фактот дека именските простори на нашите класи имаат заеднички дел.

Задание 2

Дадени се две класи:

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

Вака се креираат објекти од овие класи во датотеката index.php:

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

Поедноставете го кодот за креирање на објекти, земајќи го предвид именскиот простор во кој се креираат објекти од нашите класи.