Laravel Advanced
หลักสูตร Laravel Advanced เป็นการอบรมขั้นสูงบน Laravel 13 ครอบคลุม Service Container, Queue กับ Redis และ Horizon, Event, หลัก SOLID, Design Pattern, การทดสอบด้วย Pest และ TDD, การพัฒนา Package และ CI/CD ด้วย GitHub Actions เหมาะกับนักพัฒนาที่ใช้ Laravel ในงานจริงและทีมที่ดูแลระบบ Laravel ขนาดใหญ่
- ระยะเวลา30 ชั่วโมง · 5 วัน
- รูปแบบออนไซต์ / ออนไลน์สด
- รอบถัดไปเปิดตามคำขอ
- ใบรับรองมี Certificate
ภาพรวมหลักสูตร
เมื่อสร้างเว็บด้วย Laravel ได้แล้ว โจทย์ถัดไปคือทำให้ระบบรองรับงานจริงที่ใหญ่ขึ้น งานที่ใช้เวลานานต้องย้ายไปทำเบื้องหลังด้วย Queue โค้ดใน Controller ที่ยาวขึ้นเรื่อย ๆ ต้องแยกเป็นส่วนที่ทดสอบได้ และทีมต้องมี Test กับ Pipeline ที่ช่วยให้แก้ไขระบบได้โดยไม่กลัวพัง ความเข้าใจเรื่อง Service Container หลัก SOLID และ Design Pattern จึงเป็นสิ่งที่แยกนักพัฒนาที่ใช้ Laravel เป็น ออกจากผู้ที่ดูแลระบบ Laravel ขนาดใหญ่ได้อย่างมั่นใจ
หลักสูตรนี้ต่อยอดจาก Laravel พื้นฐานบน Laravel 13 และ PHP 8.5 เริ่มจากเบื้องหลังการทำงานของ Service Container, Routing และ Eloquent ขั้นสูง ระบบ Queue ด้วย Redis และ Horizon, Event, Notification และ Scheduler จากนั้นจัดโครงสร้างโค้ดด้วยหลัก SOLID, Repository และ Design Pattern ฝึกเขียน Test ด้วย Pest และ TDD ตั้งแต่ Unit Test ถึง Browser Test พัฒนา Package ของตัวเอง ทำ CI/CD ด้วย GitHub Actions แล้วปิดท้ายด้วย Capstone ที่รวมทุกเรื่องเข้าด้วยกัน (อบรม 5 วัน วันละ 6 ชั่วโมง รวม 30 ชั่วโมง ระดับ Advanced)
สิ่งที่คุณจะได้รับ
- เข้าใจการทำงานของ Service Container, Service Provider และ Facade และนำมาใช้ออกแบบโค้ดได้
- ใช้ Routing, Form Request และ Eloquent ขั้นสูง เช่น Polymorphic Relationship และ Custom Cast ได้
- ออกแบบงานเบื้องหลังด้วย Queue, Redis, Horizon และดูแล Worker บนเซิร์ฟเวอร์ด้วย Supervisor ได้
- ใช้ Event, Listener, Notification, Artisan Command และ Task Scheduling ได้เหมาะกับงาน
- จัดโครงสร้างโค้ดตามหลัก SOLID ด้วย Repository, Service, Action Class และ Design Pattern ได้
- เขียน Test ด้วย Pest ทั้ง Unit, Feature, Browser และ Architecture Test และทำงานแบบ TDD ได้
- แยกโค้ดเป็น Package ทดสอบ และนำไปใช้ซ้ำในหลายโปรเจกต์ได้
- ตั้ง CI/CD ด้วย GitHub Actions ให้ตรวจโค้ดและรัน Test ทุกครั้งที่ส่งงานได้
หลักสูตรนี้เหมาะสำหรับ
- นักพัฒนาเว็บที่ใช้ Laravel ในงานจริงและต้องการยกระดับไปอีกขั้น
- โปรแกรมเมอร์ที่ต้องดูแลระบบ Laravel ขนาดใหญ่และต้องการโครงสร้างที่ดูแลง่าย
- ฝ่ายไอทีและทีมพัฒนาระบบขององค์กรที่ต้องการวางมาตรฐานโค้ดและการทดสอบ
- Tech Lead ที่ต้องรีวิวโค้ดและวาง Pipeline ให้ทีม Laravel
- ผู้ที่ผ่านหลักสูตร Basic Laravel for Beginners มาแล้ว
พื้นฐานของผู้เข้าอบรม
- ผ่านหลักสูตร Laravel พื้นฐาน หรือสร้างเว็บด้วย Laravel ได้ทั้ง Route, Controller, Blade และ Eloquent
- เข้าใจหลัก OOP ใน PHP เช่น Class, Interface และ Namespace
- ใช้ Git, Composer และ Command Line ได้คล่อง
- โน้ตบุ๊กที่ติดตั้ง PHP 8.3 ขึ้นไป, Composer, Node.js, Redis และ VS Code ได้ หรือใช้ Laravel Herd หรือ Sail พร้อมสิทธิ์ติดตั้งโปรแกรม
หัวข้อการฝึกอบรม
รายละเอียดหลักสูตร
หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร Laravel Advanced อบรม 5 วัน วันละ 6 ชั่วโมง รวม 30 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab และ Workshop ระดับ Advanced ฉบับนี้เปลี่ยนจาก Laravel 5 เป็น Laravel 13 บน PHP 8.5 ใช้ PHP Attributes สำหรับ Job และ Controller, Queue::route และ Pest เพิ่ม Browser Test ด้วย Pest Browser Plugin ควบคู่กับ Laravel Dusk, Architecture Test, Larastan และ CI ด้วย GitHub
Actions ยังคงหัวข้อหลักเดิม ได้แก่ Queue กับ Horizon, Event, Package Development, Repository, Design Pattern, หลัก SOLID และ TDD ตัดหัวข้อสร้างแอปด้วย Vue.js ออกเพราะมีในหลักสูตร Laravel with Vue.js Workshop แล้ว หลักสูตรนี้ต่อยอดจาก Basic Laravel for Beginners ผู้เรียนใช้บัญชี GitHub ของตนเองสำหรับ Socialite และ GitHub Actions และได้ Lab Guide ซอร์สโค้ดพร้อม Test ครบทุก Lab และโปรเจกต์ Capstone กลับไปใช้งานต่อ
Day 1 เบื้องหลัง Laravel 13 และ Eloquent ขั้นสูง
Section 1: Lab: เตรียมโปรเจกต์ Laravel 13 ระดับทีม
- ของใหม่ใน Laravel 13 และการ Upgrade จากรุ่นก่อน
- สภาพแวดล้อมด้วย Laravel Herd หรือ Sail (Docker)
- จัดรูปแบบโค้ดด้วย Pint และตรวจด้วย Larastan
- ปรับแต่ง Stub และสร้างคำสั่ง make ของตัวเอง
- Lab: โปรเจกต์ตั้งต้นที่ใช้ต่อทั้งหลักสูตร
Section 2: Service Container, Provider และ Facade
- Dependency Injection และ Autowiring ใน Laravel
- Binding, Singleton และ Contextual Binding
- เมื่อไรควรใช้ app()->make() และเมื่อไรไม่ควร
- Service Provider และการสร้าง Facade ของตัวเอง
- Lab: สลับผู้ให้บริการส่ง SMS ด้วย Interface
Section 3: Routing และ Controller ขั้นสูง
- Route Model Binding แบบกำหนด Key และ Scoped Binding
- Controller Attributes อย่าง #[Middleware] และ #[Authorize]
- Single Action Controller และการจัดระเบียบ Controller
- Form Request สำหรับ Validation และ Authorization ขั้นสูง
- Lab: Refactor Controller ที่ยาวเกินให้กระชับ
Section 4: Lab: Eloquent ขั้นสูง
- Polymorphic Relationship สำหรับความคิดเห็นและรายการโปรด
- Value Object ร่วมกับ Eloquent ด้วย Custom Cast
- Query Scope และ Eager Loading ป้องกันปัญหา N+1
- Model Factory สำหรับข้อมูลทดสอบที่สมจริง
- Lab: ระบบรายการโปรด (Favorites)
Day 2 Queue, Event และงานเบื้องหลัง
Section 5: Lab: Queue ด้วย Redis
- Job, Dispatch และการเลือก Connection
- กำหนดการทำงานด้วย #[Tries], #[Backoff] และ #[Timeout]
- จัดเส้นทาง Job ไปยังคิวด้วย Queue::route
- Job Chaining, Batching และ Unique Job
- Lab: ส่งการแจ้งเตือนจำนวนมากผ่าน Queue
Section 6: Laravel Horizon และ Supervisor
- ติดตั้ง Horizon และอ่าน Dashboard
- กำหนดจำนวน Worker และการกระจายงานใน config/horizon.php
- จัดการ Failed Job การ Retry และการแจ้งเตือนเมื่อคิวค้าง
- ดูแลโปรเซสของ Horizon บนเซิร์ฟเวอร์ด้วย Supervisor
- Lab: ปรับคิวให้รองรับงานเร่งด่วนและงานหนัก
Section 7: Event, Listener และ Notification
- Event และ Listener แบบทำงานทันทีและแบบเข้าคิว
- Domain Event สำหรับแยกผลข้างเคียงออกจาก Business Logic
- Observer เทียบกับ Event และข้อควรระวัง
- Notification หลายช่องทาง ทั้งอีเมลและฐานข้อมูล
- Lab: แจ้งเตือนเมื่อชำระเงินสำเร็จ
Section 8: Lab: Artisan Command และ Task Scheduling
- สร้าง Artisan Command พร้อม Argument และ Option
- ตั้งเวลางานด้วย Scheduler และป้องกันการทำงานซ้อน
- งานตามรอบ เช่น สรุปยอดรายวันและล้างข้อมูลเก่า
- Lab: รายงานสรุปยอดขายส่งอีเมลทุกเช้า
Day 3 SOLID, Design Pattern และบริการเสริม
Section 9: หลัก SOLID ในโปรเจกต์ Laravel
- SRP และ OCP กับโค้ดที่เติบโตขึ้นเรื่อย ๆ
- LSP และ ISP ผ่าน Interface ที่เล็กและชัดเจน
- DIP ร่วมกับ Service Container
- Object ขนาดเล็กช่วยให้ทดสอบและเปลี่ยนแปลงได้ง่าย
- Lab: Refactor โค้ดคำนวณราคาตามหลัก SOLID
Section 10: Lab: Repository, Service และ Action Class
- Repository แบบเรียบง่ายและเมื่อไรไม่จำเป็นต้องใช้
- นำ Method ที่ใช้ร่วมกันใน Repository กลับมาใช้ซ้ำ
- Service และ Action Class สำหรับ Business Logic
- DTO สำหรับส่งข้อมูลระหว่างชั้นอย่างมี Type
- Lab: หน้าประวัติการชำระเงินแบบแยกชั้นชัดเจน
Section 11: Design Pattern ที่ใช้บ่อยใน Laravel
- Decorator สำหรับเพิ่ม Cache ให้ Repository
- Chain of Responsibility ผ่าน Pipeline และ Middleware
- Strategy สำหรับสลับวิธีคำนวณหรือช่องทางชำระเงิน
- View Presenter สำหรับจัดรูปข้อมูลก่อนแสดงผล
- Lab: ระบบส่วนลดหลายเงื่อนไขด้วย Pipeline
Section 12: Lab: ค้นหาด้วย Scout และ Login ด้วย Socialite
- ค้นหาข้อมูลด้วย Laravel Scout แบบ Database Engine
- ภาพรวม Engine ภายนอก เช่น Meilisearch และ Typesense
- Login ด้วยบัญชี GitHub ผ่าน Laravel Socialite
- Lab: หน้าค้นหาสินค้าและ Login ด้วย GitHub
Day 4 Testing และ TDD
Section 13: Lab: พื้นฐานการทดสอบด้วย Pest
- Unit Test และ Feature Test ใน Laravel
- RefreshDatabase และ Model Factory
- Dataset และ Expectation ของ Pest
- Lab: Test ระบบรายการโปรดที่สร้างไว้
Section 14: Mock, Fake และ Integration Test
- ทดสอบการส่งอีเมลด้วย Mail::fake()
- Queue::fake(), Event::fake() และ Notification::fake()
- จำลอง API ภายนอกด้วย Http::fake()
- การทำ Mock และข้อควรระวังเมื่อ Mock มากเกินไป
- Lab: Integration Test ของขั้นตอนชำระเงิน
Section 15: Lab: TDD จากตัวอย่างจริง
- วงจร Red, Green และ Refactor
- เขียน Test ก่อนแล้วจึงสร้างฟีเจอร์ทีละขั้น
- Refactor โค้ด Laravel โดยมี Test รองรับ
- Lab: สร้างหน้าโปรไฟล์ผู้ใช้ด้วย TDD
Section 16: Browser Test และ Architecture Test
- Browser Test ด้วย Pest Browser Plugin ที่ทำงานบน Playwright
- Laravel Dusk สำหรับโปรเจกต์ที่ใช้อยู่เดิม
- Architecture Test บังคับกติกาของโครงสร้างโค้ด
- Lab: Browser Test ขั้นตอนสมัครสมาชิกและ Login
Day 5 Package, CI/CD และ Capstone
Section 17: Lab: พัฒนา Package ของตัวเอง
- แยกโค้ดที่ใช้ซ้ำออกมาเป็น Package
- โครงสร้าง Package, Service Provider และ Package Discovery
- Publish Config, Migration และ View ของ Package
- Lab: Package บันทึกประวัติการแก้ไขข้อมูล
Section 18: แนวปฏิบัติที่ดีในการพัฒนา Package
- ทดสอบ Package ด้วย Orchestra Testbench
- Semantic Versioning และการดูแลความเข้ากันได้
- เผยแพร่บน Packagist หรือใช้เป็น Private Repository
- เขียน README และ Changelog ให้ทีมใช้งานต่อได้
Section 19: Lab: CI/CD ด้วย GitHub Actions
- Workflow ที่รัน Pint, Larastan และ Pest ทุก Pull Request
- จัดการ Secret และไฟล์ .env ของแต่ละสภาพแวดล้อม
- ขั้นตอน Deploy และรีสตาร์ต Worker ด้วย horizon:terminate
- Lab: Pipeline ที่ไม่ให้ Merge เมื่อ Test ไม่ผ่าน
Section 20: Workshop: Capstone ระบบสมาชิกและการชำระเงิน
- ออกแบบฟีเจอร์ด้วย Action Class, Event และ Queue
- เขียน Test แบบ TDD และ Browser Test ของขั้นตอนหลัก
- ให้ AI Assistant ช่วยรีวิวโค้ดแล้วตรวจทานเองทุกจุด
- นำเสนอผลงานและรีวิวการออกแบบร่วมกัน
รอบอบรมและรูปแบบการอบรม
สำหรับบุคคล — รอบอบรมทั่วไป
ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770
สำหรับองค์กร — In-house / Private Training
- ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
- เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
- ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
วิทยากรผู้สอน
คำถามที่พบบ่อย
Laravel Horizon คืออะไร ต่างจากการรัน queue:work เองอย่างไร
Laravel Horizon เป็นแพ็กเกจจัดการ Queue ที่ใช้ Redis โดยมี Dashboard แสดงจำนวนงานที่รอ อัตราการประมวลผล เวลาที่ใช้ และงานที่ล้มเหลว เรากำหนดจำนวน Worker และการกระจายงานของแต่ละคิวไว้ในไฟล์ config/horizon.php แทนการเปิด queue:work หลายตัวเอง บนเซิร์ฟเวอร์จริงนิยมใช้ Supervisor คุมโปรเซสของ Horizon ให้ทำงานต่อเนื่อง และสั่ง horizon:terminate ทุกครั้งที่ Deploy เพื่อให้ Worker โหลดโค้ดใหม่
TDD หรือ Test-Driven Development มีขั้นตอนอย่างไร
TDD ทำเป็นรอบสั้น ๆ สามขั้น เริ่มจากเขียน Test ที่บอกพฤติกรรมที่ต้องการแล้วรันให้เห็นว่าไม่ผ่าน (Red) จากนั้นเขียนโค้ดน้อยที่สุดให้ Test ผ่าน (Green) แล้วจึงปรับโครงสร้างโค้ดให้สะอาดโดยมี Test คอยยืนยันว่าพฤติกรรมไม่เปลี่ยน (Refactor) วนรอบนี้ไปทีละฟีเจอร์ หลักสูตรนี้ฝึก TDD จากตัวอย่างจริงด้วย Pest และฝึก Refactor โค้ด Laravel โดยมี Test รองรับ
หลัก SOLID มีอะไรบ้าง ช่วยให้เขียนโค้ด Laravel ดีขึ้นอย่างไร
SOLID คือหลักการออกแบบเชิงวัตถุห้าข้อ ได้แก่ SRP ให้คลาสมีหน้าที่เดียว OCP เปิดให้ขยายแต่ไม่ต้องแก้โค้ดเดิม LSP คลาสลูกต้องใช้แทนคลาสแม่ได้ ISP แยก Interface ให้เล็กเฉพาะงาน และ DIP ให้โค้ดพึ่งพา Interface แทนคลาสที่ทำงานจริง เมื่อทำตามหลักนี้โค้ดจะแก้ไขและทดสอบง่ายขึ้น ใน Laravel หลัก DIP ใช้ร่วมกับ Service Container ที่ฉีด Dependency ให้อัตโนมัติ
Browser Test ใน Laravel ควรใช้ Laravel Dusk หรือ Pest
ทั้งสองแบบใช้ทดสอบการทำงานผ่านเบราว์เซอร์จริงได้ Laravel Dusk เป็นเครื่องมือที่ใช้กันมานานและยังเหมาะกับโปรเจกต์ที่มี Test แบบ Dusk อยู่แล้ว ส่วน Pest Browser Plugin ทำงานบน Playwright เขียน Test ด้วยรูปแบบเดียวกับ Test อื่นของ Pest ใช้ Helper ของ Laravel ได้ และทดสอบหลายเบราว์เซอร์หรือหลายขนาดจอได้ โปรเจกต์ใหม่ที่ใช้ Pest อยู่แล้วจึงนิยมเริ่มจาก Pest หลักสูตรนี้สอนทั้งสองแบบและเปรียบเทียบให้เห็น
หลักสูตร Laravel Advanced เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน
เหมาะกับนักพัฒนาเว็บที่ใช้ Laravel ในงานจริง โปรแกรมเมอร์ที่ดูแลระบบ Laravel ขนาดใหญ่ ทีมไอทีขององค์กร และ Tech Lead ที่ต้องวางมาตรฐานโค้ดให้ทีม ควรผ่านหลักสูตร Laravel พื้นฐานหรือสร้างเว็บด้วย Route, Controller, Blade และ Eloquent ได้แล้ว เข้าใจ OOP ใน PHP และใช้ Git กับ Composer ได้คล่อง เพราะหลักสูตรนี้ไม่ทวนพื้นฐาน
จัดอบรมหลักสูตร Laravel Advanced ให้ทีมในองค์กรได้ไหม
ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ฝึก Refactor โค้ด Laravel ของระบบเดิมพร้อมเขียน Test หรือวาง Pipeline ของ GitHub Actions ให้เข้ากับขั้นตอนของทีม ขอข้อเสนอการจัดอบรมได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449

