การอ้างอิง namespace ใน OOP ของ PHP แบบง่ายขึ้น
สมมติว่าเรามีคลาส Controller ต่อไปนี้:
<?php
namespace Admin;
class Controller
{
}
?>
และสมมติว่ามีคลาส Page ซึ่งสืบทอดมาจาก
คลาส Controller:
<?php
namespace Admin;
class Page extends \Admin\Controller
{
}
?>
อย่างที่คุณเห็น เมื่อทำการสืบทอดเราระบุชื่อ คลาสแม่พร้อมกับ namespace ในตัวอย่างนี้ อย่างไรก็ตาม มีความแตกต่าง: ทั้งสองคลาส อยู่ใน namespace เดียวกัน ในกรณีเช่นนี้ เมื่ออ้างอิงถึงคลาส เราสามารถเขียนแค่ชื่อคลาสนั้นได้ แบบนี้:
<?php
namespace Admin;
class Page extends Controller
{
}
?>
กำหนดคลาสสองคลาส:
<?php
namespace Modules\Shop;
class Cart
{
}
?>
<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Cart
{
}
?>
ให้ลดรูปโค้ดสำหรับการสืบทอดคลาส โดยคำนึงถึง ว่าทั้งสองคลาสอยู่ใน namespace เดียวกัน