ข้ามไปที่เนื้อหาหลัก

ขั้นตอนการอัพ Laravel จาก 5.1 เป็น 5.2

ปีที่ผ่าน Laravel ได้พัฒนา framework อย่างต่อเนื่อง และโตอย่างรวดเร็วทำให้นักพัฒนาเว็บที่ใช้งานเจ้า framework ตัวนี้ต้องคอยตื่นตัวตลอดเวลา หลายๆ คนมีคำถามว่าถ้าไม่อัพได้มั้ย? คำตอบคือ ได้ แต่แน่นอน คุณจะพลาดระบบใหม่ๆ หรือการแก้ไขช่องโหว่ต่างๆ ที่เคยมีมาในเวอร์ชันก่อนๆ หลายๆ คนเลือกที่จะไม่อัพเกรดเพราะกลัวว่าจะทำให้ระบบทั้งหมดรวน เพราะแต่ละเวอร์ชันมีการเปลี่ยนแปลงเยอะมาก ฟังชันบางตัวก็ยกไปทำให้เราต้องมานั่งแก้ไขกันเยอะเลยทีเดียว


ถึงแม้จะมีข้อเสีย และบางครั้งอาจจะไม่คุ้มกับเวลาที่เสียไป ในโลกของนักพัฒนาคงไม่มีใครอยากล้าหลัง อย่างไรก็ดี จะอัพ หรือไม่นั้น? เจ้าของโปรเจ็ค เจ้าของบริษัท แต่จะเป็นคนตัดสินใจเองว่าคุ้มค่ากับเงิน และเวลาที่จะเสียไปมั้ย?

สำหรับใครที่ตัดสินใจได้แล้วสามารถเข้าไปอ่านต่อได้เลย กับการอัพเกรด Laravel 5.1 เป็น 5.2 จากโปรเจ็คที่พัฒนามาบ้างแล้ว



ขั้นตอนแรกที่ควรทำคือ อัพเดท Composer.json โดยการเพิ่ม
symfony/dom-crawler": "~3.0" และ "symfony/css-selector": "~3.0
ลงในส่วนของ "require-dev"

แต่อย่าเพิ่งสั่งรัน Composer install หรือ update ให้เข้าเช็ค app/config.php ที่ Github ของ Laravel
เนื่องจากในเวอร์ชันนี้มีการเปลี่ยน Auth ใหม่ ดังนั้นไฟล์ app/config.php จะไม่เหมือน 5.1

ตอนนี้เราจะยังอยู่ที่ไฟล์ app/config.php แต่เลื่อนลงไปในส่วนของ provider ให้ลบ
- Illuminate\Foundation\Providers\ArtisanServiceProvider
- Illuminate\Routing\ControllerServiceProvider

แล้วสั่งรัน Composer update

*** ตรงนี้เป็นส่วนเสริมหากใครใช้ Collective Html พอมาถึงเวอร์ชัน 5.2 ได้เปลี่ยนขั้นตอนการลงให้ใน app/config.php ให้ลบออกด้วย รวมถึงในไฟล์ composer.json ด้วยนะ

แล้วเปลี่ยนมาใช้ตัวนี้แทน เพิ่มบรรทัดนี้แทนที่ html ตัวเก่า
composer.json
- "laravelcollective/html": "5.1.*"

app/config.php
Provider
- Collective\Html\HtmlServiceProvider::class

Alias
- 'Form' => Collective\Html\FormFacade::class
- 'Html' => Collective\Html\HtmlFacade::class

แล้วสั่งรัน Composer update

โพสต์ยอดนิยมจากบล็อกนี้

การเพิ่ม Font ภาษาไทยอื่นๆ เข้าไปใช้งานใน MPDF

เนื่องมาจากผมได้มีโอกาสจับงานที่ต้องแปลงหน้าเว็บให้เป็น PDF ลองๆ หาข้อมูลก็ไปเจอเจ้าตัวนี้ MPDF ซึ่งจริงๆ แล้วก็มีให้ใช้งานอีกหลายๆ ตัว สาเหตุที่เลือกใช้งานตัวนี้เพราะมัน ค่อนข้างจะติดตั้ง และใช้งานง่าย และยังสามารถอ้างอิง CSS เข้ามาช่วยจัดหน้าตาใน PDF ได้อีกด้วย ซึ่งผลที่ได้เพี้ยนไปจากตัวจริงไม่มากครับ แต่ที่ทำให้เลือกใช้งานเพราะการเพิ่มฟ้อนท์ภาษาไทย เข้าไปนั้นค่อนข้างง่ายครับ เลยจะขอมาแนะนำดังนี้

มาเข้าใจ และใช้ Datatable ดึงข้อมูลแบบ Server-side ด้วย PHP, MySQL กันเถอะ

มีช่วงหนึงผมเคยนำ datatable มาพัฒนาในงานแต่เกิดปัญหาเนื่องจากมีข้อมูลขนาดใหญ่ ทำให้เกิดการโหลดในครั้งแรกที่โหลดหน้าเพจนั้นๆ เนื่องจากผมใช้ Ajax ในการโหลดข้อมูลทั้งหมดมาในครั้งเดียวด้วยจำนวนข้อมูล 1000 ขึ้น ซึ่งตอนนั้นผมคิดว่าการทำ preload น่าจะช่วยได้ แต่ว่าถ้า user เกิดเผลอไปกด refesh หรือแก้ไขข้อมูลเวลากลับมาที่หน้าข้อมูลก็ต้องโหลดใหม่อีก ทำให้ผมเลิกใช้ datatable ไปเลย เพราะคิดว่ามันคงไม่เหมาะ

แต่ในความจริงแล้ว datatable ก็ได้มีสิ่งที่มาแก้ในจุดนั้นได้ ซึ่งเรียกว่า server-side โดยการที่อนุญาตให้เรา query ข้อมูลออกมาก่อนแล้วส่งมาให้ datatable อ่านข้อมูลในจำนวนที่น้อยลง หลักการก็เหมือนๆ กับบทความการทำสร้าง XML จากข้อมูลขนาดใหญ่นั่นแหละครับ แต่มีเงื่อนไขเพียงแต่ว่า ต้อง Filter และส่งข้อมูลออกมาในรูปแบบที่ตรงตามหลักของ datatable เท่านั้น ( บางครั้งเวลาเข้าไปอ่าน Document หรือดู Example จะงงๆ ว่าอะไรเยอะแยะ ) โดยวันนี้จะมาแนะนำการใช้งานแบบง่ายๆ กันเลย :D

ปลดล็อคความสามารถให้กับ Sublime Text ตอนที่ 2

ความเดิมจากตอนที่แล้วสำหรับตอนที่ 2 นี้ ผมจะมาแนะนำ plugin ที่น่าใช้สำหรับ Web Development นะครับ ซึ่งความจริงแล้วก็มีให้เราเลือกเลือกใช้มากมาย สามารถ search google ได้ด้วยคำว่า "sublime popular package" ซึ่งทาง Sublime Text ได้จัดอันดับไว้ให้เราด้วย สามารถเข้าไปเลือกดู เลือกโหลดกันตามใขชอบเลยครับ แต่ผมจะมาขอแนะนำ ตัวที่คิดว่าลงแล้วใช้งานได้จริงแน่ๆ มาฝากกันครับ