
เปลี่ยนเวลาเป็นภาษาไทย ง่ายๆ ด้วย Laravel Helpers
ทำไมต้องเป็น Laravel Helpers
หลายๆ คนอาจจะเจอปัญหาเกี่ยวกับการเปลี่ยนภาษาให้เว็บไซต์ของเรานั้นสามารถใช้งานด้วยภาษาหลักที่เราใช้อยู่ในปัจจุบันได้ เนื่องจากตัวโปรแกรมและเว็บไซต์มีพื้นฐานเป็นภาษาอังกฤษ ซึ่งเป็นภาษาสากลที่ทุกคนสามารถรับรู้และเข้าใจได้ แต่ถ้าเกิดว่าเราต้องการที่จะเปลี่ยนให้เป็นภาษาของเราเองละ ? แน่นอนว่ามันมีความยุ่งยากและซับซ้อนในการปรับเปลี่ยนหรือแก้ไขในกรณีที่เราจำเป็นต้องใช้งานเว็บไซต์ที่มีหลายภาษา Helpers สามารถตอบโจทย์ของคุณได้ อย่างที่รู้กันว่า Laravel มีฟังก์ชั่น helpers ไว้ใช้งานซึ่งเป็นฟังก์ชั่นที่สามารถสร้างครั้งเดียวแล้วสามารถใช้ได้ทุกที่ ที่เราอยากใช้ ซึ่งในบล็อกนี้ผมจะมานำเสนอ Helper.php ไว้สำหรับเรียกใช้ Function กันครับ โดยจะยกตัวอย่างจากการเปลี่ยนเวลาในเว็บไซต์ด้วย Helpers นะครับ
วิธีการ
ให้เราสร้างไฟล์ php ในโฟลเดอร์ app หรือที่ไหนก็ได้ที่เราจะเรียกใช้มัน โดยที่ไฟล์ Helpers จะมี Function ตัวหนึ่งไว้สำหรับ Format วันที่ให้เป็นเวลาไทย ดังนี้

หากต้องการจะศึกษา Carbon เพิ่มเติมว่าใช้งานยังไงและมีความสามารถอะไรบ้าง สามารถศึกษาเพิ่มเติมได้ที่ Carbon
<?php | |
namespace App\Services; | |
use Carbon\Carbon; | |
class ThaiDateHelperService | |
{ | |
public static function simpleDateFormat($arg) | |
{ | |
$thai_months = [ | |
1 => 'ม.ค.', | |
2 => 'ก.พ.', | |
3 => 'มี.ค.', | |
4 => 'เม.ย.', | |
5 => 'พ.ค.', | |
6 => 'มิ.ย.', | |
7 => 'ก.ค.', | |
8 => 'ส.ค.', | |
9 => 'ก.ย.', | |
10 => 'ต.ค.', | |
11 => 'พ.ย.', | |
12 => 'ธ.ค.', | |
]; | |
$date = Carbon::parse($arg); | |
$month = $thai_months[$date->month]; | |
$year = $date->year + 543; | |
return $date->format("j $month $year H:i:s"); | |
} | |
} |
จาก Code ด้านบนเป็นตัวอย่าง Code ง่ายๆ ไว้สำหรับ Format วันเดือนปี เป็นภาษาไทยเบื้องต้น จากนั้นเชื่อมต่อฟังก์ชั่นโดยใช้
@inject('thaiDateHelper', 'App\Services\ThaiDateHelperService')
ในหน้าเว็บที่เราต้องการโดยทำการดึงข้อมูลเวลาที่เราต้องการจะเปลี่ยนภาษาให้เข้าใช้งานฟังก์ชั่น Helpers ดังรูปต่อไปนี้

{{ $ThaiDateHelper->simpleDateFormat($order->created_at) }}
.
เพียงเท่านี้เราก็สามารถเปลี่ยนเวลาเป็นภาษาไทย ได้อย่างง่ายดาย และนี้คือตัวอย่างเว็บไซต์ก่อนและหลังใช้งาน Helpers


นี่เป็นตัวอย่าง helpers นึงนะครับ เราสามารถสร้าง helpers เองกันได้เลยโดยเพิ่ม function ไว้ที่ไฟล์ app/helpers.php ที่นี่เราก็มี helpers ของตัวเองสำหรับโปรเจคของเรากันแล้ว หวังว่าจะมีประโยชน์ต่อผู้อ่านทุกท่านนะครับ วันนี้ขอจบเพียงเท่านี้ครับ :)