Kotchasan Framework Documentation
Province
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
]);