ნეიმსფეისის ფარდობითი გზები PHP-ის OOP-ში

დავუშვათ ფაილში 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;
?>

გაამარტივეთ კოდი ობიექტების შესაქმნელად, იმის გათვალისწინებით, ნეიმსფეისს, რომელშიც იქმნება ობიექტები ჩვენი კლასების.