PHPにおけるオブジェクト指向プログラミングの名前空間への簡易アクセス

次の Controller クラスがあるとします:

/admin/controller.php<?php
  namespace Admin;
  
  class Controller
  {
    
  }
?>

Controller クラスを継承する Page クラスもあります:

/admin/page.php<?php
  namespace Admin;
  
  class Page extends \Admin\Controller
  {
    
  }
?>

ご覧の通り、継承時には親クラスの名前を 名前空間と共に指定します。 しかし、この例にはニュアンスがあります: 両方の クラスは同じ名前空間に属しています。 この場合、クラスにアクセスする際には、 単にそのクラスの名前を次のように書くことができます:

/admin/page.php<?php
  namespace Admin;
  
  class Page extends Controller
  {
    
  }
?>
Задание 1

2つのクラスが与えられています:

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

両方のクラスが同じ名前空間にあることを考慮して、 クラス継承のコードを簡略化してください。