การ Test Upload ไฟล์ใน Laravel
Laravel มี ตัวช่วยสำหรับการทดสอบ file upload โดยอาศัย method fake() ในคลาส UploadFile หรือใน facade Storage
เคล็ดลับ HTML ที่เราอาจไม่เคยรู้
ในบทความนี้ผมจะมาแชร์เคล็ดลัดในภาษา HTML ที่คุณอาจจะไม่เคยรู้มาก่อนให้รู้จักกัน
เลือกรหัสสีบนหน้าจอบน Windows ด้วย Color Picker
เวลาที่เราออกแบบกราฟฟิกหรือพัฒนา User Interface ใด ๆ การเลือกสีให้ถูกตามที่ Design ออกมาก็เป็นเรื่องสำคัญอย่างยิ่ง บางครั้ง Designer ไม่ได้บอกรหัสสีมาให้เราหรือวิธีการไปดูรหัสสีอาจไม่สะดวกนัก จริง ๆ แล้วใน Windows มี PowerToys ที่มีเครื่องมือ Color Picker ให้เราเลือกรหัสสีจากตำแหน่งบนหน้าจอใด ๆ ด้วยคีย์ลัดและคลิกเดียว
Validation Rule สำหรับตรวจสอบรหัสบัตรประชาชน
ในการสมัครใช้งานระบบหลาย ๆ ครั้งต้องมีการยืนยันตัวตนผู้ใช้งานด้วยรหัสบัตรประชาชน ใน Laravel สามารถทำการตรวจสอบรหัสบัตรประชาชนได้ผ่าน package Thai ID Card Validation
เทคนิคทำ Tooltip ด้วย Tailwindcss
เวลาเราทำ UI บนเว็บไซต์ เรามักใช้ Icon เพื่อแสดง Action หรือ Status ของรายการที่เราแสดงอยู่ แต่บางครั้งใช้แค่ icon อย่างเดียวอาจไม่สื่อความหมายที่ชัดเจนให้แก่ผู้ใช้งาน บางทีเราก็อยากให้มี tooltip โชว์ขึ้นมาตอนที่ผู้ใช้เอาเมาส์มาวางบน icon ไว้ แต่ tooltip ที่แสดง default จาก browser ก็ไม่ค่อยสวยเท่าไหร่แล้วจัดสไตล์ก็ไม่ได้ด้วย ในบทความนี้เราจะมาแสดงเทคนิค implement tooltip ง่าย ๆ ที่เราปรับไสตล์ให้เข้ากับ theme เว็บไซต์เราได้ ด้วย tailwindcss ให้ดูกัน
PHP 8.1 เพิ่มการรองรับ Enum
PHP 8.1 กำลังอยู่ระหว่างการพัฒนาและคาดว่าจะเริ่มปล่อยให้ใช้ได้ช่วงปลายเดือน พฤศจิกายน 2021 ฟีเจอร์หนึ่งที่เพิ่มขึ้นมาคือการอองรับ Enum
วิธี Run Job หลังจาก Commit Database Transaction แล้วเท่านั้นใน Laravel
การใช้ Database Transaction เป็นเครื่องมือที่ทำให้เรามั่นใจได้เรื่อง Data Integrity ว่าข้อมูลจะไม่ถูกบันทึกลง Database แบบครึ่ง ๆ กลาง ๆ กรณีที่มี Error เกิดขึ้น ตั้งแต่ แต่หากใน Transaction เรามีการ run job ไปแล้วก่อนที่จะเกิด Error Job นั้นอาจถูกทำงานทั้ง ๆ ที่ยังไม่ควรจะทำ ตั้งแต่ Laravel 8.19.0 เป็นต้นไปได้เพิ่มการป้องกันลักษณะนี้ไว้แล้วด้วยการระบุ property $afterCommit ไว้ที่ Job หรือ Queue ที่เราต้องการให้ทำงานหลังจาก Transaction เสร็จสมบูรณ์แล้วเท่านั้น
PHP 8.1 เพิ่มการรองรับ Array unpacking ด้วย string keys
ตั้งแต่ PHP 7.4 ได้มีการรองรับการทำ array unpack อยู่แล้ว ซึ่งมีความสามารถเหมือน Object spreading ใน javascript แต่ว่ารองรับการใช้งานเฉพาะกรณีที่ key เป็น integer เท่านั้น ใน PHP 8.1 ได้เพิ่มการรองรับ array unpack แบบที่ใช้ string เป็น key ได้แล้ว
สร้าง Sitemap บนเว็บไซต์ด้วย Laravel ทำได้อย่างไร?
การทำ Sitemap เป็นการช่วยบอก Crawler ของ Search Engine รู้ได้ว่าเว็บไซต์ของเรามี link อะไรที่สามารถค้นพบได้บ้าง ใบบทความนี้จะมาสอนการทำ Sitemap สำหรับเว็บไซต์ที่เขียนด้วย Laravel โดยใช้ package spatie/laravel-sitemap
Syntax ใหม่ใน PHP 8 มาดูกัน
PHP ได้ออกเวอร์ชัน 8.0 มาตั้งแต่วันที่ 26 พ.ย. 63 โดยได้เพิ่มความสามารถใหม่ ๆ และ syntax ของภาษาให้ทันสมัยมากยิ่งขึ้น ในบทความนี้เราจะมา highlight ฟีเจอร์ใหม่ของ PHP 8 ที่น่าสนใจที่เราน่าจะได้ใช้ในการเขียน code ของเราทั่วไปกัน
20 เทคนิคใน Laravel Eloquent Model ที่เราอาจไม่รู้
นอกจาก คลาส Eloquent Model ใน Laravel จะมีการใช้งานที่ง่ายดาย ช่วยให้เราเขียน code ติดต่อกับฐานข้อมูลได้ง่ายแล้ว คลาส Model ยังมี function ซ่อนไว้อีกมากมาย ในบทความนี้เราจะลองมาดูเทคนิดการเขียน code หลาย ๆ แบบที่จะช่วยให้คลาสของเราอ่านง่ายมากขึ้น บางเทคนิคช่วยลด code จากเดิมที่เราเขียนหลายบรรทัดทำให้เหลือเขียน code เพียงบรรทัดเดียวแล้วยังทำงานได้เหมือนเดิม
Laravel Model Event ใช้อย่างไร
Laravel Model Event ช่วยให้เราแทรกการทำงานเข้าไปในจุดต่าง ๆ ตาม Model Lifecycle และสามารถป้องกันการบันทึกหรือการลบข้อมูลได้ ใน Laravel model event documentation ได้วางโครงให้เราเห็นว่าเราจะ hook เข้าไปใน event เหล่านี้ได้อย่างไรโดยการใช้คลาส Event แต่ในบทความนี้เราจะมาโฟกัสไปที่รายละเอียดเพิ่มเติมในการตั้งค่า Model Event และ Listener
Laravel Validation ขั้นพื้นฐาน มีอะไรบ้าง
สิ่งสำคัญอย่างนึงในการพัฒนาโปรเจคใน Laravel คือการรู้ว่าเราจะทำการ validate ข้อมูลที่ผู้ใช้ป้อนเข้ามาได้อย่างไรบ้าง Laravel รองรับวิธีการทำ validation ได้หลายแบบในบทความนี้เราจะมาดูวิธีการทำ validation ใน Controller, Form Request และ Rule
6 เทคนิค Eloquent ที่ช่วยให้ code ดูอ่านง่ายขึ้น
Eloquent เป็น ORM ที่มาพร้อมกับ Laravel มีการใช้งานแบบ Active Record และทำให้เราสามารถติดต่อกับ database ได้ง่าย แต่ละ Model ใช้แทนตารางในฐานข้อมูลที่เราทำงานด้วย ในบทความนี้เราจะพาไปดูเคล็ดลับ method และ property ที่นักพัฒนาหลาย ๆ คนอาจจะไม่รู้ว่าจะช่วยปรับปรุง code ของเราให้ทำงานดีขึ้นได้
เพิ่มประสิทธิภาพ Laravel Eloquent Queries ด้วย Eager Loading
Object Relational Mapping หรือ ORM ช่วยให้การติดต่อกับฐานข้อมูลทำได้อย่างง่ายดาย การกำหนด Relationships ในแต่ละตารางแบบ Object-Oriented ทำให้เราสามารถสร้าง query ตาม Model ที่เกี่ยวข้องได้ โดยที่เราไม่ต้องสนใจการติดต่อกับฐานข้อมูลในเบื้องหลัง
เกี่ยวกับ phattarachai.dev
ผมอ๊อฟนะครับ เป็นผู้ประกอบการอิสระ ที่ปรึกษาทางด้าน Web Application Development ให้แก่องค์กร ธุรกิจ SME
และหน่วยงานราชการ
Web Developer ผู้มีใจรักใน Laravel เป็นพาร์ทเนอร์บริษัท Digital Agency ชั้นนำทางด้าน UX/UI
เพื่อพัฒนาโปรเจคให้แก่ลูกค้า
ผมช่วยสร้างเครื่องมือทางด้าน Web ที่มีคุณภาพให้ผู้ประกอบการดำเนินธุรกิจได้ง่ายขึ้นใช้งานได้จริง
เน้นประสบการณ์ ความชำนาญ ผลงานคุ้มค่าเทียบเท่าจ้างงานกับบริษัทใหญ่ ๆ
ยามว่าง ๆ ชอบเล่นเกมส์บน Steam ครับ