Web Development with Symfony
หลักสูตร Web Development with Symfony เป็นการอบรมพัฒนาเว็บด้วย Symfony 8 โดยสร้างบล็อกตั้งแต่ศูนย์ ทั้ง Twig, Doctrine ORM ฟอร์ม ระบบ Login และหลังบ้านด้วย EasyAdmin เหมาะกับนักพัฒนา PHP และนักศึกษาที่ทำโครงงานด้วย PHP และ MySQL จบแล้วได้บล็อกพร้อมระบบจัดการบทความและผู้เขียน
- ระยะเวลา18 ชั่วโมง · 3 วัน
- รูปแบบออนไซต์ / ออนไลน์สด
- รอบถัดไปเปิดตามคำขอ
- ใบรับรองมี Certificate
ภาพรวมหลักสูตร
Symfony เป็น PHP Framework ที่มีโครงสร้างชัดเจนและเป็นฐานของโปรเจกต์ PHP จำนวนมาก รุ่นปัจจุบันคือ Symfony 8 ซึ่งต้องใช้ PHP 8.4 ขึ้นไป และมี Symfony 7.4 เป็นรุ่น LTS สำหรับระบบที่ต้องการระยะสนับสนุนยาว เมื่อเทียบกับ Symfony 2 แนวทางเปลี่ยนไปมาก ทั้งการกำหนดค่าด้วย PHP Attribute, Autowiring, Symfony Flex และเครื่องมือสร้างโค้ดอย่าง MakerBundle ทำให้เริ่มโปรเจกต์ได้เร็วและดูแลต่อง่ายขึ้น
หลักสูตรนี้พาสร้างบล็อกพร้อมส่วนผู้ดูแลตั้งแต่ศูนย์ด้วย Symfony 8 เริ่มจากสร้างโปรเจกต์ Routing, Controller และ Twig ทำงานกับฐานข้อมูลด้วย Doctrine ORM และ Migration ทำฟอร์มและระบบความคิดเห็น ใช้ Service Container ป้องกันโซนผู้ดูแลด้วย Security ทำหลังบ้านด้วย EasyAdmin รองรับหลายภาษาผ่าน URL และเขียน Test แล้วปิดท้ายด้วย Workshop และการ Deploy (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)
สิ่งที่คุณจะได้รับ
- เข้าใจโครงสร้างและแนวคิดของ Symfony 8 รวมถึงความต่างจาก Symfony 2
- สร้างโปรเจกต์ด้วย Symfony CLI และใช้ Routing, Controller และ Twig ได้
- ทำงานกับฐานข้อมูลด้วย Doctrine ORM, Entity, Repository และ Migration
- สร้างฟอร์มพร้อม Validation และแยกตรรกะออกเป็น Service ได้
- ป้องกันส่วนผู้ดูแลด้วยระบบ Login และสิทธิ์ของ Symfony Security
- สร้างหลังบ้านจัดการบทความและผู้เขียน และทำเว็บหลายภาษาได้
- เขียน Test และนำแอป Symfony ขึ้นใช้งานจริงได้
หลักสูตรนี้เหมาะสำหรับ
- นักพัฒนาที่เขียน PHP อยู่แล้วและต้องการใช้ Framework ที่มีโครงสร้างชัดเจน
- นักเรียนนักศึกษาที่ทำโครงงานด้วย PHP และ MySQL
- ทีมที่ดูแลระบบ Symfony รุ่นเก่าและต้องการเข้าใจแนวทางปัจจุบัน
- ผู้สนใจพัฒนาเว็บที่มีพื้นฐาน HTML, CSS และ PHP
พื้นฐานของผู้เข้าอบรม
- เขียน PHP ได้ และเข้าใจ Class กับ Object เบื้องต้น
- เขียนเว็บด้วย HTML และ CSS ได้
- เขียน SQL พื้นฐานและเคยใช้ MySQL หรือ MariaDB มาบ้าง
- โน้ตบุ๊กที่ติดตั้ง PHP 8.4 ขึ้นไป, Composer, Symfony CLI และ VS Code ได้ พร้อมสิทธิ์ติดตั้งโปรแกรม
หัวข้อการฝึกอบรม
รายละเอียดหลักสูตร
หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร Web development with Symfony 2 framework อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab และ Workshop ระดับ Intermediate ฉบับนี้ย้ายจาก Symfony 2 มาใช้ Symfony 8 ยังคงโจทย์เดิมคือสร้างบล็อกพร้อมระบบจัดการบทความและผู้เขียนตั้งแต่ศูนย์
แต่เลิกแบ่งโค้ดของแอปเป็นหลาย Bundle และเลิกใช้ AppKernel, Annotation และ generate:bundle ใช้ PHP Attribute, Autowiring, Symfony Flex และ MakerBundle แทน ส่วนผู้ดูแลทำด้วย make:crud และ EasyAdmin เพิ่ม AssetMapper, Symfony UX, Mailer, Test และการ Deploy ผู้ที่ต้องการระยะสนับสนุนยาวใช้ Symfony 7.4 LTS ได้โดยเนื้อหาส่วนใหญ่เหมือนกัน ผู้เรียนได้ Lab Guide ซอร์สโค้ดครบทุก Lab และโปรเจกต์บล็อกกลับไปใช้งานต่อ
Day 1 Symfony 8 พื้นฐานและฐานข้อมูล
Section 1: ทำความรู้จัก Symfony 8
- Symfony Framework กับ Symfony Components
- รุ่นปัจจุบันกับรุ่น LTS และวงจรการออกรุ่น
- จาก Symfony 2 ถึง Symfony 8 สิ่งที่เลิกใช้และสิ่งที่มาแทน
- แนวคิด Request, Response และ Controller
Section 2: Lab: เตรียมเครื่องและสร้างโปรเจกต์
- ติดตั้ง PHP 8.4 ขึ้นไป, Composer, Symfony CLI และ VS Code
- สร้างโปรเจกต์ด้วย symfony new --webapp
- รัน Local Web Server ด้วย symfony server:start
- โครงสร้าง config, src, templates และ public กับ Symfony Flex
Section 3: Routing, Controller และ Twig
- กำหนด Route ด้วย Attribute #[Route] และพารามิเตอร์
- AbstractController, Response และ Redirect
- Template ของ Twig, Layout แบบสืบทอด และ include
- Lab: หน้าแรกและหน้าเกี่ยวกับบล็อก
Section 4: Lab: Doctrine ORM และ Entity
- ตั้งค่าฐานข้อมูลในไฟล์ .env และสร้างฐานข้อมูล
- สร้าง Entity บทความ ผู้เขียน และหมวดหมู่ด้วย make:entity
- Mapping ด้วย PHP Attribute และความสัมพันธ์ ManyToOne
- สร้างตารางด้วย Migration และข้อมูลตัวอย่างด้วย Fixtures
Section 5: Repository และหน้าแสดงบทความ
- ค้นหาข้อมูลด้วย Repository และ Query Builder
- ดึง Entity จาก URL อัตโนมัติด้วย #[MapEntity]
- แบ่งหน้าและ URL แบบ Slug
- Lab: หน้ารายการบทความ หน้าบทความ และหน้าผู้เขียน
Day 2 ฟอร์ม Service ความปลอดภัย และหลังบ้าน
Section 6: Lab: Form และ Validation
- สร้าง Form Type ด้วย make:form
- ตรวจข้อมูลด้วย Constraint แบบ Attribute
- แสดงฟอร์มใน Twig และป้องกัน CSRF
- Lab: ระบบความคิดเห็นใต้บทความ
Section 7: Service Container และ Dependency Injection
- Service, Autowiring และ Autoconfigure
- แยกตรรกะออกจาก Controller เป็น Service
- ตั้งค่าด้วย Parameter และ Environment Variable
- Lab: Service สร้าง Slug และคำนวณเวลาอ่านบทความ
Section 8: Security: ผู้ใช้และการเข้าสู่ระบบ
- สร้าง User Entity และ Password Hasher
- หน้า Login ด้วย make:security:form-login และ Logout
- access_control และ #[IsGranted] สำหรับโซนผู้ดูแล
- จำกัดการเดารหัสผ่านด้วย Login Throttling
Section 9: Lab: ส่วนผู้ดูแลด้วย make:crud
- สร้างหน้าจัดการบทความและผู้เขียนด้วย make:crud
- จัดหน้าเหล่านี้ไว้ในโซน /admin
- Flash Message และการ Redirect หลังบันทึก
- เปรียบเทียบการเขียนเองกับการใช้ EasyAdmin
Section 10: Lab: หลังบ้านด้วย EasyAdmin
- ติดตั้ง EasyAdmin และสร้าง Dashboard ด้วย make:admin:dashboard
- CRUD Controller ด้วย make:admin:crud
- ปรับ Field, Filter และเมนู
- Lab: หลังบ้านสำหรับบทความ ผู้เขียน และความคิดเห็น
Day 3 หน้าเว็บ หลายภาษา Test และ Workshop
Section 11: Frontend ด้วย AssetMapper และ Symfony UX
- จัดการ CSS และ JavaScript ด้วย AssetMapper โดยไม่ต้องใช้ Build Tool
- ติดตั้ง Bootstrap ด้วย importmap:require
- Stimulus และ Turbo เพื่อให้หน้าเว็บตอบสนองเร็ว
- Lab: ปรับหน้าตาบล็อกให้ Responsive
Section 12: Lab: เว็บหลายภาษา
- เลือกภาษาจาก URL ด้วยพารามิเตอร์ {_locale}
- แปลข้อความใน Twig ด้วย trans
- ดึงข้อความที่ต้องแปลด้วย translation:extract
- Lab: บล็อกสองภาษาไทยและอังกฤษ
Section 13: อีเมล, Event และงานเบื้องหลัง
- ส่งอีเมลด้วย Mailer และทดสอบด้วย Mailpit
- Event Listener และ Event Subscriber
- แนวคิด Messenger สำหรับงานที่ไม่ต้องรอ
- Lab: แจ้งผู้เขียนเมื่อมีความคิดเห็นใหม่
Section 14: Lab: Test และ Debug
- Symfony Profiler และ Web Debug Toolbar
- Unit Test และ Functional Test ด้วย PHPUnit และ WebTestCase
- ทดสอบฟอร์มและหน้าที่ต้อง Login
- ตรวจเส้นทางและ Service ด้วย debug:router และ debug:container
Section 15: Workshop: บล็อกพร้อมหลังบ้านและการ Deploy
- รวมทุกส่วนเป็นบล็อกที่มีระบบจัดการบทความและผู้เขียน
- ตั้งค่า APP_ENV=prod, Cache และ Secrets
- Deploy โดยตั้ง public เป็น Document Root
- ใช้ AI Assistant ช่วยรีวิวโค้ดอย่างระมัดระวัง และแนวทางต่อยอด
รอบอบรมและรูปแบบการอบรม
สำหรับบุคคล — รอบอบรมทั่วไป
ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770
สำหรับองค์กร — In-house / Private Training
- ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
- เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
- ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
วิทยากรผู้สอน
คำถามที่พบบ่อย
Symfony 8 ยังใช้ Bundle แบบ Symfony 2 อยู่ไหม
ตัว Symfony และไลบรารีเสริมยังแจกจ่ายเป็น Bundle เช่น Doctrine, Twig หรือ EasyAdmin แต่โค้ดของแอปเองไม่ต้องแบ่งเป็นหลาย Bundle อีกแล้ว ให้วางไว้ในโฟลเดอร์ src ตาม Namespace App เช่น Controller, Entity และ Repository ส่วน Bundle ที่ติดตั้งจะถูกลงทะเบียนอัตโนมัติผ่าน Symfony Flex ในไฟล์ config/bundles.php และไม่ต้องใช้คำสั่ง generate:bundle หรือไฟล์ AppKernel แบบเดิม
Doctrine ORM ใช้ทำอะไรใน Symfony
Doctrine ORM เป็นตัวกลางเชื่อมฐานข้อมูล เราเขียนคลาส Entity แล้วกำหนดการแมปกับตารางด้วย PHP Attribute ซึ่งสร้างได้เร็วด้วยคำสั่ง make:entity จากนั้นใช้ Migration สร้างหรือแก้ตารางให้ตรงกับ Entity บันทึกข้อมูลผ่าน Entity Manager ด้วย persist และ flush และดึงข้อมูลผ่าน Repository หรือ Query Builder ในมุมของออบเจกต์แทนการเขียน SQL เองทุกครั้ง
Service Container ใน Symfony คืออะไร ช่วยอะไร
Service Container คือตัวกลางที่สร้างและส่งออบเจกต์บริการต่าง ๆ ของแอป เช่น ตัวส่งอีเมล ตัวจัดการฐานข้อมูล หรือคลาสที่เราเขียนเอง ใน Symfony ปัจจุบันเปิด Autowiring ไว้เป็นค่าเริ่มต้น เพียงระบุชนิดของ Dependency ใน Constructor ระบบจะส่งออบเจกต์ที่ถูกต้องให้เอง ช่วยแยกตรรกะออกจาก Controller ทำให้โค้ดเป็นโมดูล ทดสอบง่าย และแทบไม่ต้องเขียนไฟล์ตั้งค่าเพิ่ม
หลักสูตร Web Development with Symfony เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน
เหมาะกับนักพัฒนาที่เขียน PHP อยู่แล้วและอยากใช้ Framework ที่มีโครงสร้างชัดเจน นักเรียนนักศึกษาที่ทำโครงงานด้วย PHP และ MySQL และทีมที่ดูแลระบบ Symfony รุ่นเก่า ควรเขียน PHP ได้และเข้าใจ Class กับ Object เบื้องต้น เขียน HTML และ CSS ได้ เขียน SQL พื้นฐานได้ และใช้โน้ตบุ๊กที่ติดตั้ง PHP 8.4 ขึ้นไปได้
เรียนจบหลักสูตร Web Development with Symfony แล้วทำอะไรได้บ้าง
สร้างโปรเจกต์ Symfony 8 ด้วย Symfony CLI ใช้ Routing, Controller และ Twig ทำงานกับฐานข้อมูลด้วย Doctrine ORM และ Migration ทำฟอร์มและระบบความคิดเห็น แยกตรรกะเป็น Service ป้องกันโซนผู้ดูแลด้วย Security สร้างหลังบ้านด้วย EasyAdmin ทำเว็บหลายภาษา เขียน Test และ Deploy จนได้บล็อกพร้อมระบบจัดการบทความและผู้เขียน ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้
จัดอบรมหลักสูตร Web Development with Symfony ให้ทีมในองค์กรได้ไหม
ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ฝึกสร้างระบบจัดการเนื้อหาหรือข้อมูลที่ใกล้กับงานจริงขององค์กร หรือเลือกใช้ Symfony 7.4 LTS ให้ตรงกับระบบที่มีอยู่ ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449

