การ Test Upload ไฟล์ใน Laravel
16 มกราคม 2565

การ Test Upload ไฟล์ใน Laravel

Laravel มี ตัวช่วยสำหรับการทดสอบ file upload โดยอาศัย method fake() ในคลาส UploadFile หรือใน facade Storage

เคล็ดลับ HTML ที่เราอาจไม่เคยรู้
7 เมษายน 2564

เคล็ดลับ HTML ที่เราอาจไม่เคยรู้

ในบทความนี้ผมจะมาแชร์เคล็ดลัดในภาษา HTML ที่คุณอาจจะไม่เคยรู้มาก่อนให้รู้จักกัน

เลือกรหัสสีบนหน้าจอบน Windows ด้วย Color Picker
6 มีนาคม 2564

เลือกรหัสสีบนหน้าจอบน Windows ด้วย Color Picker

เวลาที่เราออกแบบกราฟฟิกหรือพัฒนา User Interface ใด ๆ การเลือกสีให้ถูกตามที่ Design ออกมาก็เป็นเรื่องสำคัญอย่างยิ่ง บางครั้ง Designer ไม่ได้บอกรหัสสีมาให้เราหรือวิธีการไปดูรหัสสีอาจไม่สะดวกนัก จริง ๆ แล้วใน Windows มี PowerToys ที่มีเครื่องมือ Color Picker ให้เราเลือกรหัสสีจากตำแหน่งบนหน้าจอใด ๆ ด้วยคีย์ลัดและคลิกเดียว

Validation Rule สำหรับตรวจสอบรหัสบัตรประชาชน
6 มีนาคม 2564

Validation Rule สำหรับตรวจสอบรหัสบัตรประชาชน

ในการสมัครใช้งานระบบหลาย ๆ ครั้งต้องมีการยืนยันตัวตนผู้ใช้งานด้วยรหัสบัตรประชาชน ใน Laravel สามารถทำการตรวจสอบรหัสบัตรประชาชนได้ผ่าน package Thai ID Card Validation

เทคนิคทำ Tooltip ด้วย Tailwindcss
23 กุมภาพันธ์ 2564

เทคนิคทำ Tooltip ด้วย Tailwindcss

เวลาเราทำ UI บนเว็บไซต์ เรามักใช้ Icon เพื่อแสดง Action หรือ Status ของรายการที่เราแสดงอยู่ แต่บางครั้งใช้แค่ icon อย่างเดียวอาจไม่สื่อความหมายที่ชัดเจนให้แก่ผู้ใช้งาน บางทีเราก็อยากให้มี tooltip โชว์ขึ้นมาตอนที่ผู้ใช้เอาเมาส์มาวางบน icon ไว้ แต่ tooltip ที่แสดง default จาก browser ก็ไม่ค่อยสวยเท่าไหร่แล้วจัดสไตล์ก็ไม่ได้ด้วย ในบทความนี้เราจะมาแสดงเทคนิค implement tooltip ง่าย ๆ ที่เราปรับไสตล์ให้เข้ากับ theme เว็บไซต์เราได้ ด้วย tailwindcss ให้ดูกัน

PHP 8.1 เพิ่มการรองรับ Enum
19 กุมภาพันธ์ 2564

PHP 8.1 เพิ่มการรองรับ Enum

PHP 8.1 กำลังอยู่ระหว่างการพัฒนาและคาดว่าจะเริ่มปล่อยให้ใช้ได้ช่วงปลายเดือน พฤศจิกายน 2021 ฟีเจอร์หนึ่งที่เพิ่มขึ้นมาคือการอองรับ Enum

วิธี Run Job หลังจาก Commit Database Transaction แล้วเท่านั้นใน Laravel
12 กุมภาพันธ์ 2564

วิธี 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
12 กุมภาพันธ์ 2564

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 ทำได้อย่างไร?
7 กุมภาพันธ์ 2564

สร้าง Sitemap บนเว็บไซต์ด้วย Laravel ทำได้อย่างไร?

การทำ Sitemap เป็นการช่วยบอก Crawler ของ Search Engine รู้ได้ว่าเว็บไซต์ของเรามี link อะไรที่สามารถค้นพบได้บ้าง ใบบทความนี้จะมาสอนการทำ Sitemap สำหรับเว็บไซต์ที่เขียนด้วย Laravel โดยใช้ package spatie/laravel-sitemap

Syntax ใหม่ใน PHP 8 มาดูกัน
6 กุมภาพันธ์ 2564

Syntax ใหม่ใน PHP 8 มาดูกัน

PHP ได้ออกเวอร์ชัน 8.0 มาตั้งแต่วันที่ 26 พ.ย. 63 โดยได้เพิ่มความสามารถใหม่ ๆ และ syntax ของภาษาให้ทันสมัยมากยิ่งขึ้น ในบทความนี้เราจะมา highlight ฟีเจอร์ใหม่ของ PHP 8 ที่น่าสนใจที่เราน่าจะได้ใช้ในการเขียน code ของเราทั่วไปกัน

