Relative stier i navnerum i OOP i PHP

Lad der i filen index.php foretages følgende kald:

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

Som du allerede ved, skal der ved henvisning til en klasse skrives et omvendt skråstreg foran dens navnerum. Det er faktisk ikke nødvendigt. Hvis denne skråstreg ikke skrives, vil det påkaldte navnerum blive beregnet relativt til det aktuelle navnerum. Se eksemplet:

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

Der er givet to klasser:

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

Forenkl koden for arv af klassen, under hensyntagen til at vores klassers navnerum har en fælles del.

Задание 2

Der er givet to klasser:

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

Sådan oprettes objekter af disse klasser i filen index.php:

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

Forenkl koden for oprettelse af objekter, under hensyntagen til det navnerum, hvori objekter af vores klasser oprettes.