0Pricing
PHP Academy · บทเรียน

การประกาศและใช้งานเนมสเปซ

ครอบคลาสไว้ในเนมสเปซและนำเข้าโดยใช้คำสั่ง use

การประกาศและใช้งานเนมสเปซ เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

เนมสเปซคืออะไร

เนมสเปซใช้จัดกลุ่มคลาส ฟังก์ชัน และค่าคงที่ที่เกี่ยวข้องกัน เพื่อหลีกเลี่ยงชื่อชนกันระหว่างไลบรารี

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

ใช้คีย์เวิร์ด namespace เป็นคำสั่งแรกในไฟล์ PHP (หลัง <?php)

<?php
namespace App\Services;

class Logger {
    public function log(string $msg): void {
        echo $msg;
    }
}

ส่วนประกอบของเนมสเปซ

ส่วนประกอบจะแยกจากกันด้วยแบ็กสแลช (\) โดยทั่วไปแต่ละส่วนจะสอดคล้องกับไดเรกทอรีหนึ่งรายการในการโหลดอัตโนมัติแบบ PSR-4

การนำเข้าด้วย use

คีย์เวิร์ด use ใช้นำเข้าชื่อคลาสแบบเต็ม เพื่อให้คุณอ้างอิงคลาสนั้นด้วยชื่อย่อ

<?php
namespace App\Controllers;

use App\Services\Logger;

class HomeController {
    public function index(): void {
        $logger = new Logger();
        $logger->log("visited");
    }
}

ชื่อแบบเต็ม

อ้างอิงคลาสโดยไม่ใช้ use ได้ด้วยการเติมแบ็กสแลชไว้ข้างหน้า

<?php
$logger = new \App\Services\Logger();
$logger->log("Hello");

เนมสเปซส่วนกลาง

โค้ดที่ไม่มีเนมสเปซจะอยู่ในเนมสเปซส่วนกลาง คลาสที่มีมาให้ในระบบ เช่น \DateTime ก็อยู่ที่นั่นเช่นกัน ภายในเนมสเปซ ให้เติม \ ไว้ข้างหน้า

การนำเข้าฟังก์ชันและค่าคงที่

ใช้ use function และ use const เพื่อนำเข้าสัญลักษณ์ที่ไม่ใช่คลาส

<?php
namespace App;

use function App\Utils\formatDate;
use const App\Utils\DATE_FORMAT;

echo formatDate(time(), DATE_FORMAT);

คำสั่ง use แบบจัดกลุ่ม

นำเข้าสัญลักษณ์หลายรายการในบล็อก use แบบจัดกลุ่มเดียวกันได้ (PHP 7 ขึ้นไป)

<?php
use App\Models\{User, Post, Comment};

หนึ่งเนมสเปซต่อหนึ่งไฟล์

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

รูปแบบที่ใช้กันทั่วไป

Laravel และ Symfony ใช้ App\ เป็นเนมสเปซราก ซึ่งแมปกับ src/ หรือ app/ ใน composer.json

การจัดระเบียบเนมสเปซย่อย

จัดกลุ่มตามฟีเจอร์หรือชั้นของระบบ: App\Http\Controllers, App\Domain\Orders, App\Infrastructure\Database

ทบทวนเนมสเปซ

ประเด็นสำคัญ: namespace ต้องเป็นคำสั่งแรก, use ใช้นำเข้าสัญลักษณ์, แบ็กสแลชใช้แยกส่วนประกอบ และเติม \ ข้างหน้าคลาสส่วนกลางเมื่ออยู่ภายในเนมสเปซ

ตรวจสอบความเข้าใจอย่างรวดเร็ว

คีย์เวิร์ดใดใช้สำหรับนำเข้าคลาสจากเนมสเปซอื่น

คำถามที่พบบ่อย

บทเรียน “การประกาศและใช้งานเนมสเปซ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การประกาศและใช้งานเนมสเปซ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การประกาศและใช้งานเนมสเปซ”

ครอบคลาสไว้ในเนมสเปซและนำเข้าโดยใช้คำสั่ง use คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “การประกาศและใช้งานเนมสเปซ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม

ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การประกาศและใช้งานเนมสเปซ
  2. เนมสเปซซ้อนกันและชื่อแฝง
  3. มาตรฐานการโหลดอัตโนมัติ PSR-4
  4. การลงทะเบียนตัวโหลดอัตโนมัติ
← กลับไปที่ PHP Academy