Laravel เริ่มต้น — MVC, Routing, Eloquent และ Blade
05/07/2026 อ่าน 133 ครั้ง
รู้จัก Laravel เฟรมเวิร์ก PHP ยอดนิยม เข้าใจแนวคิด MVC การติดตั้ง Routing, Controller, Blade View, Migration และ Eloquent Model พร้อมคำสั่ง artisan และตัวอย่างจริง
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 ช่วยให้คุณโฟกัสที่ "ตรรกะธุรกิจ" ไม่ต้องเสียเวลากับงานซ้ำ ๆ 🚀
ดาวน์โหลดเอกสาร
ไม่มีไฟล์แนบในบทความนี้