CI ครับ คนเขียนเป็นเยอะ ถามใครก็ตอบได้
หากเป็น ci แล้ว Laravel นั้นคงไม่เหลือบ่ากว่าแรง
ต่างกันราวฟ้ากับเหว ทั้ง Concept ของตัว framework เอง และการใช้งาน cmd line(Composer) ในการติดตั้ง รวมถึงจัดการ package และรวมถึงการใช้ tools ต่างๆด้วย laravel จะมีให้ใช้เยอะแยะมากๆ
CI นี่แทบไม่ต่างกับคำว่า HardCode เลย บางคนเล่นเหมือนเขียน framework คล่อม CI อีกทียังได้เลยทีเดียว... บิด Concept ซะแบบ ไม่ต้องใช้ CI แล้วเอา lib บางตัวไปใช้เถอะ... (เห็นแล้ว shock มาก) - -"
CI อย่างมากก็มีแค่ lib พื้นฐานๆเพิ่มมา และมี Active Record ให้ใช้เล็กน้อย
CI ก็จะดีว่า HardCode จริงๆ ตรงที่พื้นฐานยังเป็น MVC มีกรอบมีทิศทางให้เดินตาม ยังทำให้การจัดการดีกว่า เขียนเป็นไฟล์ๆ เยอะหน่อย
CI เรื่อง Route ก็มีเหมือนไม่มี แต่ Larave Route การจัดการ ACL ต่างๆทำได้เหนือกว่าแบบคนละโลกเลยทีเดียว
Laravel มันทำให้ความเร็วในการ DEV ทวีคูณมาก ผมว่านี่คือสิ่งมหศจรรย์ ของ PHP เลยทีเดียว ผมเองยังไม่เชื่อเลยว่า PHP ที่เป็น OOP แบบไม่เต็มใบจะสามารถมายืน ณ จุดๆนี้ได้
(อิจฉาภาษาอื่นมานานมากส่วนตัวชอบเช่น Ruby On Rails หรือ Java เป็นพิเศษ OOP แท้ๆมันสวยงามจริงๆ)^^
คุณจะใช้ Laravel จำเป็นต้องเข้าใจเรื่อง OOP Pattern หลายๆอย่างเลย โดยเฉพาะ Singleton และ Facade(Optional)
ถ้าไม่เข้าใจมัน ใช้แล้วก็ดูจะลำบาก มันจะส่งผลให้คุณไม่เข้าใจพวก Repository Concept และ package ของมัน
จะน่าเสียดายมากๆ (ในขณะที่ CI คุณแทบจะไม่ต้องสนใจมันซะด้วยซ้ำ - -" อย่างมากก็ระวังเรื่อง lib ที่เวลา load มาแล้วมันจะเป็น Singleton โดยพื้นฐาน )
และต้องเข้าใจเรื่องการ autoloading ของ composer PSR0 หรือ PSR4 ต้องรู้จักมัน ใช้ยังไง ต่างกันยังไง namespace คืออะไร ...??
การติดตั้งเองก็มีขึ้นตอนรวมถึงรูปแบบการใช้ root path ต่างกันด้วย
Laravel หลักๆมีเรื่องของ ORM เข้ามาทำให้การเขียนโปรแกรมเล่นกับ DB เป็นเรื่องง่ายขึ้นเยอะ
Relation แบบต่างๆต้องเข้าใจ ทั้ง 1-1, 1-m, m-m, รวมถึง polymorphic relation และนำมา Apply เข้ากับตัว Eloquent ORM ได้แบบเข้าใจ
ถ้าคุณเขียน active record คงซัดเป็น 10 บรรทัด พอใช้ ORM อาจจะเหลือไม่ถึง 2 บรรทัดเลยทีเดียว (โดยเพฉพาะกรณี m-m, polymorphic relation จะเห็นชัดมาก)
CI กับ Laravel แตกต่างกันมากๆ คุณเป็น CI แล้วบอกว่า Laravel ก็จิ๊บๆอันนี้ไม่น่าจะเป็นไปได้... มันต่างกันเยอะมาก Laravel ใช้ learning curve สูงกว่า CI เยอะสุดๆ(แต่มันก็ตอบแทนมาด้วยความรวดเร็วในการ DEV ที่เพิ่มมากขึ้นสุดๆเช่นกัน)CI คุณรู้แค่ php เว็บเซิฟเวอร์เบื้องต้นก็ พอ...
แต่ในขณะ laravel ไม่ใช่แบบนั้น ต้องเข้าใจเพิ่มขึ้นหลายอย่างมากๆ unix cmd, apache, php config, composer, php artisan จำเป็นต้องรู้และเข้าใจมัน ไม่มีทางที่จะเหมือน CI แค่ copy ไฟล์วางแล้วจบกัน....
มันเริ่มต้นยากกว่า มันดีกว่า มันใหม่กว่า ยังไง Laravel ก็ได้เปรียบเรื่องสายงานกว่าเยอะครับ
ภาพรวม ณ ตอนนี้โปรเจคเก่าๆ น่าจะมี CI อีกเยอะ...
ส่วนโปรเจคใหม่ๆ ในทีมพัฒนาที่ไม่ตกยุค ยากมากที่จะมี CI ให้เห็น...
ค่าตัวเองก็ต่างกันไม่น้อยครับ...
ป.ล. คำถามว่า CI กับ Laravel อันไหน ไปได้สวยกว่ากัน มันตอบง่ายมากๆ ง่ายเกินไป เพราะมันเทียบกันเป้นคนละยุคไปแล้ว ถ้าถามว่า Laravel กับ Yii อันไหน เวิคกว่ากัน มันถึงจะดูสูสีกันหน่อย กลุ่มเป้าหมายที่ใช้ มันใกล้เคียงกัน... อย่าง กสทช. ผมคุยกับคนด้าน Dev ที่นี่เค้าก็เลือก Yii มากกว่า Laravel ในขณะที่ CI คงมีอยู่เฉพาะโปรเจคเก่าๆเท่านั้นถ้าเป็น CI รับไปก็คงได้แต่ไปนั่งดูแลระบบพวกนี้ต่อแทน หรือ เป็น บ.ที่ไม่มีการสร้าง product ใหม่ๆ เน้นขาย product และต่อยอดเอา ถ้าชอบแนวงานแบบนี้ CI ก็อาจจะเป็นคำตอบก็ได้นะ... (มันก็มีข้อดีข้อเสียอยู่ก็อาจต้องดูเพิ่มว่า อยากได้งานประมาณไหนด้วยแล่ะ)