20 เทคนิคใน Laravel Eloquent Model ที่เราอาจไม่รู้
6 กุมภาพันธ์ 2564

20 เทคนิคใน Laravel Eloquent Model ที่เราอาจไม่รู้

นอกจาก คลาส Eloquent Model ใน Laravel จะมีการใช้งานที่ง่ายดาย ช่วยให้เราเขียน code ติดต่อกับฐานข้อมูลได้ง่ายแล้ว คลาส Model ยังมี function ซ่อนไว้อีกมากมาย ในบทความนี้เราจะลองมาดูเทคนิดการเขียน code หลาย ๆ แบบที่จะช่วยให้คลาสของเราอ่านง่ายมากขึ้น บางเทคนิคช่วยลด code จากเดิมที่เราเขียนหลายบรรทัดทำให้เหลือเขียน code เพียงบรรทัดเดียวแล้วยังทำงานได้เหมือนเดิม

Laravel Model Event ใช้อย่างไร
1 กุมภาพันธ์ 2564

Laravel Model Event ใช้อย่างไร

Laravel Model Event ช่วยให้เราแทรกการทำงานเข้าไปในจุดต่าง ๆ ตาม Model Lifecycle และสามารถป้องกันการบันทึกหรือการลบข้อมูลได้ ใน Laravel model event documentation ได้วางโครงให้เราเห็นว่าเราจะ hook เข้าไปใน event เหล่านี้ได้อย่างไรโดยการใช้คลาส Event แต่ในบทความนี้เราจะมาโฟกัสไปที่รายละเอียดเพิ่มเติมในการตั้งค่า Model Event และ Listener

Laravel Validation ขั้นพื้นฐาน มีอะไรบ้าง
1 กุมภาพันธ์ 2564

Laravel Validation ขั้นพื้นฐาน มีอะไรบ้าง

สิ่งสำคัญอย่างนึงในการพัฒนาโปรเจคใน Laravel คือการรู้ว่าเราจะทำการ validate ข้อมูลที่ผู้ใช้ป้อนเข้ามาได้อย่างไรบ้าง Laravel รองรับวิธีการทำ validation ได้หลายแบบในบทความนี้เราจะมาดูวิธีการทำ validation ใน Controller, Form Request และ Rule

6 เทคนิค Eloquent ที่ช่วยให้ code ดูอ่านง่ายขึ้น
31 มกราคม 2564

6 เทคนิค Eloquent ที่ช่วยให้ code ดูอ่านง่ายขึ้น

Eloquent เป็น ORM ที่มาพร้อมกับ Laravel มีการใช้งานแบบ Active Record และทำให้เราสามารถติดต่อกับ database ได้ง่าย แต่ละ Model ใช้แทนตารางในฐานข้อมูลที่เราทำงานด้วย ในบทความนี้เราจะพาไปดูเคล็ดลับ method และ property ที่นักพัฒนาหลาย ๆ คนอาจจะไม่รู้ว่าจะช่วยปรับปรุง code ของเราให้ทำงานดีขึ้นได้

เพิ่มประสิทธิภาพ Laravel Eloquent Queries ด้วย Eager Loading
31 มกราคม 2564

เพิ่มประสิทธิภาพ Laravel Eloquent Queries ด้วย Eager Loading

Object Relational Mapping หรือ ORM ช่วยให้การติดต่อกับฐานข้อมูลทำได้อย่างง่ายดาย การกำหนด Relationships ในแต่ละตารางแบบ Object-Oriented ทำให้เราสามารถสร้าง query ตาม Model ที่เกี่ยวข้องได้ โดยที่เราไม่ต้องสนใจการติดต่อกับฐานข้อมูลในเบื้องหลัง

Phattarachai Chaimongkol

เกี่ยวกับ phattarachai.dev

ผมอ๊อฟนะครับ เป็นผู้ประกอบการอิสระ ที่ปรึกษาทางด้าน Web Application Development ให้แก่องค์กร ธุรกิจ SME และหน่วยงานราชการ
Web Developer ผู้มีใจรักใน Laravel เป็นพาร์ทเนอร์บริษัท Digital Agency ชั้นนำทางด้าน UX/UI เพื่อพัฒนาโปรเจคให้แก่ลูกค้า ผมช่วยสร้างเครื่องมือทางด้าน Web ที่มีคุณภาพให้ผู้ประกอบการดำเนินธุรกิจได้ง่ายขึ้นใช้งานได้จริง เน้นประสบการณ์ ความชำนาญ ผลงานคุ้มค่าเทียบเท่าจ้างงานกับบริษัทใหญ่ ๆ

ยามว่าง ๆ ชอบเล่นเกมส์บน Steam ครับ