본문으로 건너뛰기

เนื้อหาภาษาไทย / 태국어 콘텐츠

시스템 가이드 검수 완료된 콘텐츠

การสร้าง Controller ด้วย Artisan

Laravel Controller เป็นส่วนที่ทำหน้าที่ควบคุมการทำงานของแอปพลิเคชันระหว่าง Model และ View เพื่อให้การประมวลผลข้อมูลและการตอบสนองต่อผู้ใช้เป็นไปอย่างมีระเบียบและ...

Laravel Controller เป็นส่วนที่ทำหน้าที่ควบคุมการทำงานของแอปพลิเคชันระหว่าง Model และ View เพื่อให้การประมวลผลข้อมูลและการตอบสนองต่อผู้ใช้เป็นไปอย่างมีระเบียบและง่ายต่อการพัฒนา Laravel มี Artisan ซึ่งเป็นเครื่องมือ CLI ที่ช่วยให้การสร้าง Controller เป็นเรื่องง่าย

การสร้าง Controller ด้วย Artisan

การสร้าง Controller สามารถทำได้โดยใช้คำสั่ง php artisan make:controller ตามด้วยชื่อ Controller ที่ต้องการสร้าง ตัวอย่างเช่น หากต้องการสร้าง Controller ชื่อ ProductController สามารถใช้คำสั่งดังนี้:

php artisan make:controller ProductController

หลังจากรันคำสั่งนี้ Laravel จะสร้างไฟล์ ProductController.php ในโฟลเดอร์ app/Http/Controllers/ ซึ่งเป็นโฟลเดอร์ที่เก็บ Controller ทั้งหมดของแอปพลิเคชัน

การสร้าง Resource Controller

Laravel ยังรองรับการสร้าง Resource Controller ซึ่งจะสร้างเมธอดพื้นฐานทั้งหมดที่ใช้ใน CRUD (Create, Read, Update, Delete) ให้โดยอัตโนมัติ เราสามารถสร้าง Resource Controller ได้โดยเพิ่มออปชั่น --resource หลังชื่อ Controller:

php artisan make:controller ProductController --resource

คำสั่งนี้จะสร้างเมธอดต่างๆ เช่น index, create, store, show, edit, update, และ destroy ใน ProductController.php พร้อมสำหรับการใช้งาน

ตัวอย่างการใช้งาน Controller

  1. สร้าง Controller ธรรมดา
php artisan make:controller UserController

หลังจากสร้างแล้วสามารถกำหนดฟังก์ชันที่ต้องการใน UserController เช่น:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    public function index()
    {
        return view('user.index');
    }

    public function show($id)
    {
        return 'User ID: ' . $id;
    }
}

2. สร้าง Resource Controller

php artisan make:controller ProductController --resource

จะได้ Controller ที่มีเมธอดพร้อมใช้งาน เช่น:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ProductController extends Controller
{
    public function index()
    {
        return 'List of products';
    }

    public function create()
    {
        return 'Form to create product';
    }

    public function store(Request $request)
    {
        return 'Store new product';
    }

    public function show($id)
    {
        return 'Display product ' . $id;
    }

    public function edit($id)
    {
        return 'Form to edit product ' . $id;
    }

    public function update(Request $request, $id)
    {
        return 'Update product ' . $id;
    }

    public function destroy($id)
    {
        return 'Delete product ' . $id;
    }
}

การนำไปใช้งาน

หลังจากสร้าง Controller แล้ว สามารถกำหนดเส้นทางใน routes/web.php เพื่อลิงก์กับ Controller และเมธอดที่สร้างไว้ ตัวอย่างการกำหนดเส้นทางสำหรับ Resource Controller:

Route::resource('products', ProductController::class);

คำสั่งนี้จะสร้างเส้นทางทั้งหมดที่จำเป็นสำหรับการทำงาน CRUD ของผลิตภัณฑ์ เช่น

  • GET /products - เรียกใช้เมธอด index
  • GET /products/{id} - เรียกใช้เมธอด show
  • POST /products - เรียกใช้เมธอด store
  • PUT /products/{id} - เรียกใช้เมธอด update
  • DELETE /products/{id} - เรียกใช้เมธอด destroy
Office.in.th Custom Service

이 구조를 바탕으로 시스템을 개발하거나 맞춤 변경하고 싶으신가요?

Office.in.th는 엔터프라이즈 웹 애플리케이션, API 연동, 공공/민간 업무 관리 시스템을 설계·개발하며 장기 지원을 제공합니다.

소프트웨어 개발 서비스 보기