สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
พัฒนาเว็บไซต์ · WDC-01-05

PHP OOP and MySQL

หลักสูตร PHP OOP and MySQL เป็นการอบรมเขียน PHP 8.5 แบบ Object Oriented ตั้งแต่ Class, Interface, Trait และ Enum ไปจนถึงเชื่อม MySQL ด้วย PDO หลัก SOLID, Dependency Injection, Design Pattern และการเขียน Test ด้วย PHPUnit เหมาะกับนักพัฒนาเว็บที่เขียน PHP มาระยะหนึ่งและผู้ที่จะต่อยอดสู่ Laravel

อัปเดตล่าสุด
ราคาเริ่มต้น 7,110 บาท / ท่าน 7,900 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

เว็บ PHP จำนวนมากเริ่มจากโค้ดแบบ Procedural ที่เขียนเร็วและเข้าใจง่าย แต่เมื่อระบบโตขึ้น ฟังก์ชันกระจายอยู่ทุกไฟล์ SQL ปนกับ HTML และการแก้จุดหนึ่งไปกระทบอีกหลายจุดจนไม่มีใครกล้าแตะ การคิดแบบ Object Oriented ช่วยแบ่งระบบเป็นชิ้นที่มีหน้าที่ชัดเจน นำกลับมาใช้ซ้ำ ทดสอบ และเปลี่ยนแปลงได้ง่าย และยังเป็นพื้นฐานที่ต้องมีก่อนใช้ Framework อย่าง Laravel หรือ Symfony ได้อย่างเข้าใจ

