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;
?>

Объектилер түзүлүп жаткан аталыш мейкиндигин эске алып, объектилерди түзүү үчүн кодду жөнөкөйлөтүңүз.