การอ้างอิง namespace ใน OOP ของ PHP แบบง่ายขึ้น

สมมติว่าเรามีคลาส Controller ต่อไปนี้:

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

และสมมติว่ามีคลาส Page ซึ่งสืบทอดมาจาก คลาส Controller:

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

อย่างที่คุณเห็น เมื่อทำการสืบทอดเราระบุชื่อ คลาสแม่พร้อมกับ namespace ในตัวอย่างนี้ อย่างไรก็ตาม มีความแตกต่าง: ทั้งสองคลาส อยู่ใน namespace เดียวกัน ในกรณีเช่นนี้ เมื่ออ้างอิงถึงคลาส เราสามารถเขียนแค่ชื่อคลาสนั้นได้ แบบนี้:

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

กำหนดคลาสสองคลาส:

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

ให้ลดรูปโค้ดสำหรับการสืบทอดคลาส โดยคำนึงถึง ว่าทั้งสองคลาสอยู่ใน namespace เดียวกัน