Kotchasan Framework Documentation

Kotchasan Framework Documentation

Province

TH 05 Feb 2026 06:23

Province

Kotchasan\Province เป็นคลาสสำหรับจัดการข้อมูลจังหวัด เช่น รายชื่อจังหวัด, การแปลงชื่อเป็น ID (ISO Code), และรองรับหลายภาษา (ไทย/อังกฤษ) ปัจจุบันรองรับข้อมูลของประเทศไทย (TH) และ สปป.ลาว (LA)

การใช้งานพื้นฐาน

การเรียกดูรายชื่อจังหวัดทั้งหมด

use Kotchasan\Province;

// ดึงรายชื่อจังหวัดของประเทศไทย (Default)
// คืนค่าเป็น Array [ISO Code => ชื่อจังหวัด]
$provinces = Province::all('TH');
print_r($provinces);
/*
Array (
    [10] => กรุงเทพมหานคร
    [81] => กระบี่
    ...
)
*/

การดึงชื่อจังหวัดจาก ID (ISO Code)

// ดึงชื่อจังหวัดรหัส 10 (กรุงเทพฯ)
echo Province::get('10'); // "กรุงเทพมหานคร" (ตามภาษาปัจจุบันของเว็บ)

// ระบุภาษา
echo Province::get('10', 'en'); // "Bangkok"
echo Province::get('10', 'th'); // "กรุงเทพมหานคร"

Methods

all(string $country = 'TH'): array

คืนค่ารายชื่อจังหวัดทั้งหมดในรูปแบบ Array key เป็นรหัส ISO และ value เป็นชื่อจังหวัด (ตามภาษาปัจจุบัน)

  • $country: รหัสประเทศ (TH, LA)
  • Returns: Array ของจังหวัด

get(int|string $iso, string $lang = '', string $country = 'TH'): string

ดึงชื่อจังหวัดจากรหัส ISO

  • $iso: รหัสจังหวัด (ISO Code)
  • $lang: ภาษาที่ต้องการ (th, en). ถ้าไม่ระบุจะใช้ภาษาปัจจุบันของระบบ
  • Returns: ชื่อจังหวัด หรือค่าว่างถ้าไม่พบ

getOptions(string $country = 'TH'): array

คืนค่ารายชื่อจังหวัดในรูปแบบที่เหมาะสำหรับทำ Dropdown (Select Box)

  • Returns: Array ของ ['value' => iso, 'text' => name]
$options = Province::getOptions();
/*
Array (
    [0] => Array ('value' => 10, 'text' => กรุงเทพมหานคร)
    ...
)
*/

isoFromProvince(string $province, string $lang = '', string $country = 'TH'): string

ค้นหารหัส ISO จากชื่อจังหวัด (Case-sensitive สำหรับภาษาอังกฤษ)

  • $province: ชื่อจังหวัด
  • Returns: รหัส ISO (string) หรือค่าว่างถ้าไม่พบ
echo Province::isoFromProvince('Bangkok', 'en'); // "10"

countries(): array

คืนค่ารายการรหัสประเทศที่มีข้อมูลจังหวัดในระบบ

  • Returns: ['TH', 'LA']

ประเทศที่รองรับ

  • TH: Thailand (ภาษา th, en)
  • LA: Laos (ภาษา th, la, en)

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

สร้าง Select Tag ด้วย Form Class

use Kotchasan\Province;

$form->add('select', [
    'id' => 'province',
    'label' => 'จังหวัด',
    'options' => Province::all('TH'), // หรือ Province::getOptions('TH') ถ้าต้องการเรียงลำดับอิสระ
    'value' => $user_province
]);