🐯
I'm a Guesser
  • 💋ยินดีต้อนรับท่านผู้อ่านที่หลงเข้ามาทุกท่าน
  • 💖Laravel ลูกรัก
    • 🌞Service Provider คืออะไร ?
      • 🙋‍♀️EventServiceProvider
    • วิธีการเก็บ Log Request และ Response ใน Laravel ผ่าน Middleware และ Events
      • เก็บ Log ทุกๆ requests ผ่าน Middleware - ตอนที่ 1
      • Log http ทุกๆ requests ผ่าน Middleware - ตอนที่ 2
    • Service Container
    • Livewire
  • 🐘php
    • PSR คือ มาตรฐานการเขียนโค้ดที่ควรทราบ
      • PSR-0 มาตรฐานการโหลด File อัตโนมัติ
      • PSR-1 มาตรฐานของโค้ต
      • PSR-4 มาตรฐานการโหลดไฟล์อัตโนมัติ
  • 🌧️Cloud
    • 🦉ส่ง Project Golang ขึ้น Lambda
  • Amazon Web Services (AWS)
    • 🐓AWS คืออะไร
    • 😅AWS Lambda
  • Other
    • Privacy Policy
Powered by GitBook
On this page
  1. php
  2. PSR คือ มาตรฐานการเขียนโค้ดที่ควรทราบ

PSR-4 มาตรฐานการโหลดไฟล์อัตโนมัติ

มาตรฐานการใหม่สำหรับการโหลดไฟล์อัตโนมัติ

เป็นมาตรฐานการโหลดอัตโนมัติสำหรับคลาส PHP

มันเกี่ยวข้องกับวิธีการบังคับให้คลาสและเนมสเปซควรตรงกับไดเรคทอรีและไฟล์ในระบบไฟล์

ช่วยให้นักพัฒนาสามารถมั่นใจได้ว่าสามารถโหลดคลาสได้อย่างง่ายดาย ถูกต้องและอัตโนมัติในระหว่างการเรียกใช้โปรแกรมผ่าน autoloader กับ PSR-4.

spl_autoload_register(function ($class) {
    // ฐานของ project (เช่น "src")
    $baseDir = __DIR__ . '/src/';

    // เนมสเปซของโปรเจ็ก (เช่น "MyProject")
    $prefix = 'MyProject\\';

    // ตรวจสอบว่าคลาสที่กำลังโหลดเริ่มต้นด้วย prefix หรือไม่
    $len = strlen($prefix);
    if (strncmp($prefix, $class, $len) !== 0) {
        return;
    }

    // หาชื่อคลาสโดยที่นำ prefix ออก
    $relativeClass = substr($class, $len);

    // แทนที่ namespace separator ด้วย directory separator และเติม .php
    $file = $baseDir . str_replace('\\', '/', $relativeClass) . '.php';

    // ถ้าไฟล์อยู่จริง, ก็โหลดขึ้นมา
    if (file_exists($file)) {
        require $file;
    }
});
PreviousPSR-1 มาตรฐานของโค้ตNextส่ง Project Golang ขึ้น Lambda

Last updated 7 months ago

🐘