เวลาเราสร้าง 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 เพื่ออัพเดทข่าวสารใหม่ๆกันครับ