เปลี่ยนเวลาเป็นภาษาไทย ง่ายๆ ด้วย Laravel Helpers

เปลี่ยนเวลาเป็นภาษาไทย ง่ายๆ ด้วย Laravel Helpers

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

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ทำไมต้องเป็น 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");
}
}
view raw gistfile1.txt hosted with ❤ by GitHub

จาก Code ด้านบนเป็นตัวอย่าง Code ง่ายๆ ไว้สำหรับ Format วันเดือนปี เป็นภาษาไทยเบื้องต้น จากนั้นเชื่อมต่อฟังก์ชั่นโดยใช้
@inject('thaiDateHelper', 'App\Services\ThaiDateHelperService')
ในหน้าเว็บที่เราต้องการโดยทำการดึงข้อมูลเวลาที่เราต้องการจะเปลี่ยนภาษาให้เข้าใช้งานฟังก์ชั่น Helpers ดังรูปต่อไปนี้

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


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

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.