ข้ามไปยังเนื้อหาหลัก
คู่มือระบบ เนื้อหาผ่านการตรวจสอบแล้ว

สร้าง Project: โครงสร้างเริ่มต้นของระบบ

บทความนี้กล่าวถึงการเริ่มต้นสร้างโปรเจกต์ Payment Gateway โดยเน้นที่การสร้างโครงสร้างพื้นฐานของโปรเจกต์ เพื่อให้โค้ดเป็นระเบียบ ทำงานเป็นทีมได้ง่าย และบำรุงรักษ...

Workshop: สร้างระบบ Payment Gateway - บทที่ 3: สร้าง Project: โครงสร้างเริ่มต้นของระบบ

สวัสดีครับ! ในบทที่แล้ว เราได้ทำการติดตั้ง PHP และ Composer เป็นที่เรียบร้อยแล้ว ในบทนี้ เราจะมาเริ่มต้นสร้างโครงสร้างพื้นฐานของโปรเจกต์ Payment Gateway ของเรากันครับ โครงสร้างนี้จะเป็นรากฐานสำคัญให้เราสามารถพัฒนาส่วนต่างๆ ของระบบได้อย่างเป็นระเบียบและง่ายต่อการจัดการในภายหลัง

ทำไมต้องมีโครงสร้างโปรเจกต์?

การมีโครงสร้างโปรเจกต์ที่ชัดเจนตั้งแต่เริ่มต้น จะช่วยให้เรา:

  • จัดระเบียบโค้ด: โค้ดจะถูกจัดเก็บในโฟลเดอร์ที่เหมาะสม ทำให้ง่ายต่อการค้นหาและแก้ไข
  • ทำงานเป็นทีมได้ง่ายขึ้น: สมาชิกในทีมทุกคนจะเข้าใจโครงสร้างของโปรเจกต์ ทำให้ทำงานร่วมกันได้อย่างราบรื่น
  • บำรุงรักษาได้ง่าย: เมื่อโปรเจกต์มีขนาดใหญ่ขึ้น การมีโครงสร้างที่ดีจะช่วยให้การบำรุงรักษาเป็นไปได้ง่ายขึ้น

ขั้นตอนการสร้างโครงสร้างโปรเจกต์

เราจะสร้างโฟลเดอร์และไฟล์พื้นฐาน 3 อย่างด้วยกัน:

  1. โฟลเดอร์หลักสำหรับโปรเจกต์
  2. ไฟล์ index.php สำหรับเป็นจุดเริ่มต้นของระบบ
  3. ไฟล์ composer.json สำหรับจัดการ dependencies

1. สร้างโฟลเดอร์หลัก

เริ่มต้นด้วยการสร้างโฟลเดอร์หลักสำหรับโปรเจกต์ของเรา คุณสามารถตั้งชื่อโฟลเดอร์นี้ว่าอะไรก็ได้ที่สื่อถึงโปรเจกต์ Payment Gateway ของคุณ เช่น payment-gateway หรือ payment-system ในตัวอย่างนี้ ผมจะใช้ชื่อว่า payment-gateway ครับ

เปิด Command Prompt (Windows) หรือ Terminal (macOS/Linux) และใช้คำสั่งต่อไปนี้เพื่อสร้างโฟลเดอร์:

mkdir payment-gateway
cd payment-gateway

คำสั่งแรก mkdir payment-gateway จะสร้างโฟลเดอร์ชื่อ payment-gateway และคำสั่งที่สอง cd payment-gateway จะเปลี่ยน directory ไปยังโฟลเดอร์ที่เราสร้างขึ้น

2. สร้างไฟล์ index.php

ไฟล์ index.php จะเป็นไฟล์แรกที่ถูกเรียกใช้งานเมื่อเราเข้าถึงเว็บไซต์ของเรา ในไฟล์นี้ เราจะใส่โค้ด PHP ง่ายๆ เพื่อตรวจสอบว่าระบบทำงานได้ถูกต้อง

สร้างไฟล์ index.php ภายในโฟลเดอร์ payment-gateway และใส่โค้ดต่อไปนี้:

<?php

echo "ยินดีต้อนรับสู่ระบบ Payment Gateway!";

?>

โค้ดนี้จะแสดงข้อความ "ยินดีต้อนรับสู่ระบบ Payment Gateway!" เมื่อเราเปิดไฟล์ index.php ในเบราว์เซอร์

3. สร้างไฟล์ composer.json

