Laravel คือเฟรมเวิร์ก PHP ที่ได้รับความนิยมสูงสุดในโลก ช่วยให้สร้างเว็บแอปขนาดใหญ่ได้เร็ว เป็นระเบียบ และปลอดภัย บทความนี้จะพาคุณรู้จักโครงสร้างและองค์ประกอบหลักของ Laravel เพื่อเริ่มต้นสร้างระบบจริง ═══════════════════════════════════════ 📌 1. Laravel คืออะไร และ MVC ═══════════════════════════════════════ Laravel เป็น PHP Framework ที่ใช้แนวคิด MVC แยกโค้ดเป็นส่วน ๆ ให้จัดการง่าย • Model → จัดการข้อมูล/ฐานข้อมูล • View → หน้าตาที่ผู้ใช้เห็น (Blade) • Controller → ตัวกลางรับคำขอ ประมวลผล ส่งข้อมูลไป View ข้อดี: มีเครื่องมือครบ (routing, ORM, auth, migration), เขียนน้อยได้มาก, ปลอดภัย และมีชุมชนใหญ่ ═══════════════════════════════════════ 🔧 2. ติดตั้งและสร้างโปรเจกต์ ═══════════════════════════════════════ ต้องมี PHP, Composer ก่อน แล้วสร้างโปรเจกต์ด้วยคำสั่ง
bash
# สร้างโปรเจกต์ Laravel ใหม่
composer create-project laravel/laravel myapp

# เข้าโฟลเดอร์และรันเซิร์ฟเวอร์
cd myapp
php artisan serve
เปิดเบราว์เซอร์ที่ http://127.0.0.1:8000 จะเห็นหน้าต้อนรับของ Laravel ═══════════════════════════════════════ 📁 3. โครงสร้างโฟลเดอร์สำคัญ ═══════════════════════════════════════ • app/Models/ → คลาส Model • app/Http/Controllers/ → Controller • routes/web.php → กำหนดเส้นทาง (URL) • resources/views/ → ไฟล์ Blade (หน้าเว็บ) • database/migrations/ → โครงสร้างตาราง • .env → ตั้งค่า (ฐานข้อมูล, แอป) • public/ → จุดเริ่มเว็บ (index.php) ═══════════════════════════════════════ 🛣️ 4. Routing — กำหนดเส้นทาง ═══════════════════════════════════════ เขียนใน routes/web.php
php
<?php
use Illuminate\Support\Facades\Route;

// เส้นทางง่าย ๆ คืนข้อความ
Route::get('/hello', function () {
    return 'สวัสดี Laravel';
});

// ชี้ไปที่ Controller
Route::get('/users', [UserController::class, 'index']);

// รับพารามิเตอร์จาก URL
Route::get('/user/{id}', function ($id) {
    return "ผู้ใช้ไอดี: $id";
});
═══════════════════════════════════════ 🎮 5. Controller — ตัวควบคุม ═══════════════════════════════════════ สร้างด้วย artisan แล้วเขียนเมธอด
bash
php artisan make:controller UserController
php
<?php
namespace App\Http\Controllers;

use App\Models\User;

class UserController extends Controller
{
    public function index()
    {
        $users = User::all();               // ดึงผู้ใช้ทั้งหมด
        return view('users.index', compact('users'));
    }
}
═══════════════════════════════════════ 🎨 6. Blade View — หน้าตาเว็บ ═══════════════════════════════════════ ไฟล์ resources/views/users/index.blade.php
php
<h1>รายชื่อผู้ใช้</h1>

<ul>
    @foreach($users as $user)
        <li>{{ $user->name }} - {{ $user->email }}</li>
    @endforeach
</ul>

@if($users->isEmpty())
    <p>ยังไม่มีผู้ใช้</p>
@endif
ไวยากรณ์ Blade: • {{ $var }} → แสดงค่า (escape อัตโนมัติ ปลอดภัย) • @foreach @if → คำสั่งควบคุม • @extends @section → สืบทอด layout ═══════════════════════════════════════ 🗄️ 7. Migration และ Model (Eloquent) ═══════════════════════════════════════ Migration = สร้างตารางด้วยโค้ด (ควบคุมเวอร์ชันฐานข้อมูลได้)
bash
php artisan make:migration create_posts_table
php artisan migrate
php
<?php
// ในไฟล์ migration
Schema::create('posts', function (Blueprint $table) {
    $table->id();
    $table->string('title');
    $table->text('body');
    $table->timestamps();
});
Eloquent Model = ตัวแทนตาราง เขียน query แบบสั้น
php
<?php
// ดึงและจัดการข้อมูลด้วย Eloquent
$posts = Post::all();                     // ทั้งหมด
$post = Post::find(1);                     // ตาม id
$new = Post::create(['title' => 'สวัสดี', 'body' => '...']); // เพิ่ม
$post->update(['title' => 'แก้ไขแล้ว']);   // แก้ไข
$post->delete();                           // ลบ

// มีเงื่อนไข
$recent = Post::where('title', 'like', '%ข่าว%')
              ->orderBy('created_at', 'desc')
              ->get();
═══════════════════════════════════════ 🔄 8. คำสั่ง Artisan ที่ใช้บ่อย ═══════════════════════════════════════
bash
php artisan serve                  # รันเซิร์ฟเวอร์
php artisan make:model Post -mc    # สร้าง Model + migration + controller
php artisan make:controller XController
php artisan migrate                # รัน migration
php artisan route:list             # ดูเส้นทางทั้งหมด
php artisan make:migration ...     # สร้าง migration
═══════════════════════════════════════ ✅ 9. สรุปและเส้นทางต่อไป ═══════════════════════════════════════ • Laravel ใช้ MVC: Route → Controller → Model/View • ใช้ artisan สร้างไฟล์ต่าง ๆ อย่างรวดเร็ว • Eloquent ทำให้จัดการฐานข้อมูลง่ายมาก (ไม่ต้องเขียน SQL ตรง ๆ) • Blade ช่วยเขียนหน้าเว็บพร้อมลูป/เงื่อนไข และปลอดภัยจาก XSS • ตั้งค่าฐานข้อมูลใน .env ก่อน migrate เสมอ เส้นทางต่อไป: พื้นฐาน Route/Controller/View → Eloquent + Migration → Form/Validation → Authentication → REST API → Deploy จำไว้: Laravel ช่วยให้คุณโฟกัสที่ "ตรรกะธุรกิจ" ไม่ต้องเสียเวลากับงานซ้ำ ๆ 🚀