สร้าง Function ไว้ใช้เองใน Laravel 6

สร้าง Helper Function ใน Laravel 6
สร้าง Helper Function ใน Laravel 6

เวลาเราสร้าง Application ก็มักจะมี Functions ต่างๆที่เราใช้บ่อยๆและใช้หลายจุดแน่นอนว่าเราคงไม่ copy ไปวางไว้ทุก Controller หรือ model แน่นอนวันนี้เราจะมาลองสร้าง function เพื่อใช้งานใน Laravel Framework กัน

สร้างไฟล์ Function ที่เราต้องการ

ผมขอยกตัวอย่างเป็น Function ดึงวินาทีจากเวลากัน โดยการทำงานคือใส่ time stamp เข้าไปแล้ว Function จะ return เฉพาะเวลาออกมา

if (! function_exists('getTimeFromDate')) {
    function getTimeFromDate($strDate, $second = true)
    {
        $hour = date('H', strtotime($strDate));
        $minute = date('i', strtotime($strDate));
        $seconds = date('s', strtotime($strDate));

        if ($second) {
            return "$hour:$minute:$seconds";
        }

        return "$hour:$minute";
    }
}

โดยเราอาจจะสร้างไฟล์ไว้ที่

app\Helpers\times.php
หรือ
bootstrap\Helpers\times.php

จากนั้นให้เราเปิดไฟล์ Composer.json

เพิ่มบรรทัดนี้เข้าไปที่ Object “autoload” จากตัวอย่างผมวางไฟล์ settings.php ไว้ที่ Folder app/helpers/settings.php เราก็จะได้หน้าแบบนี้

"files": [
    "app/helpers/settings.php"
]

หน้าตาทั้งหมดก็จะได้แบบนี้บรรทัดที่เราเพิ่มคือ 2 – 4

"autoload": {
	"files": [
		"app/helpers/settings.php"
	],
	"psr-4": {
		"App\\": "app/"
	},
	"classmap": [
		"database/seeds",
		"database/factories"
	]
}

หลังจากนั้นเพียงแค่พิมพ์คำสั่ง

composer dump-autoload

เพียงเท่านี้เราก็สามารถเรียก function ใน

  • Blade Template
  • Class
  • Model
  • Controller

เรียกว่าที่ไหนก็ได้ใน project เลยทีเดียว หวังว่าเพื่อนๆจะได้เทคนิคดีๆในการใช้งาน Laravel Framework กันนะครับ ยังไงฝากติดตาม Facebook Page เพื่ออัพเดทข่าวสารใหม่ๆกันครับ

เกี่ยวกับผู้เขียน

ITTHIPAT

สวัสดีครับผม อิทธิพัทธ์ (เป้) ชอบหาเทคนิคต่างๆที่ทำให้ชีวิต Programmer ง่ายขึ้น ทั้ง Automate, Library ชอบทำ Blog และ Video ถ้ามีเวลานะ!

ขอบคุณทุกคนที่ติดตาม และอ่านบทความของผมครับ ผมหวังว่าความรู้ที่เขียนขึ้นในเว็บไซต์นี้จะช่วยทุกท่านได้ไม่มากก็น้อย 

Scroll to Top