composer.json เป็นไฟล์ที่สำคัญมาก เพราะเป็นไฟล์ที่ Composer ใช้ในการจัดการ dependencies ของโปรเจกต์ของเรา ในไฟล์นี้ เราจะกำหนดว่าโปรเจกต์ของเราต้องการ Library อะไรบ้าง และ Composer จะทำการดาวน์โหลดและติดตั้ง Library เหล่านั้นให้เราโดยอัตโนมัติ

สร้างไฟล์ composer.json ภายในโฟลเดอร์ payment-gateway และใส่โค้ดต่อไปนี้:

{
    "name": "your-username/payment-gateway",
    "description": "A simple payment gateway system using PHP.",
    "type": "project",
    "require": {
        "php": "^7.4 || ^8.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

มาดูกันว่าแต่ละส่วนในไฟล์ composer.json หมายถึงอะไร:

  • name: ชื่อของโปรเจกต์ของคุณ โดยทั่วไปจะอยู่ในรูปแบบ vendor/package (เช่น your-username/payment-gateway)
  • description: คำอธิบายสั้นๆ เกี่ยวกับโปรเจกต์ของคุณ
  • type: ประเภทของโปรเจกต์ (ในที่นี้คือ project)
  • require: กำหนด dependencies ที่โปรเจกต์ของเราต้องการ ในที่นี้เรากำหนดว่าต้องการ PHP เวอร์ชั่น 7.4 หรือ 8.0 ขึ้นไป
  • autoload: กำหนดวิธีการโหลดคลาสต่างๆ ในโปรเจกต์ของเรา โดยใช้มาตรฐาน PSR-4 ในที่นี้เราบอกว่าคลาสที่อยู่ใน namespace App\ จะอยู่ในโฟลเดอร์ src/
  • minimum-stability: กำหนด stability ขั้นต่ำของ dependencies ที่เราต้องการ (ในที่นี้คือ dev ซึ่งหมายถึง development versions)
  • prefer-stable: กำหนดว่าเราต้องการใช้ stable versions ของ dependencies ถ้ามี

ตอนนี้ เราต้องสร้างโฟลเดอร์ src ที่เราได้กำหนดไว้ใน autoload:

mkdir src

หลังจากสร้างไฟล์ composer.json แล้ว เราต้องรันคำสั่ง composer install เพื่อติดตั้ง dependencies ที่เราได้กำหนดไว้ในไฟล์

ใน Command Prompt หรือ Terminal ที่อยู่ในโฟลเดอร์ payment-gateway ให้รันคำสั่ง:

composer install

Composer จะทำการดาวน์โหลดและติดตั้ง dependencies ที่เราได้กำหนดไว้ในไฟล์ composer.json และสร้างโฟลเดอร์ vendor ซึ่งเป็นที่เก็บ Library ต่างๆ ที่เราใช้

เมื่อ Composer ติดตั้ง dependencies เสร็จเรียบร้อยแล้ว โครงสร้างโฟลเดอร์และไฟล์ของเราควรจะเป็นดังนี้:

payment-gateway/
├── index.php
├── composer.json
├── composer.lock
└── vendor/
    └── ... (Library ต่างๆ ที่ Composer ติดตั้ง)
└── src/

ไฟล์ composer.lock เป็นไฟล์ที่ Composer สร้างขึ้นเพื่อบันทึกเวอร์ชั่นของ Library ที่เราได้ติดตั้งไว้ เพื่อให้มั่นใจว่าทุกคนที่ทำงานในโปรเจกต์นี้จะใช้ Library เวอร์ชั่นเดียวกัน

สรุป

ในบทนี้ เราได้สร้างโครงสร้างพื้นฐานของโปรเจกต์ Payment Gateway ของเรา โดยการสร้างโฟลเดอร์หลัก สร้างไฟล์ index.php และสร้างไฟล์ composer.json นอกจากนี้ เรายังได้เรียนรู้วิธีการใช้ Composer เพื่อจัดการ dependencies ของโปรเจกต์ของเรา

ในบทถัดไป เราจะมาเริ่มต้นกำหนด Interface สำหรับ Payment Gateway ของเรากันครับ

Office.in.th Custom Service

ต้องการพัฒนาระบบหรือปรับแต่งจากโครงสร้างนี้?

Office.in.th รับพัฒนาและออกแบบ Enterprise Web Application, API Integration และระบบบริหารงานภาครัฐ/เอกชน พร้อมการสนับสนุนระยะยาว

ดูบริการรับพัฒนาซอฟต์แวร์