Relatiewe paaie in naamruimtes in OOP in PHP

Laat in lêer index.php die volgende oproep plaasvind:

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

Soos jy reeds weet, moet 'n agteroorskuisstreep voor die naamruimte van 'n klas geskryf word wanneer daar daarna verwys word. Eintlik is dit nie nodig nie. As hierdie streep nie geskryf word nie, sal die opgeroepen naamruimte relatief tot die huidige naamruimte bereken word. Kyk na die voorbeeld:

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

Twee klasse word gegee:

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

Vereenvoudig die kode vir oorerwing van die klas, met inagneming van die feit dat die naamruimtes van ons klasse 'n ooreenstemmende gedeelte het.

Задание 2

Twee klasse word gegee:

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

So word voorwerpe van hierdie klasse geskep in lêer index.php:

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

Vereenvoudig die kode vir die skep van voorwerpe, met inagneming van die naamruimte waarin voorwerpe van ons klasse geskep word.