ข้ามไปยังเนื้อหาหลัก

PHP Tooling: Composer และการจัดการข้อผิดพลาด

เรียนรู้การใช้ Composer ในการจัดการ Dependencies และ Autoloading (PSR-4) เพื่อให้โปรเจกต์ PHP ของคุณเป็นระบบระเบียบ นอกจากนี้ยังครอบคลุม Error Handling ด้วย try-catch, การสร้าง Custom Exception และการจัดการค่าคอนฟิกด้วย Environment Variables

เริ่มต้น 50 บทความย่อย

สารบัญบทเรียน (Roadmap)

ทำตามขั้นตอนจากบนลงล่าง
2

การติดตั้ง Composer บนระบบปฏิบัติการต่างๆ

บทความนี้อธิบายขั้นตอนการติดตั้ง Composer บนระบบปฏิบัติการ Windows, macOS และ Linux โดยเน้นวิธีการดาวน์โหลดไฟล์ติดตั้ง, การตั้งค่า PATH (ถ้าจำเป็น) และการตรวจสอ...

5

การติดตั้ง Dependencies ด้วยคำสั่ง composer install

บทความนี้อธิบายการใช้งานคำสั่ง `composer install` ซึ่งเป็นคำสั่งสำคัญในการติดตั้ง Dependencies ที่ระบุไว้ในไฟล์ `composer.json` ลงในโปรเจกต์ โดยจะดาวน์โหลดและบั...

7

Autoloading คืออะไร และทำงานอย่างไร?

Autoloading คือกลไกใน PHP ที่ช่วยให้สามารถโหลดไฟล์คลาสที่จำเป็นได้โดยอัตโนมัติเมื่อมีการเรียกใช้งาน ทำให้ไม่ต้องเขียน `include` หรือ `require` เอง ช่วยลดความซับ...

10

Error Handling เบื้องต้น: Try-Catch

บทความนี้แนะนำการจัดการข้อผิดพลาด (Error Handling) ใน PHP ด้วยโครงสร้าง `try-catch` ซึ่งช่วยให้โปรแกรมสามารถดักจับและจัดการกับข้อผิดพลาดที่อาจเกิดขึ้นระหว่างการ...

11

การโยน Exception ด้วย throw

บทความนี้อธิบายถึงการใช้ `throw` keyword ใน PHP เพื่อสร้างและโยน Exception เมื่อเกิดข้อผิดพลาดที่คาดการณ์ไว้ โดย Exception ที่โยนออกมาจะเป็น object ที่สืบทอดมาจ...

12

การสร้าง Custom Exception

บทความนี้กล่าวถึงการสร้าง Custom Exception ใน PHP โดยการสืบทอดคุณสมบัติจากคลาส `Exception` เพื่อให้สามารถระบุประเภทของข้อผิดพลาดได้ชัดเจนขึ้น และจัดการกับข้อผิด...

14

Logging คืออะไร และทำไมต้อง Logging?

บทความนี้อธิบายถึงความสำคัญของการ Logging ในการพัฒนาซอฟต์แวร์ โดย Logging คือการบันทึกเหตุการณ์ต่างๆ ที่เกิดขึ้นในระบบ เพื่อช่วยในการติดตามปัญหา วิเคราะห์ระบบ แ...

15

Monolog คืออะไร และทำไมถึงนิยมใช้?

บทความนี้แนะนำ Monolog ซึ่งเป็น Logging Library ยอดนิยมสำหรับ PHP ที่ช่วยให้การบันทึกเหตุการณ์ในระบบเป็นเรื่องง่ายและมีประสิทธิภาพ ด้วยความยืดหยุ่นในการปรับแต่ง...

17

การใช้งาน Monolog เบื้องต้น: การสร้าง Logger

บทความนี้อธิบายถึงวิธีการสร้าง Logger object ด้วย Monolog ซึ่งเป็นจุดเริ่มต้นของการบันทึกข้อมูลในระบบ โดยการกำหนด Channel name ให้กับ Logger เพื่อแยกแยะ Log ที่...

18

การกำหนด Handler ใน Monolog

บทความนี้อธิบายถึงการกำหนด Handler ใน Monolog ซึ่งเป็นส่วนประกอบสำคัญในการจัดการ Log โดย Handler จะกำหนดปลายทางที่ Log ถูกส่งไป เช่น ไฟล์, ฐานข้อมูล หรือบริการอ...

