Home » Laravel » สร้าง 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 Thitsarak

สวัสดีครับผม อิทธิพัทธ์ (เป้) เป็น Freelance Web developer ชอบหาเทคนิคต่างๆที่ทำให้ชีวิต Programmer ง่ายขึ้นโดย Blog นี้จะ สอน Laravel, Vuejs, CSS, HTML 5 และอื่นๆ ที่เกี่ยวกับการทำเว็บไซต์

ขอบคุณทุกคนที่ติดตาม และอ่านบทความของผมครับ หากใครมีคำถามหรืออยากให้ผมเขียนเกี่ยวกับเรื่องอะไรเพิ่มเติม สามารถแสดงความคิดเห็นไว้ที่ใต้บทความ หรือส่งเรื่องเข้ามาที่ Email ได้เลยครับ หัวข้อไหนน่าสนใจ ผมจะหยิบมาเขียนบทความให้ได้อ่านกันเรื่อยๆครับ

Scroll to Top