หลักสูตรนี้สอน OOP บน PHP 8.5 ตามแนวทางปัจจุบัน เริ่มจากเตรียมโปรเจกต์ด้วย Composer และ PSR-4 เรียน Class, Encapsulation, Property Hooks, Inheritance, Interface, Trait, Enum และ Exception จากนั้นนำไปเชื่อม MySQL ด้วย PDO ในรูปแบบ Repository ฝึกหลัก SOLID และ Dependency Injection และเขียน Unit Test ด้วย PHPUnit 13 ก่อนเรียน Design Pattern ที่ใช้บ่อยในงานจริง สร้าง MVC ขนาดเล็กด้วยตนเอง แล้วปิดท้ายด้วย Capstone ระบบจัดการคำสั่งซื้อที่ออกแบบแบบ OOP และมี Test ครบ (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • เข้าใจหลักการคิดแบบ Object Oriented และความต่างจากการเขียนแบบ Procedural
  • ออกแบบ Class ด้วย Encapsulation, Inheritance, Interface, Trait และ Enum บน PHP 8.5 ได้
  • ใช้ฟีเจอร์ OOP รุ่นใหม่ เช่น Constructor Promotion, readonly, Property Hooks และ Asymmetric Visibility
  • เชื่อมต่อ MySQL ด้วย PDO แบบ OOP และแยกส่วนติดต่อฐานข้อมูลด้วย Repository
  • นำหลัก SOLID และ Dependency Injection มาจัดโครงสร้างโค้ดให้แก้ไขง่าย
  • เขียน Unit Test ด้วย PHPUnit และตรวจโค้ดด้วย Static Analysis ได้
  • เลือกใช้ Design Pattern ที่เหมาะกับปัญหา และอธิบายเหตุผลของการเลือกได้
  • จัดโครงสร้างแอปแบบ MVC และพร้อมต่อยอดสู่ Laravel หรือ Symfony

หลักสูตรนี้เหมาะสำหรับ

  • นักพัฒนาเว็บที่เขียน PHP แบบ Procedural มาระยะหนึ่งและต้องการเปลี่ยนมาคิดแบบ OOP
  • นักพัฒนาที่ดูแลระบบ PHP รุ่นเก่าและต้องการ Refactor ให้ดูแลง่ายขึ้น
  • ผู้ที่กำลังจะเรียน Laravel หรือ Symfony และต้องการเข้าใจ OOP ที่อยู่เบื้องหลัง
  • นักเรียน นักศึกษา ที่ต้องการต่อยอดการเขียนโปรแกรมด้วย PHP ให้เป็นระบบ
  • Tech Lead ที่ต้องวางโครงสร้างโค้ดและมาตรฐานการเขียน PHP ของทีม

พื้นฐานของผู้เข้าอบรม

  • เขียน PHP ได้ ทั้งตัวแปร เงื่อนไข ลูป Array และฟังก์ชัน
  • เคยติดต่อฐานข้อมูล MySQL จาก PHP และเขียน SQL พื้นฐานได้
  • ใช้ Command Line และ Git ขั้นพื้นฐานได้
  • โน้ตบุ๊กที่ติดตั้ง Docker Desktop หรือ PHP 8.4 ขึ้นไป, Composer และ VS Code ได้ พร้อมสิทธิ์ติดตั้งโปรแกรม

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร PHP OOP and MySQL รุ่นเดิม อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab ระดับ Intermediate ฉบับนี้เปลี่ยนจาก PHP 5.4 เป็น PHP 8.5 และ MySQL 9.7 LTS ตัดไลบรารี PHP ActiveRecord ที่ไม่มีการพัฒนาต่อแล้ว และสอนแนวคิด Active Record เทียบกับ Data Mapper แทน เพิ่มหัวข้อ Property Hooks, Enum, SOLID, Dependency

Injection, Unit Test ด้วย PHPUnit 13 และ Static Analysis ด้วย PHPStan ทุก Lab ทำงานบนเครื่องของผู้เรียนด้วย Docker และเครื่องมือโอเพนซอร์ส หลักสูตรนี้เน้นการออกแบบโค้ดแบบ OOP ต่างจากหลักสูตร Advanced PHP and MySQL ที่เน้นฟีเจอร์ของเว็บแอป และเป็นพื้นฐานก่อนเรียน Laravel ผู้เรียนได้ Lab Guide โค้ดตั้งต้นและโค้ดเฉลยครบทุก Lab และโปรเจกต์ Capstone กลับไปใช้งานต่อ

Day 1 พื้นฐาน OOP บน PHP 8.5

Section 1: Lab: เตรียมโปรเจกต์ PHP 8.5 แบบมืออาชีพ

  • ทำไมต้อง OOP: ปัญหาของโค้ด Procedural เมื่อระบบโตขึ้น
  • รัน PHP 8.5 และ MySQL ด้วย Docker Compose
  • สร้างโปรเจกต์ด้วย Composer และ Autoload แบบ PSR-4
  • declare(strict_types=1) และมาตรฐานการเขียนตาม PER Coding Style
  • Lab: โปรเจกต์ตั้งต้นที่ใช้ต่อทุก Lab ในหลักสูตร

Section 2: Class, Object และ Encapsulation

  • Class, Object, Property แบบมี Type และ Method
  • Constructor Promotion, Destructor และ Visibility
  • readonly Property และ readonly Class
  • Property Hooks และ Asymmetric Visibility อย่าง private(set) ใน PHP 8.4 ขึ้นไป
  • Lab: Class สินค้าและราคาที่ป้องกันค่าผิดตั้งแต่ตอนสร้าง

Section 3: Lab: Inheritance, Abstract Class และ Interface

  • การสืบทอดด้วย extends, parent และการ Override
  • final Class และ final Method
  • Abstract Class เทียบกับ Interface และเกณฑ์การเลือกใช้
  • Polymorphism ผ่าน Interface
  • Lab: ระบบคำนวณค่าจัดส่งหลายรูปแบบ

Section 4: Trait, Static และ Enum

  • Trait สำหรับใช้โค้ดร่วมกัน และข้อควรระวัง
  • Static Property, Static Method และ Late Static Binding
  • Enum แบบ Pure และ Backed พร้อม Method และ Interface
  • match Expression และ First-class Callable
  • Lab: สถานะคำสั่งซื้อด้วย Enum

Section 5: Namespace, Exception และ Value Object

  • จัดโค้ดด้วย Namespace และ use
  • สร้างลำดับชั้นของ Exception เองและจัดการ Error อย่างเป็นระบบ
  • Value Object แบบ Immutable และการสร้างสำเนาด้วย clone with ใน PHP 8.5
  • Pipe Operator และ Attribute #[NoDiscard] ที่มาใหม่ใน PHP 8.5
  • Lab: Value Object สำหรับเงินและอีเมลพร้อม Exception
Day 2 OOP กับฐานข้อมูลและการออกแบบโค้ด

Section 6: Lab: เชื่อม MySQL ด้วย PDO แบบ OOP

  • Class สำหรับการเชื่อมต่อ PDO พร้อม utf8mb4 และ Error Mode แบบ Exception
  • Prepared Statement แบบ Named Parameter ป้องกัน SQL Injection
  • แปลงผลลัพธ์เป็น Object และการ Hydrate ข้อมูล
  • Transaction ด้วย beginTransaction, commit และ rollBack
  • Lab: บันทึกคำสั่งซื้อพร้อมรายการสินค้าใน Transaction เดียว

Section 7: Repository, Active Record และ Data Mapper

  • แยกส่วนติดต่อฐานข้อมูลออกจาก Business Logic
  • Repository Interface และ Implementation สำหรับ MySQL
  • Active Record เทียบกับ Data Mapper ผ่านแนวคิดของ Eloquent และ Doctrine ORM
  • เมื่อไรควรใช้ ORM และเมื่อไรควรเขียน SQL เอง
  • Lab: Repository สินค้าและคำสั่งซื้อ

Section 8: หลัก SOLID ในโค้ด PHP

  • Single Responsibility และ Open/Closed
  • Liskov Substitution และ Interface Segregation
  • Dependency Inversion และการพึ่งพา Interface แทน Class
  • Code Smell ที่พบบ่อยและวิธี Refactor ทีละขั้น
  • Lab: Refactor โค้ด Procedural ให้เป็น OOP ตามหลัก SOLID

Section 9: Dependency Injection และ Container

  • Constructor Injection เทียบกับการสร้าง Object เองใน Class
  • Container ตามมาตรฐาน PSR-11 และ Autowiring
  • ผูก Interface กับ Implementation และสลับได้ตามสภาพแวดล้อม
  • Lab: ต่อ Service, Repository และ Logger ผ่าน Container

Section 10: Lab: Unit Test ด้วย PHPUnit 13

  • ติดตั้ง PHPUnit ด้วย Composer และโครงสร้าง Test
  • เขียน Test ด้วย Attribute อย่าง #[Test] และ #[DataProvider]
  • Test Double ด้วย createStub และ createMock
  • ทดสอบ Repository กับฐานข้อมูลทดสอบ
  • ตรวจโค้ดด้วย PHPStan และจัดรูปแบบด้วย PHP CS Fixer
Day 3 Design Pattern และ Capstone

Section 11: Creational Patterns

  • Design Pattern คืออะไร และใช้อย่างไรไม่ให้ซับซ้อนเกินจำเป็น
  • Singleton และเหตุผลที่งานปัจจุบันมักใช้ Dependency Injection แทน
  • Factory Method และ Simple Factory
  • Builder สำหรับ Object ที่มีค่าตั้งหลายแบบ
  • Lab: สร้างช่องทางแจ้งเตือนหลายแบบด้วย Factory

Section 12: Lab: Structural Patterns

  • Adapter สำหรับเชื่อมไลบรารีหรือบริการภายนอก
  • Decorator สำหรับเพิ่มความสามารถโดยไม่แก้ Class เดิม
  • Composite สำหรับข้อมูลแบบลำดับชั้น เช่น หมวดหมู่สินค้า
  • Facade สำหรับซ่อนความซับซ้อนของระบบย่อย
  • Lab: Adapter รองรับช่องทางชำระเงินหลายเจ้า

Section 13: Behavioral Patterns

  • Strategy สำหรับสลับวิธีคำนวณ เช่น ส่วนลดหลายแบบ
  • Observer และ Event Dispatcher ตามแนวคิด PSR-14
  • Command สำหรับแยกคำสั่งออกจากผู้เรียกใช้
  • Template Method และ State โดยสรุป
  • Lab: ระบบส่วนลดด้วย Strategy และแจ้งเตือนเมื่อสั่งซื้อด้วย Observer

Section 14: MVC และ Front Controller

  • โครงสร้าง MVC และหน้าที่ของ Model, View และ Controller
  • Front Controller และ Router อย่างง่าย
  • Request, Response และ Middleware ตามแนวคิด PSR-7 และ PSR-15
  • View ที่ Escape ข้อมูลทุกจุดเพื่อป้องกัน XSS
  • เทียบโครงสร้างที่สร้างเองกับ Laravel และ Symfony

Section 15: Workshop: Capstone ระบบจัดการคำสั่งซื้อแบบ OOP

  • ออกแบบ Class Diagram และแบ่ง Layer ของระบบ
  • พัฒนาด้วย Repository, Service, Pattern ที่เหมาะสม และ Dependency Injection
  • เขียน Test ให้ Business Logic สำคัญ และให้ AI Assistant ช่วยรีวิวโค้ดพร้อมตรวจทานเอง
  • นำเสนอผลงาน รีวิวการออกแบบร่วมกัน และแนวทางต่อยอดสู่ Laravel

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

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

วิทยากรผู้สอน

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

Abstract Class กับ Interface ใน PHP ต่างกันอย่างไร

Abstract Class เป็นคลาสต้นแบบที่สร้างออบเจกต์โดยตรงไม่ได้ มีได้ทั้งเมธอดที่เขียนเสร็จแล้ว เมธอดแบบ abstract และ property และคลาสลูกสืบทอดได้เพียงคลาสเดียวด้วย extends ส่วน Interface กำหนดสัญญาว่าคลาสต้องมีเมธอดใดบ้าง และคลาสหนึ่ง implements ได้หลาย Interface ในงานปัจจุบันนิยมให้โค้ดพึ่งพา Interface เพื่อสลับ Implementation และทำ Test ได้ง่าย และใช้ Abstract Class เมื่อต้องการแชร์โค้ดร่วมกันจริง ๆ

PDO ใน PHP คืออะไร ต่างจาก mysqli อย่างไร

PDO (PHP Data Objects) เป็นชุดคำสั่งกลางของ PHP สำหรับเชื่อมต่อฐานข้อมูล ใช้รูปแบบเดียวกันได้กับหลายระบบ เช่น MySQL, PostgreSQL และ SQLite ขณะที่ mysqli ใช้ได้กับ MySQL เท่านั้น ทั้งสองแบบรองรับ Prepared Statement เพื่อกัน SQL Injection แต่ PDO รองรับ Named Parameter และแปลงผลลัพธ์เป็นออบเจกต์ได้สะดวก จึงเหมาะกับการเขียนแบบ OOP และรูปแบบ Repository ที่ใช้ในหลักสูตรนี้

Singleton Pattern คืออะไร ยังควรใช้อยู่ไหม

Singleton เป็น Design Pattern ที่บังคับให้คลาสมีออบเจกต์ได้เพียงตัวเดียวทั้งระบบ โดยกำหนด constructor เป็น private เก็บออบเจกต์ไว้ใน static property และสร้างเมธอด static เช่น getInstance() ที่คืนตัวเดิมทุกครั้ง แม้จะเข้าใจง่าย แต่ทำให้โค้ดผูกติดกันและทำ Test ยาก งานปัจจุบันจึงมักใช้ Dependency Injection Container ดูแลให้มีออบเจกต์เดียวแทน หลักสูตรนี้สอนทั้งสองแบบและเปรียบเทียบให้เห็นผลต่อการทดสอบ

หลักสูตร PHP OOP and MySQL เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับนักพัฒนาเว็บที่เขียน PHP แบบ Procedural มาระยะหนึ่ง ผู้ที่ดูแลระบบ PHP รุ่นเก่า ผู้ที่กำลังจะเรียน Laravel หรือ Symfony และนักเรียนนักศึกษาที่อยากต่อยอด ควรเขียน PHP ได้ทั้งตัวแปร เงื่อนไข ลูป Array และฟังก์ชัน เคยติดต่อ MySQL จาก PHP และใช้ Command Line กับ Git ขั้นพื้นฐานได้ เพราะหลักสูตรนี้เน้นเปลี่ยนวิธีคิดไปเป็นแบบ Object Oriented

เรียนจบหลักสูตร PHP OOP and MySQL แล้วทำอะไรได้บ้าง

ออกแบบ Class ด้วยหลัก OOP บน PHP 8.5 ทั้ง Interface, Trait, Enum และ Property Hooks ติดต่อ MySQL ด้วย PDO ผ่าน Repository จัดโครงสร้างโค้ดตามหลัก SOLID และ Dependency Injection เขียน Unit Test ด้วย PHPUnit เลือกใช้ Design Pattern ที่เหมาะกับปัญหา และสร้างแอปแบบ MVC ขนาดเล็กได้เอง พร้อมต่อยอดสู่ Laravel ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

จัดอบรมหลักสูตร PHP OOP and MySQL ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ฝึก Refactor โค้ด PHP เดิมของระบบให้เป็นแบบ OOP พร้อมเขียน Test รองรับ ขอข้อเสนอการจัดอบรมได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449

บทความที่เกี่ยวข้อง