บทช่วยสอนPHP

PHP HOME แนะนำ PHP การติดตั้ง PHP PHP ไวยากรณ์ ความคิดเห็น PHP ตัวแปร PHP PHP Echo / พิมพ์ ประเภทข้อมูล PHP PHP Strings หมายเลข PHP PHP คณิตศาสตร์ ค่าคงที่ PHP ตัวดำเนินการ PHP PHP If...Else...Elseif PHP Switch PHP Loops ฟังก์ชัน PHP PHP Arrays PHP Superglobals PHP RegEx

แบบฟอร์มPHP

การจัดการแบบฟอร์ม PHP การตรวจสอบแบบฟอร์ม PHP ต้องใช้แบบฟอร์ม PHP URL แบบฟอร์ม PHP/อีเมล แบบฟอร์ม PHP เสร็จสมบูรณ์

PHPขั้นสูง

วันที่และเวลา PHP รวม PHP การจัดการไฟล์ PHP ไฟล์ PHP เปิด/อ่าน สร้าง/เขียนไฟล์ PHP อัพโหลดไฟล์ PHP คุกกี้ PHP PHP Sessions ตัวกรอง PHP ตัวกรอง PHP ขั้นสูง ฟังก์ชันเรียกกลับของ PHP PHP JSON ข้อยกเว้น PHP

PHP OOP

PHP OOP คืออะไร คลาส PHP/วัตถุ ตัวสร้าง PHP PHP Destructor PHP Access Modifiers PHP Inheritance ค่าคงที่ PHP PHP Abstract Classes อินเทอร์เฟซ PHP PHP ลักษณะ PHP Static Methods PHP คุณสมบัติคงที่ PHP เนมสเปซ PHP Iterables

ฐานข้อมูลMySQL

ฐานข้อมูล MySQL MySQL Connect MySQL สร้าง DB MySQL สร้างตาราง MySQL แทรกข้อมูล MySQL รับ ID ล่าสุด MySQL แทรกหลายรายการ MySQL ที่เตรียมไว้ MySQL Select Data MySQL Where MySQL สั่งซื้อโดย MySQL ลบข้อมูล ข้อมูลอัพเดต MySQL MySQL Limit Data

PHP XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - รับ PHP XML Expat PHP XML DOM

PHP - AJAX

บทนำ AJAX AJAX PHP ฐานข้อมูล AJAX AJAX XML AJAX ค้นหาสด AJAX โพล

ตัวอย่างPHP

ตัวอย่าง PHP PHP คอมไพเลอร์ แบบทดสอบ PHP แบบฝึกหัด PHP ใบรับรอง PHP

ข้อมูลอ้างอิงPHP

ภาพรวม PHP PHP Array ปฏิทิน PHP PHP วันที่ ไดเรกทอรี PHP ข้อผิดพลาด PHP ข้อยกเว้น PHP ระบบไฟล์ PHP ตัวกรอง PHP PHP FTP PHP JSON คีย์เวิร์ด PHP PHP Libxml PHP Mail PHP คณิตศาสตร์ PHP เบ็ดเตล็ด PHP MySQLi เครือข่าย PHP การควบคุมเอาต์พุต PHP PHP RegEx PHP SimpleXML PHP Stream PHP String การจัดการตัวแปร PHP PHP XML Parser PHP Zip เขตเวลา PHP

PHP เนมสเปซ


PHP เนมสเปซ

เนมสเปซเป็นตัวระบุที่แก้ปัญหาสองประการที่แตกต่างกัน:

  1. ช่วยให้จัดระเบียบได้ดีขึ้นด้วยการจัดกลุ่มชั้นเรียนที่ทำงานร่วมกันเพื่อดำเนินงาน
  2. อนุญาตให้ใช้ชื่อเดียวกันได้มากกว่าหนึ่งคลาส

ตัวอย่างเช่น คุณอาจมีชุดของชั้นเรียนที่อธิบายตาราง HTML เช่น Table, Row และ Cell ในขณะที่ยังมีชุดของชั้นเรียนอื่นๆ เพื่ออธิบายเฟอร์นิเจอร์ เช่น Table, Chair และ Bed สามารถใช้เนมสเปซเพื่อจัดระเบียบคลาสออกเป็นสองกลุ่มที่แตกต่างกัน ในขณะที่ยังป้องกันไม่ให้ตารางและตารางทั้งสองคลาสรวมกัน


การประกาศเนมสเปซ

เนมสเปซถูกประกาศที่จุดเริ่มต้นของไฟล์โดยใช้namespaceคำสำคัญ:

ไวยากรณ์

ประกาศเนมสเปซชื่อ Html:

namespace Html;

หมายเหตุ:การnamespaceประกาศจะต้องเป็นสิ่งแรกในไฟล์ PHP รหัสต่อไปนี้จะไม่ถูกต้อง:

<?php
echo "Hello World!";
namespace Html;
...
?>

ค่าคงที่ คลาส และฟังก์ชันที่ประกาศในไฟล์นี้จะเป็นของ เนมสเปซ Html :

ตัวอย่าง

สร้างคลาสตารางในเนมสเปซ Html:

<?php
namespace Html;
class Table {
  public $title = "";
  public $numRows = 0;
  public function message() {
    echo "<p>Table '{$this->title}' has {$this->numRows} rows.</p>";
  }
}
$table = new Table();
$table->title = "My table";
$table->numRows = 5;
?>

<!DOCTYPE html>
<html>
<body>

<?php
$table->message();
?>

</body>
</html>

สำหรับการจัดระเบียบเพิ่มเติม เป็นไปได้ที่จะมีเนมสเปซที่ซ้อนกัน:

ไวยากรณ์

ประกาศเนมสเปซชื่อ Html ภายในเนมสเปซชื่อ Code:

namespace Code\Html;

การใช้เนมสเปซ

โค้ดใดๆ ที่ตามหลังการnamespaceประกาศกำลังทำงานอยู่ในเนมสเปซ ดังนั้นคลาสที่เป็นของเนมสเปซสามารถสร้างอินสแตนซ์ได้โดยไม่มีตัวระบุใดๆ ในการเข้าถึงคลาสจากภายนอกเนมสเปซ คลาสต้องมีเนมสเปซแนบอยู่

ตัวอย่าง

ใช้คลาสจากเนมสเปซ Html:

$table = new Html\Table()
$row = new Html\Row();

เมื่อใช้หลายคลาสจากเนมสเปซเดียวกันพร้อมกัน จะง่ายกว่าที่จะใช้namespaceคีย์เวิร์ด:

ตัวอย่าง

ใช้คลาสจากเนมสเปซ Html โดยไม่ต้องใช้ Html\qualifier:

namespace Html;
$table = new Table();
$row = new Row();

เนมสเปซนามแฝง

การตั้งชื่อแทนให้กับเนมสเปซหรือคลาสเพื่อให้เขียนง่ายขึ้นอาจเป็นประโยชน์ เสร็จสิ้นด้วยuseคำสำคัญ:

ตัวอย่าง

ตั้งชื่อนามแฝงให้กับเนมสเปซ:

use Html as H;
$table = new H\Table();

ตัวอย่าง

ให้นามแฝงแก่ชั้นเรียน:

use Html\Table as T;
$table = new T();