Laravel 12 ในปี 2026: ฟีเจอร์ใหม่ Starter Kit และคำถามสัมภาษณ์
Laravel 12 นำ starter kit ที่ออกแบบใหม่มาพร้อม React 19, Vue 3, Livewire 4 และ WorkOS AuthKit คู่มือฉบับสมบูรณ์ครอบคลุมฟีเจอร์ใหม่ เส้นทางการอัปเกรด และคำถามสัมภาษณ์สำคัญสำหรับปี 2026

ฟีเจอร์ใหม่ของ Laravel 12 มุ่งเน้นการยกเครื่องชุด starter kit ของเฟรมเวิร์กทั้งหมด พร้อมกับชุด breaking change ที่จงใจทำให้น้อยที่สุด เวอร์ชันนี้เปิดตัวเมื่อวันที่ 24 กุมภาพันธ์ 2025 โดยแทนที่ทั้ง Breeze และ Jetstream ด้วย scaffolding สมัยใหม่ที่ออกแบบเฉพาะสำหรับแต่ละเฟรมเวิร์ก สร้างบน React 19, Vue 3, Svelte 5 และ Livewire 4 ปรัชญาของการเปิดตัวนี้ให้ความสำคัญกับความเสถียร: แอปพลิเคชัน Laravel 11 ส่วนใหญ่อัปเกรดได้โดยไม่ต้องเปลี่ยนโค้ดแม้แต่บรรทัดเดียว
Laravel 12 เป็นการเปิดตัวเพื่อบำรุงรักษา การอัปเกรดจาก Laravel 11 ไม่ต้องเปลี่ยนโค้ดแอปพลิเคชันในโปรเจกต์ส่วนใหญ่ ทีม Laravel เลือกที่จะส่งมอบการปรับปรุงด้านประสบการณ์ใช้งานตลอดรอบ 11.x แทนที่จะสะสม breaking change
Starter Kit ที่ออกแบบใหม่มาแทนที่ Breeze และ Jetstream
การเปลี่ยนแปลงที่เห็นได้ชัดที่สุดใน Laravel 12 คือการแทนที่ Breeze และ Jetstream ด้วย starter kit ที่สร้างขึ้นมาเฉพาะสี่ชุด ต่างจากแพ็กเกจก่อนหน้าที่ติดตั้งลงในโปรเจกต์ที่มีอยู่แล้ว ชุดเหล่านี้สร้างโปรเจกต์ใหม่ทั้งหมดโดยมีโค้ดทุกส่วนที่มองเห็นและแก้ไขได้ตั้งแต่วันแรก
แต่ละชุดมาพร้อมการยืนยันตัวตน การลงทะเบียน การรีเซ็ตรหัสผ่าน การยืนยันอีเมล และการจัดการโปรไฟล์ผู้ใช้แบบพร้อมใช้งาน
| Starter Kit | Stack | ไลบรารี UI | |------------|-------|------------| | React | Inertia 2, React 19, TypeScript | shadcn/ui | | Vue | Inertia 2, Vue 3, TypeScript | shadcn-vue | | Svelte | Inertia 2, Svelte 5, TypeScript | shadcn-svelte | | Livewire | Livewire 4, Laravel Volt | Flux UI |
ทั้งสี่ชุดมี Tailwind CSS 4 รองรับโหมด dark/light/system และมีรูปแบบเลย์เอาต์หลายแบบสำหรับหน้ายืนยันตัวตน (simple, card และ split)
# Install a new Laravel project with the React starter kit
laravel new my-app
# Or specify a community starter kit
laravel new my-app --using=vendor/custom-starter-kitLaravel 12 ยังเปิดความสามารถให้ทุกคนสร้างและเผยแพร่ starter kit ของตนเองได้ โดยลงทะเบียนผ่าน flag --using สิ่งนี้เปิดโอกาสให้มีชุดที่ใช้ Blade ล้วน การตั้งค่าแบบ API ล้วน และ scaffolding เฉพาะโดเมนที่ชุมชนเรียกร้องมาตลอด
การผสาน WorkOS AuthKit สำหรับการยืนยันตัวตนระดับองค์กร
แต่ละ starter kit มีตัวเลือก WorkOS AuthKit ที่เพิ่มฟีเจอร์การยืนยันตัวตนระดับองค์กรโดยไม่ต้องเขียนโค้ดเอง:
- การยืนยันตัวตนผ่านโซเชียล (Google, GitHub, Microsoft และอื่นๆ)
- Passkey สำหรับการเข้าสู่ระบบแบบไม่ใช้รหัสผ่านผ่านข้อมูลชีวมิติ
- Single Sign-On (SSO) กับผู้ให้บริการ SAML และ OIDC
ระดับฟรีของ WorkOS รองรับผู้ใช้งานรายเดือนได้สูงสุดหนึ่งล้านคน ทำให้เหมาะสำหรับโปรเจกต์ทุกขนาด การตั้งค่าต้องกำหนดคีย์ API ของ WorkOS ในไฟล์ .env และเลือกตัวเลือก WorkOS ระหว่างการติดตั้งชุด
'workos' => [
'client_id' => env('WORKOS_CLIENT_ID'),
'api_key' => env('WORKOS_API_KEY'),
'redirect_url' => env('WORKOS_REDIRECT_URL'),
],การผสานนี้ขจัดความจำเป็นในการใช้แพ็กเกจอย่าง Socialite สำหรับขั้นตอนการเข้าสู่ระบบผ่านโซเชียลพื้นฐาน แม้ว่า Socialite จะยังคงใช้ได้สำหรับการทำ OAuth แบบกำหนดเอง
การอัปเดต Dependency และข้อกำหนด PHP
Laravel 12 ต้องใช้ PHP 8.2 ถึง 8.5 และบังคับใช้ Carbon 3 สำหรับการดำเนินการวันที่และเวลาทั้งหมด การรองรับ Carbon 2 ถูกยกเลิกไปทั้งหมด นำมาซึ่ง typing ที่เข้มงวดขึ้นและการรับประกัน immutability ที่ดีขึ้น
การอัปเดต dependency upstream อื่นๆ รวมถึงคอมโพเนนต์ Symfony 7 ซึ่งทำให้ Laravel สอดคล้องกับการเปิดตัวเวอร์ชันเสถียรล่าสุดทั่วทั้งระบบนิเวศ PHP
// Carbon 3 enforces stricter typing
use Carbon\Carbon;
$now = Carbon::now(); // Returns CarbonImmutable by default in strict mode
$future = $now->addDays(30);
// $now remains unchanged — immutability enforcedLaravel 12 จะได้รับการแก้ไขบั๊กจนถึงเดือนสิงหาคม 2026 และแพตช์ความปลอดภัยจนถึงเดือนกุมภาพันธ์ 2027 ส่วน Laravel 13 ที่เปิดตัวเมื่อวันที่ 17 มีนาคม 2026 ปัจจุบันเป็นเวอร์ชันหลักล่าสุด แต่การอัปเกรดจาก 12 ไป 13 ไม่มี breaking change เลย
การปรับปรุงด้านประสบการณ์ใช้งานที่น่าสนใจในรุ่นแพตช์
แม้ว่าการเปิดตัว 12.0 ครั้งแรกจะเน้นที่ starter kit แต่แพตช์ถัดมาจนถึง 12.12.2 (รุ่น 12.x ล่าสุด) ได้นำเสนอส่วนเพิ่มเติมที่มีประโยชน์:
Helper สำหรับ Array และ Collection
use Illuminate\Support\Arr;
// Filter by values instead of keys (added in 12.46.0)
$filtered = Arr::onlyValues(['admin', 'editor', 'viewer'], ['admin', 'editor']);
// Result: ['admin', 'editor']
$excluded = Arr::exceptValues(['admin', 'editor', 'viewer'], ['viewer']);
// Result: ['admin', 'editor']
// Check if a collection has multiple items
$users = collect([/* ... */]);
if ($users->containsManyItems()) {
// Handle bulk operation
}การปรับปรุง Gate และการอนุญาตสิทธิ์
use Illuminate\Support\Facades\Gate;
// UnitEnum support in Gate::has() (added in 12.45.2)
enum Permission {
case ViewDashboard;
case ManageUsers;
}
if (Gate::has(Permission::ViewDashboard)) {
// Ability is defined — more type-safe than string-based checks
}การแก้ไข Schema และ Container
เมธอด Schema::getTables(), Schema::getViews() และ Schema::getTypes() ตอนนี้คืนผลลัพธ์จากทุก schema ตามค่าเริ่มต้น คอนเทนเนอร์ dependency injection เคารพค่าเริ่มต้นของพรอเพอร์ตี้ของคลาสเมื่อ resolve อินสแตนซ์ และ mergeIfMissing() รองรับ dot notation แบบซ้อนเพื่อการจัดการ request ที่สะอาดขึ้น
พร้อมที่จะพิชิตการสัมภาษณ์ Laravel แล้วหรือยังครับ?
ฝึกฝนด้วยตัวจำลองแบบโต้ตอบ, flashcards และแบบทดสอบเทคนิคครับ
คู่มือการอัปเกรด: Laravel 11 ไป Laravel 12
เส้นทางการอัปเกรดจาก Laravel 11 ไป 12 ถูกออกแบบมาให้เรียบง่ายโดยตั้งใจ แอปพลิเคชันส่วนใหญ่ต้องการเพียงการอัปเวอร์ชัน dependency เท่านั้น
ขั้นตอนที่ 1 — อัปเดต composer.json:
{
"require": {
"php": "^8.2",
"laravel/framework": "^12.0",
"nesbot/carbon": "^3.0"
}
}ขั้นตอนที่ 2 — รันการอัปเดต Composer:
composer updateขั้นตอนที่ 3 — ตรวจสอบกรณีเฉพาะ ห้าจุดที่มีโอกาสต้องปรับมากที่สุด:
Concurrency::runที่ใช้ associative array ตอนนี้คืนผลลัพธ์แบบมี key- Local disk ใช้ค่าเริ่มต้นเป็น
storage/app/privateแทนstorage/app - การเรียก Carbon 2 ต้องอัปเดตไปใช้ API ของ Carbon 3
- เมธอด Schema ตอนนี้คืนผลลัพธ์ข้าม schema
- Named argument ในการเรียกเมธอดของ Laravel อาจพังหากชื่อพารามิเตอร์เปลี่ยน
สำหรับแอปพลิเคชันที่ใช้ Eloquent, middleware หรือ ระบบ queue การอัปเกรดมักเสร็จภายในไม่กี่นาที
คำถามสัมภาษณ์ Laravel 12 ที่จำเป็นสำหรับปี 2026
การสัมภาษณ์ด้านเทคนิคสำหรับตำแหน่ง Laravel ในปี 2026 ครอบคลุมทั้งพื้นฐานของเฟรมเวิร์กและความเข้าใจในการเปลี่ยนแปลงล่าสุด คำถามด้านล่างสะท้อนสิ่งที่ทีมรับสมัครถามจริง จัดเรียงตามระดับความอาวุโส
คำถามระดับ Junior
Starter kit ของ Laravel 12 เปลี่ยนไปอย่างไรเมื่อเทียบกับ Breeze?
Breeze และ Jetstream ต้องติดตั้งลงในโปรเจกต์ที่มีอยู่แล้วและเพิ่ม dependency ของแพ็กเกจตัวเอง ส่วน starter kit ของ Laravel 12 สร้างโปรเจกต์ใหม่ทั้งหมดโดยมีโค้ดการยืนยันตัวตนทั้งหมดอยู่ในแอปพลิเคชันโดยตรง ไม่มีลอจิกของแพ็กเกจที่ซ่อนอยู่ starter kit เหล่านี้ใช้ stack ฝั่ง frontend สมัยใหม่ (React 19, Vue 3, Svelte 5 หรือ Livewire 4) พร้อม TypeScript และคอมโพเนนต์ shadcn/ui เป็นค่าเริ่มต้น
อธิบาย Service Container และ Dependency Injection ใน Laravel
Service container เป็นเครื่องมือของ Laravel สำหรับจัดการ dependency ของคลาส เมื่อคลาสประกาศพารามิเตอร์ของ constructor ที่มี type-hint คอนเทนเนอร์จะ resolve และ inject อินสแตนซ์ที่เหมาะสมโดยอัตโนมัติ ใน Laravel 12 คอนเทนเนอร์ตอนนี้เคารพค่าเริ่มต้นของพรอเพอร์ตี้ระหว่างการ resolve ซึ่งเป็นการเปลี่ยนแปลงพฤติกรรมที่ละเอียดอ่อนแต่สำคัญ
// The container resolves dependencies automatically
class OrderService
{
public function __construct(
private PaymentGateway $gateway, // Auto-resolved
private int $retryLimit = 3 // Default respected in Laravel 12
) {}
}คำถามระดับกลาง
Middleware ทำงานอย่างไรใน Laravel และมีอะไรเปลี่ยนไปในเวอร์ชันล่าสุด?
Middleware กรอง request HTTP ก่อนที่จะถึง controller Laravel 12 แก้ไขบั๊กการเรียกซ้ำไม่รู้จบที่กลุ่ม middleware อ้างถึงตัวเองทำให้เกิด stack overflow middleware สามารถจัดการการยืนยันตัวตน CORS การจำกัดอัตรา และการบันทึก log ของ request middleware แบบกำหนดเองสร้างได้ด้วย php artisan make:middleware
อธิบายสถาปัตยกรรมของระบบ queue
Queue ของ Laravel เลื่อนงานที่ใช้เวลามาก (การส่งอีเมล การสร้างรายงาน การประมวลผลภาพ) ไปยัง worker ที่ทำงานเบื้องหลัง job ถูก dispatch ไปยัง driver เช่น Redis, Amazon SQS หรือ database Laravel 12 ได้ backport การรองรับ cloud queue จาก 13.x ขยายตัวเลือกการ deploy สำหรับสภาพแวดล้อม serverless
// Dispatching a job to the queue
use App\Jobs\ProcessInvoice;
ProcessInvoice::dispatch($order)
->onQueue('invoices')
->delay(now()->addMinutes(5));คำถามระดับ Senior
เปรียบเทียบ Repository Pattern กับการใช้ Eloquent โดยตรงในแอปพลิเคชัน Laravel
การใช้ Eloquent โดยตรงใน controller สร้างการ coupling ที่แน่นแฟ้นระหว่างชั้น HTTP กับ database ส่วน Repository Pattern นำเสนอชั้น abstraction: interface ของ repository กำหนดเมธอดการเข้าถึงข้อมูล และคลาส concrete นำไป implement ด้วย Eloquent การแยกนี้ช่วยเพิ่มความสามารถในการทดสอบ (repository สามารถถูก mock ได้) รองรับการสลับแหล่งข้อมูล และบังคับขอบเขตความรับผิดชอบเดียว
สิ่งที่ต้องแลกคือความซับซ้อนที่เพิ่มขึ้น แอปพลิเคชันขนาดเล็กแทบไม่ได้ประโยชน์จาก repository ส่วนแอปพลิเคชันขนาดใหญ่ที่มีแหล่งข้อมูลหลายแห่ง query ที่ซับซ้อน หรือข้อกำหนดการทดสอบที่เข้มงวด จะได้รับความชัดเจนทางสถาปัตยกรรมที่มีความหมาย
คุณจะเตรียมแอปพลิเคชัน Laravel 12 สำหรับการอัปเกรดไป Laravel 13 อย่างไร?
Laravel 13 เปิดตัวโดยไม่มี breaking change จาก 12 ทำให้การอัปเกรดทำได้ง่าย ขั้นตอนการเตรียมที่สำคัญ: ตรวจสอบความเข้ากันได้ของ PHP 8.3+ (13 ยกเลิก PHP 8.2) ตรวจสอบการใช้รูปแบบ Carbon 2 ที่เลิกใช้แล้ว และทดสอบ service provider แบบกำหนดเองกับระบบการตั้งค่าแบบ attribute ใหม่ ทีมที่สนใจ AI SDK ของ Laravel 13 ควรประเมินความต้องการด้าน vector search และ RAG ตั้งแต่เนิ่นๆ เพราะการรองรับ native pgvector ใช้ได้กับ PostgreSQL เท่านั้น
ผู้สัมภาษณ์ในปี 2026 ถามเกี่ยวกับเส้นทางการอัปเกรดระหว่างเวอร์ชัน Laravel มากขึ้นเรื่อยๆ การแสดงความเข้าใจในห่วงโซ่การ migrate 11 ไป 12 ไป 13 และปรัชญาไม่มี breaking change บ่งบอกถึงประสบการณ์เชิงปฏิบัติมากกว่าความรู้เชิงทฤษฎี
Laravel 12 vs Laravel 13: ทีมควรอัปเกรดตอนนี้หรือไม่?
| ฟีเจอร์ | Laravel 12 | Laravel 13 |
|---------|-----------|------------|
| ข้อกำหนด PHP | 8.2 - 8.5 | 8.3 - 8.5 |
| Starter Kit | React/Vue/Svelte/Livewire | เหมือนเดิม + Multi-Tenancy ทีม |
| AI SDK | Beta (laravel/ai) | เสถียร พร้อมใช้งานจริง |
| Vector Search | ไม่มี | รองรับ native pgvector |
| Passkey | ผ่าน WorkOS เท่านั้น | Native ใน Fortify |
| Breaking Change จาก 11 | น้อยที่สุด | ไม่มีจาก 12 |
| แก้ไขบั๊กจนถึง | สิงหาคม 2026 | Q3 2027 |
สำหรับทีมที่ไม่ได้ใช้ฟีเจอร์ AI หรือ passkey Laravel 12 ยังได้รับการสนับสนุนเต็มรูปแบบจนถึงเดือนสิงหาคม 2026 การอัปเกรดไป 13 สามารถทำได้เมื่อใดก็ตามที่ยืนยันความเข้ากันได้ของ PHP 8.3 ในทุก dependency
บทสรุป
- Laravel 12 แทนที่ Breeze และ Jetstream ด้วย starter kit สมัยใหม่สี่ชุดที่สร้างบน React 19, Vue 3, Svelte 5 และ Livewire 4 โดยโค้ดทั้งหมดอยู่ในแอปพลิเคชันโดยตรง
- การผสาน WorkOS AuthKit เพิ่มการเข้าสู่ระบบผ่านโซเชียล passkey และ SSO โดยไม่ต้องเขียนโค้ดเอง ฟรีจนถึงผู้ใช้หนึ่งล้านคนต่อเดือน
- การอัปเกรดจาก Laravel 11 ไม่ต้องเปลี่ยนโค้ดในแอปพลิเคชันส่วนใหญ่ Carbon 3, Symfony 7 และ PHP 8.2+ เป็นการเปลี่ยนแปลง dependency หลัก
- รุ่นแพตช์จนถึง 12.12.2 เพิ่ม
Arr::onlyValues(),Arr::exceptValues(),containsManyItems()และการรองรับ UnitEnum ใน Gate - การเตรียมตัวสัมภาษณ์สำหรับปี 2026 ควรครอบคลุมความแตกต่างของ starter kit การเปลี่ยนแปลงของ service container และเส้นทางการอัปเกรด Laravel 12 ไป 13
- Laravel 13 (มีนาคม 2026) มี AI SDK แบบ native, vector search และ passkey แต่ Laravel 12 ได้รับการแก้ไขด้านความปลอดภัยจนถึงเดือนกุมภาพันธ์ 2027
เริ่มฝึกซ้อมเลย!
ทดสอบความรู้ของคุณด้วยตัวจำลองสัมภาษณ์และแบบทดสอบเทคนิคครับ
แท็ก
แชร์
บทความที่เกี่ยวข้อง

25 คำถามสัมภาษณ์งาน Laravel และ PHP ยอดนิยมในปี 2026
รวม 25 คำถามสัมภาษณ์งาน Laravel และ PHP ที่พบบ่อยที่สุด ครอบคลุม Service Container, Eloquent ORM, middleware, queues และการ deploy ระบบ production พร้อมคำตอบและตัวอย่างโค้ดครบถ้วน

Laravel Middleware เจาะลึก: Authentication, Rate Limiting และ Custom Middleware ฉบับสมบูรณ์
คู่มือเจาะลึก Laravel Middleware ครอบคลุมการทำงานของ Authentication Middleware, Rate Limiting ด้วย Throttle, การสร้าง Custom Middleware และการลงทะเบียน Middleware ใน Laravel 12 พร้อมตัวอย่างโค้ดที่ใช้งานได้จริงในโปรดักชัน

Eloquent ORM: รูปแบบและการเพิ่มประสิทธิภาพสำหรับ Laravel
เชี่ยวชาญ Eloquent ORM ด้วยรูปแบบขั้นสูงและเทคนิคการเพิ่มประสิทธิภาพ ทั้ง eager loading, query scope, accessor, mutator และประสิทธิภาพสำหรับแอป Laravel