Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

Namespace ใน PHP คืออะไร?


Namespace ใน PHP ใช้แก้ปัญหาชื่อชนกัน (Name Collision) เมื่อสร้างแอปพลิเคชันขนาดใหญ่ หรือรวมไลบรารีภายนอก อาจมีชื่อคลาส ฟังก์ชัน ค่าคงที่ ซ้ำกัน Namespace จัดกลุ่ม classes, interfaces, functions, constants ที่เกี่ยวข้อง

ไวยากรณ์

<?php 
namespace MyfirstNamespace { 
    function welcome() { 
        echo 'welcome To Namespace'; 
    } 
} 
?>

Namespace แก้ปัญหา 2 ข้อ:

  • 1. ชื่อชนระหว่างโค้ดของคุณ กับ PHP internal classes/functions/constants หรือ third-party
  • 2. ย่อชื่อยาว (Extra_Long_Names) เพื่อ readability

หมายเหตุ: Alias ด้วย USE

Namespace แทนที่อยู่ของไฟล์ในแอป ถ้าต้องการย่อ ใช้ "USE" สร้าง alias

<?php 
namespace SMTP; 
class Mail{} 
namespace Mailgun; 
class Mail{} 
use SMTP\Mail as SMTPMail; 
use Mailgun\Mail as MailgunMail; 
$smtp_mailer = new SMTPMail(); 
$mailgun_mailer = new MailgunMail(); 
?>

คำอธิบาย

มีคลาส Mail ซ้ำ 2 namespace ใช้ alias (SMTPMail, MailgunMail) เพื่อใช้พร้อมกันได้