20

การบันทึก Log ด้วย Monolog

บทความนี้อธิบายวิธีการใช้งาน Monolog เพื่อบันทึก Log Message ในระดับต่างๆ (Debug, Info, Warning, Error, Critical) พร้อมตัวอย่างการใช้งานจริงและการส่ง Context Da...

21

Environment Variables คืออะไร?

Environment Variables คือตัวแปรที่ใช้เก็บค่าคอนฟิกและการตั้งค่าระบบต่างๆ ของแอปพลิเคชัน เช่น URL ฐานข้อมูล, API Keys, หรือโหมดการทำงาน ซึ่งช่วยให้ปรับเปลี่ยนการ...

22

ทำไมต้องใช้ Environment Variables?

บทความนี้อธิบายถึงความสำคัญของการใช้ Environment Variables ในการพัฒนาแอปพลิเคชัน PHP โดยเน้น 3 ประเด็นหลัก: ความปลอดภัย (ป้องกันข้อมูลลับ), ความยืดหยุ่น (ปรับเป...

24

การติดตั้ง Dotenv ผ่าน Composer

บทความนี้อธิบายวิธีการติดตั้ง Package Dotenv ในโปรเจกต์ PHP โดยใช้ Composer ซึ่งเป็นเครื่องมือจัดการ Dependency ที่สำคัญ และแสดงผลลัพธ์ที่คาดหวังหลังการติดตั้ง...

25

การสร้างไฟล์ .env

บทความนี้อธิบายถึงวิธีการสร้างและใช้งานไฟล์ `.env` ซึ่งเป็นไฟล์ที่ใช้เก็บค่าคอนฟิกต่างๆ ของโปรเจกต์ PHP เช่น ข้อมูลการเชื่อมต่อฐานข้อมูล โดยเน้นที่รูปแบบการเขีย...

26

การโหลดไฟล์ .env ด้วย Dotenv

บทความนี้อธิบายวิธีการโหลดไฟล์ `.env` ในโปรเจกต์ PHP ด้วย Package Dotenv โดยเน้นการใช้งาน `Dotenv::createImmutable()` เพื่อความปลอดภัยและความมั่นคงของค่าคอนฟิก...

27

การเข้าถึงค่า Environment Variables

บทความนี้กล่าวถึงวิธีการเข้าถึงค่า Environment Variables ใน PHP ที่โหลดมาจากไฟล์ `.env` โดยเน้นการใช้ `$_ENV` และ `getenv()` พร้อมทั้งข้อดีข้อเสียของแต่ละวิธี แ...

28

การจัดการ Exception ที่ไม่ได้ถูก Catch

บทความนี้กล่าวถึงความสำคัญของการจัดการ Exception ที่ไม่ได้ถูก `catch` ใน PHP เพื่อป้องกันการหยุดทำงานของโปรแกรมอย่างกะทันหันและให้ข้อมูลที่เป็นประโยชน์เมื่อเกิด...

30

Composer Scripts: การรันคำสั่งอัตโนมัติ

บทความนี้แนะนำ **Composer Scripts** ซึ่งเป็นฟีเจอร์ที่ช่วยให้เราสามารถรันคำสั่งอัตโนมัติเมื่อเกิดเหตุการณ์ต่างๆ ใน Composer เช่น การติดตั้งหรืออัปเดต Dependenci...

31

การใช้งาน Debugging Tools กับ PHP

บทความนี้แนะนำการใช้ Debugging Tools โดยเน้นที่ Xdebug ซึ่งเป็นเครื่องมือยอดนิยมสำหรับ Debug โค้ด PHP อย่างละเอียดและมีประสิทธิภาพ โดยอธิบายถึงประโยชน์ของการใช้...

32

การทำ Unit Testing ด้วย PHPUnit

บทความนี้แนะนำการทำ Unit Testing ใน PHP โดยใช้ PHPUnit ซึ่งเป็น Framework ที่นิยมใช้กันอย่างแพร่หลาย เนื้อหาครอบคลุมตั้งแต่การติดตั้ง PHPUnit, การสร้าง Test Cas...

33

การทำ Code Coverage ด้วย PHPUnit

บทความนี้อธิบายถึงการทำ Code Coverage ด้วย PHPUnit เพื่อวัดว่า Unit Tests ครอบคลุมโค้ดส่วนใดบ้างในโปรเจกต์ โดยการสร้าง Code Coverage Report จะช่วยให้เราเห็นส่วน...

34

การใช้งาน Static Analysis Tools

บทความนี้แนะนำ Static Analysis Tools ซึ่งเป็นการวิเคราะห์โค้ดโดยไม่ต้องรันโปรแกรมจริง เพื่อตรวจจับข้อผิดพลาด, ปรับปรุงคุณภาพโค้ด, และค้นหาช่องโหว่ด้านความปลอดภั...

35

การ Config Logging สำหรับ Production

บทความนี้กล่าวถึงความสำคัญของการ Config Logging สำหรับ Production ซึ่งแตกต่างจากการ Logging ในช่วง Development โดยเน้นที่การกำหนด Log Levels ที่เหมาะสม, การใช้...

36

การใช้ Monolog กับ Docker

บทความนี้กล่าวถึงการใช้งาน Monolog ภายใน Docker Container เพื่อจัดการ Log อย่างมีประสิทธิภาพ โดยเน้นที่การเลือก Docker Logging Driver ที่เหมาะสม, การส่ง Log ไปย...

37

การจัดการ Secret Keys ด้วย Environment Variables

บทความนี้กล่าวถึงความสำคัญของการจัดการ Secret Keys อย่างปลอดภัยในแอปพลิเคชัน PHP โดยเน้นการใช้ Environment Variables เป็นจุดเริ่มต้นที่ดี แต่ต้องระมัดระวังในการ...

38

การทำ Dependency Injection Container

บทความนี้แนะนำ Dependency Injection Container (DIC) ซึ่งเป็นเครื่องมือที่ช่วยจัดการ dependencies ของคลาสในโปรเจกต์ PHP อย่างมีประสิทธิภาพ เพื่อแก้ปัญหาความยุ่งย...

39

การใช้งาน Event Dispatcher

บทความนี้แนะนำ Event Dispatcher ซึ่งเป็น pattern การออกแบบที่ช่วยให้ส่วนต่างๆ ของระบบสื่อสารกันได้โดยไม่ต้องรู้จักกันโดยตรง ทำให้ระบบมีความยืดหยุ่น, decoupled,...

40

การใช้ Cache เพื่อเพิ่มประสิทธิภาพ

ในบทที่แล้ว เราได้เรียนรู้เกี่ยวกับการใช้งาน Event Dispatcher ในบทนี้ เราได้สำรวจการใช้ Cache ซึ่งเป็นการเก็บข้อมูลที่ใช้บ่อยไว้ในที่ที่เข้าถึงได้รวดเร็ว เพื่อล...

43

การสร้าง Package Composer ของตัวเอง

บทความนี้อธิบายขั้นตอนการสร้าง Package Composer ของตัวเอง เพื่อให้สามารถแบ่งปันหรือนำโค้ดกลับมาใช้ใหม่ได้ง่ายขึ้น โดยเน้นที่โครงสร้าง Package, การสร้างไฟล์ `com...

44

การใช้ Composer Plugin

บทความนี้กล่าวถึงการใช้ Composer Plugin เพื่อเพิ่มขีดความสามารถของ Composer โดย Plugin สามารถติดตั้งได้ง่ายด้วย `composer require` และช่วยให้เราสร้าง Custom Com...

47

การทำ Security Audits สำหรับ PHP

บทความนี้กล่าวถึงความสำคัญของการทำ Security Audits สำหรับโปรเจกต์ PHP เพื่อค้นหาและแก้ไขช่องโหว่ต่างๆ โดยแนะนำการใช้ Security Scanners เช่น PHPStan และ OWASP ZA...

48

การทำ Performance Profiling กับ PHP

หลังจากที่เราได้ตรวจสอบความปลอดภัยของโปรเจกต์ PHP แล้ว ในบทถัดไปเราจะมาเรียนรู้เกี่ยวกับการทำ Performance Profiling ซึ่งเป็นกระบวนการวิเคราะห์ประสิทธิภาพของโค้ด...

50

การ Monitoring Application PHP ใน Production

บทความนี้เน้นย้ำถึงความสำคัญของการ Monitoring application PHP ใน production เพื่อตรวจจับปัญหา ลดผลกระทบต่อผู้ใช้งาน ปรับปรุงประสิทธิภาพ และวางแผน capacity โดยแน...