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

สคริปต์และการโหลดอัตโนมัติของ Composer

กำหนดสคริปต์ใน composer.json และเปิดใช้การโหลดคลาสอัตโนมัติ

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

สคริปต์ใน composer.json

คีย์ scripts ใช้กำหนดคำสั่งเชลล์ที่มีชื่อ ซึ่งเรียกใช้ผ่าน composer run-script NAME หรือใช้เพียง composer NAME ก็ได้

การกำหนดสคริปต์

สคริปต์เป็นอาร์เรย์ของคำสั่งเชลล์หรือฟังก์ชันเรียกกลับแบบเมธอดคงที่ของ PHP

// composer.json
{
  "scripts": {
    "test": "vendor/bin/phpunit",
    "lint": "vendor/bin/phpcs src/",
    "cs-fix": "vendor/bin/phpcbf src/"
  }
}

การเรียกใช้สคริปต์

เรียกใช้สคริปต์ด้วยรูปแบบย่อ โดยพิมพ์ composer ตามด้วยชื่อสคริปต์

$ composer test
$ composer run-script lint

สคริปต์ตามเหตุการณ์

Composer จะเรียกใช้เหตุการณ์ตามวงจรการทำงาน ซึ่งคุณสามารถเชื่อมต่อการทำงานได้ ได้แก่ post-install-cmd, post-update-cmd และ post-autoload-dump

// composer.json
{
  "scripts": {
    "post-install-cmd": ["php artisan migrate --force"]
  }
}

การเชื่อมโยงสคริปต์

อ้างอิงสคริปต์อื่นด้วย @script-name ภายในอาร์เรย์ของสคริปต์

// composer.json
{
  "scripts": {
    "build": ["@lint", "@test"]
  }
}

ประเภทของคีย์ Autoload

ส่วน autoload รองรับสามประเภท ได้แก่ psr-4, classmap และ files

// composer.json
{
  "autoload": {
    "psr-4":    { "App\\": "src/" },
    "classmap": ["database/"],
    "files":    ["src/helpers.php"]
  }
}

autoload-dev

autoload-dev จะเพิ่มกฎการโหลดอัตโนมัติเฉพาะสำหรับสภาพแวดล้อมภายในเครื่องหรือสภาพแวดล้อมสำหรับการทดสอบเท่านั้น เช่น คลาสพื้นฐานสำหรับการทดสอบที่ไม่ควรรวมไปกับแพ็กเกจ

การปรับปรุงตัวโหลดอัตโนมัติ

เรียกใช้ composer dump-autoload --optimize (หรือ -o) เพื่อสร้างแผนผังคลาสแบบคงที่ ทำให้ค้นหาคลาสได้เร็วขึ้น เหมาะอย่างยิ่งสำหรับระบบจริง

--classmap-authoritative

composer dump-autoload -a จะค้นหาเฉพาะในแผนผังคลาส และจะไม่ใช้การสำรองไปสแกนระบบไฟล์ตาม PSR-4 ใช้ตัวเลือกนี้เมื่อคลาสทั้งหมดถูกระบุไว้ในแผนผังแล้ว

แคช APCu

composer dump-autoload --apcu ใช้ APCu เพื่อเก็บการจับคู่คลาสกับไฟล์ไว้ในหน่วยความจำระหว่างคำขอ ช่วยเพิ่มความเร็วได้อย่างมากบนเซิร์ฟเวอร์ที่มีการใช้งานสูง

การตั้งค่าสคริปต์ CI ที่ใช้งานจริง

สคริปต์ทั่วไปของโครงการ ได้แก่ test, cs (มาตรฐานการเขียนโค้ด), analyse (PHPStan/Psalm) และ build (เชื่อมโยงทั้งสามสคริปต์)

สรุป

สคริปต์ของ Composer ช่วยทำงานซ้ำ ๆ ให้เป็นอัตโนมัติ ส่วน autoload จะเชื่อมเนมสเปซเข้ากับไฟล์ ใช้ dump-autoload -o ในระบบจริงเพื่อประสิทธิภาพสูงสุด

ตรวจสอบอย่างรวดเร็ว

เหตุการณ์ใดจะทำงานหลังจาก “composer install” เสร็จสิ้น

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

บทเรียน “สคริปต์และการโหลดอัตโนมัติของ Composer” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “สคริปต์และการโหลดอัตโนมัติของ Composer”

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

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

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

บทเรียน “สคริปต์และการโหลดอัตโนมัติของ Composer” ใช้เวลานานแค่ไหน

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

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

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

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

  1. การติดตั้งและเริ่มต้นใช้งาน Composer
  2. การเรียกใช้และอัปเดตแพ็กเกจ
  3. ทำความเข้าใจ composer.lock
  4. สคริปต์และการโหลดอัตโนมัติของ Composer
← กลับไปที่ PHP Academy