# Laravel 12 ในปี 2026: ฟีเจอร์ใหม่ Starter Kit และคำถามสัมภาษณ์ > Laravel 12 นำ starter kit ที่ออกแบบใหม่มาพร้อม React 19, Vue 3, Livewire 4 และ WorkOS AuthKit คู่มือฉบับสมบูรณ์ครอบคลุมฟีเจอร์ใหม่ เส้นทางการอัปเกรด และคำถามสัมภาษณ์สำคัญสำหรับปี 2026 - Published: 2026-05-23 - Updated: 2026-05-27 - Author: SharpSkill - Tags: laravel, php, starter kits, interview, deep-dive - Reading time: 12 min --- ฟีเจอร์ใหม่ของ Laravel 12 มุ่งเน้นการยกเครื่องชุด starter kit ของเฟรมเวิร์กทั้งหมด พร้อมกับชุด breaking change ที่จงใจทำให้น้อยที่สุด เวอร์ชันนี้เปิดตัวเมื่อวันที่ 24 กุมภาพันธ์ 2025 โดยแทนที่ทั้ง Breeze และ Jetstream ด้วย scaffolding สมัยใหม่ที่ออกแบบเฉพาะสำหรับแต่ละเฟรมเวิร์ก สร้างบน React 19, Vue 3, Svelte 5 และ Livewire 4 ปรัชญาของการเปิดตัวนี้ให้ความสำคัญกับความเสถียร: แอปพลิเคชัน Laravel 11 ส่วนใหญ่อัปเกรดได้โดยไม่ต้องเปลี่ยนโค้ดแม้แต่บรรทัดเดียว > **ไม่มี Breaking Change** > > Laravel 12 เป็นการเปิดตัวเพื่อบำรุงรักษา การอัปเกรดจาก Laravel 11 ไม่ต้องเปลี่ยนโค้ดแอปพลิเคชันในโปรเจกต์ส่วนใหญ่ ทีม Laravel เลือกที่จะส่งมอบการปรับปรุงด้านประสบการณ์ใช้งานตลอดรอบ 11.x แทนที่จะสะสม breaking change ## Starter Kit ที่ออกแบบใหม่มาแทนที่ Breeze และ Jetstream การเปลี่ยนแปลงที่เห็นได้ชัดที่สุดใน Laravel 12 คือการแทนที่ [Breeze](https://laravel.com/docs/12.x/starter-kits) และ 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) ```bash # 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-kit ``` Laravel 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 ระหว่างการติดตั้งชุด ```php // config/services.php 'workos' => [ 'client_id' => env('WORKOS_CLIENT_ID'), 'api_key' => env('WORKOS_API_KEY'), 'redirect_url' => env('WORKOS_REDIRECT_URL'), ], ``` การผสานนี้ขจัดความจำเป็นในการใช้แพ็กเกจอย่าง Socialite สำหรับขั้นตอนการเข้าสู่ระบบผ่านโซเชียลพื้นฐาน แม้ว่า [Socialite](https://laravel.com/docs/12.x/socialite) จะยังคงใช้ได้สำหรับการทำ OAuth แบบกำหนดเอง ## การอัปเดต Dependency และข้อกำหนด PHP Laravel 12 ต้องใช้ PHP 8.2 ถึง 8.5 และบังคับใช้ Carbon 3 สำหรับการดำเนินการวันที่และเวลาทั้งหมด การรองรับ Carbon 2 ถูกยกเลิกไปทั้งหมด นำมาซึ่ง typing ที่เข้มงวดขึ้นและการรับประกัน immutability ที่ดีขึ้น การอัปเดต dependency upstream อื่นๆ รวมถึงคอมโพเนนต์ Symfony 7 ซึ่งทำให้ Laravel สอดคล้องกับการเปิดตัวเวอร์ชันเสถียรล่าสุดทั่วทั้งระบบนิเวศ PHP ```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 enforced ``` > **ไทม์ไลน์การสนับสนุน** > > Laravel 12 จะได้รับการแก้ไขบั๊กจนถึงเดือนสิงหาคม 2026 และแพตช์ความปลอดภัยจนถึงเดือนกุมภาพันธ์ 2027 ส่วน Laravel 13 ที่เปิดตัวเมื่อวันที่ 17 มีนาคม 2026 ปัจจุบันเป็นเวอร์ชันหลักล่าสุด แต่การอัปเกรดจาก 12 ไป 13 ไม่มี breaking change เลย ## การปรับปรุงด้านประสบการณ์ใช้งานที่น่าสนใจในรุ่นแพตช์ แม้ว่าการเปิดตัว 12.0 ครั้งแรกจะเน้นที่ starter kit แต่แพตช์ถัดมาจนถึง 12.12.2 (รุ่น 12.x ล่าสุด) ได้นำเสนอส่วนเพิ่มเติมที่มีประโยชน์: ### Helper สำหรับ Array และ Collection ```php 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 และการอนุญาตสิทธิ์ ```php 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 11 ไป Laravel 12 เส้นทางการอัปเกรดจาก Laravel 11 ไป 12 ถูกออกแบบมาให้เรียบง่ายโดยตั้งใจ แอปพลิเคชันส่วนใหญ่ต้องการเพียงการอัปเวอร์ชัน dependency เท่านั้น **ขั้นตอนที่ 1** — อัปเดต `composer.json`: ```json { "require": { "php": "^8.2", "laravel/framework": "^12.0", "nesbot/carbon": "^3.0" } } ``` **ขั้นตอนที่ 2** — รันการอัปเดต Composer: ```bash composer update ``` **ขั้นตอนที่ 3** — ตรวจสอบกรณีเฉพาะ ห้าจุดที่มีโอกาสต้องปรับมากที่สุด: 1. **`Concurrency::run`** ที่ใช้ associative array ตอนนี้คืนผลลัพธ์แบบมี key 2. **Local disk** ใช้ค่าเริ่มต้นเป็น `storage/app/private` แทน `storage/app` 3. **การเรียก Carbon 2** ต้องอัปเดตไปใช้ API ของ Carbon 3 4. **เมธอด Schema** ตอนนี้คืนผลลัพธ์ข้าม schema 5. **Named argument** ในการเรียกเมธอดของ Laravel อาจพังหากชื่อพารามิเตอร์เปลี่ยน สำหรับแอปพลิเคชันที่ใช้ [Eloquent](/blog/laravel/eloquent-orm-patterns-optimizations), [middleware](/blog/laravel/laravel-middleware-deep-dive) หรือ [ระบบ queue](/blog/laravel/laravel-queues-jobs-architecture) การอัปเกรดมักเสร็จภายในไม่กี่นาที ## คำถามสัมภาษณ์ 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](https://ui.shadcn.com/) เป็นค่าเริ่มต้น **อธิบาย Service Container และ Dependency Injection ใน Laravel** [Service container](/technologies/laravel/interview-questions/service-container-di) เป็นเครื่องมือของ Laravel สำหรับจัดการ dependency ของคลาส เมื่อคลาสประกาศพารามิเตอร์ของ constructor ที่มี type-hint คอนเทนเนอร์จะ resolve และ inject อินสแตนซ์ที่เหมาะสมโดยอัตโนมัติ ใน Laravel 12 คอนเทนเนอร์ตอนนี้เคารพค่าเริ่มต้นของพรอเพอร์ตี้ระหว่างการ resolve ซึ่งเป็นการเปลี่ยนแปลงพฤติกรรมที่ละเอียดอ่อนแต่สำคัญ ```php // 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](/technologies/laravel/interview-questions/middleware) กรอง request HTTP ก่อนที่จะถึง controller Laravel 12 แก้ไขบั๊กการเรียกซ้ำไม่รู้จบที่กลุ่ม middleware อ้างถึงตัวเองทำให้เกิด stack overflow middleware สามารถจัดการการยืนยันตัวตน CORS การจำกัดอัตรา และการบันทึก log ของ request middleware แบบกำหนดเองสร้างได้ด้วย `php artisan make:middleware` **อธิบายสถาปัตยกรรมของระบบ queue** [Queue](/technologies/laravel/interview-questions/queues-jobs) ของ Laravel เลื่อนงานที่ใช้เวลามาก (การส่งอีเมล การสร้างรายงาน การประมวลผลภาพ) ไปยัง worker ที่ทำงานเบื้องหลัง job ถูก dispatch ไปยัง driver เช่น Redis, Amazon SQS หรือ database Laravel 12 ได้ backport การรองรับ cloud queue จาก 13.x ขยายตัวเลือกการ deploy สำหรับสภาพแวดล้อม serverless ```php // 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](https://laravel.com/docs/13.x/ai-sdk) ควรประเมินความต้องการด้าน 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 --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/blog/laravel/laravel-12-features-starter-kits-interview-questions