Site icon บริษัท โค๊ดบี จำกัด

ข้อแตกต่างระหว่าง Codeigniter 4 vs Codeigniter 3 และพื้นฐานการใช้งาน

ข้อแตกต่างระหว่าง Codeigniter4vsCodeigniter3-และพื้นฐานการใช้งาน

ข้อแตกต่างระหว่าง Codeigniter4vsCodeigniter3-และพื้นฐานการใช้งาน

&NewLine;<figure class&equals;"wp-block-video"><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">เกริ่นก่อนว่า Codeigniter เป็น PHP MVC Framework ตัวแรก ๆ ที่เกิดขึ้นและเป็นเฟรมเวิร์คหลักในการพัฒนาเว็บไซต์ ที่ได้รับความนิยมอย่างแพร่หลายไปทั่วโลก<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">Codeigniter เวอร์ชั่นแรกที่เปิดให้ใช้งาน เกิดขึ้นตั้งแต่ปี 2006 และเวอร์ชั่นที่ได้รับความนิยมอย่างมากคือ เวอร์ชั่น 3 เปิดให้ใช้งานเมื่อปี 2015 หรือเมื่อ 5 ปีที่แล้ว &lpar; ใช้ PHP เวอร์ชั่น 5&period;6 &rpar; และออกเวอร์ชั่นล่าสุด คือ Codeigniter 4 เพื่อรองรับ PHP 7&period;2&plus; ซึ่งมีความแตกต่างอย่างสิ้นเชิงกับเวอร์ชั่นก่อนหน้านี้ <&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">ช่วงระยะเวลาระหว่างเวอร์ชั่น 2 กว่าจะออกเวอร์ชั่น 4 บนโลกอินเตอร์มีการเปลี่ยนแปลงเทคโนโลยีหลายอย่าง PHP มีการออกเวอร์ชั่น 7 ที่ใหม่กว่าและเสถียรกว่า ทำให้เกิดเฟรมเวิร์คที่ใหม่กว่าและรองรับ พีเอชพี 7 เกิดขึ้นมาทดแทน CI3 ที่ยังใช้ พีเอพีเวอร์ชั่น 5&period;6 อยู่ จนในที่สุด CI4 ก็เปิดให้ใช้งานในปี 2018 ซึ่งก็ถือว่าออกมาช้ากว่าเฟรมเวิร์คตัวอื่น ๆ มาก หลังจากเปลี่ยนทีมพัฒนา &lpar; จาก EllisLab เป็น BCIT &rpar; <&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">ด้วยโครงสร้างของภาษา PHP เวอร์ชั่น 7 ที่แตกต่างจาก PHP เวอร์ชั่น 5 อยู่พอสมควร ซึ่งอาจจะเป็นปัญหาสำหรับคนที่ต้องการเปลี่ยนจาก CI3 ไปใช้งาน CI4 เราจึงได้สรุป ข้อแตกต่าง การใช้งาน การตั้งค่าพื้นฐาน ระหว่าง 2 เวอร์ชั่น มาให้ดูเพื่อให้เห็นภาพชัดเจน และปรับใช้งานเวอร์ชั่นที่ใหม่กว่าได้ง่ายขึ้น<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<div style&equals;"height&colon;30px" aria-hidden&equals;"true" class&equals;"wp-block-spacer"><&sol;div>&NewLine;&NewLine;&NewLine;&NewLine;<h3 class&equals;"wp-block-heading">ข้อแตกต่างระหว่าง CI3 และ CI4<&sol;h3>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li>เรื่อง PHP Version ที่แตกต่างกัน CI3 ยังคงใช้ PHP 5&period;x ที่ไม่มีการ Support แล้ว ส่วน CI4 จะต้องเป็น PHP 7&period;2&plus; ขึ้นไปเท่านั้น<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-preformatted">&dollar;minPHPVersion &equals; '7&period;2'&semi;&NewLine;if &lpar;phpversion&lpar;&rpar; < &dollar;minPHPVersion&rpar;&NewLine;&lbrace;&NewLine;&Tab;die&lpar;"Your PHP version must be &lbrace;&dollar;minPHPVersion&rcub; or higher to run CodeIgniter&period; Current version&colon; " &period; phpversion&lpar;&rpar;&rpar;&semi;&NewLine;&rcub;<&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<div style&equals;"height&colon;30px" aria-hidden&equals;"true" class&equals;"wp-block-spacer"><&sol;div>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li><strong>Project Structure<&sol;strong> โครงสร้างโปรเจค File และ Folder ที่แตกต่างกัน ตามรูปด้านล่าง แต่คนที่ใช้ CI3 มาก่อน ก็คงพอจะเข้าใจได้ไม่ยาก<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;www&period;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2020&sol;08&sol;ci4-vs-ci3-940x359&period;png" alt&equals;"" class&equals;"wp-image-5409" data-full&equals;"https&colon;&sol;&sol;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2020&sol;08&sol;ci4-vs-ci3&period;png" data-full-size&equals;"1674x640" &sol;><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<div style&equals;"height&colon;30px" aria-hidden&equals;"true" class&equals;"wp-block-spacer"><&sol;div>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li><strong>Development Mode<&sol;strong> ในขั้นตอนการพัฒนา CI3 จะทำงานที่ Root ของโปรเจค ส่วน CI4 จะทำงานที่ Public โฟลเด้อก่อน แล้วค่อยย้ายออกมาในเวอร์ชั่น Production ตัวอย่าง URL ตามรูปด้านล่าง <&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;www&period;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2020&sol;08&sol;ci4-vs-ci3-1-940x567&period;png" alt&equals;"" class&equals;"wp-image-5411" data-full&equals;"https&colon;&sol;&sol;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2020&sol;08&sol;ci4-vs-ci3-1&period;png" data-full-size&equals;"2746x1656" &sol;><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<div style&equals;"height&colon;30px" aria-hidden&equals;"true" class&equals;"wp-block-spacer"><&sol;div>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li><strong>Project Setting<&sol;strong> การตั้งค่าพื้นฐานของโปรเจคที่แตกต่างกัน<ul><li><strong>Mode<&sol;strong> ปกติ CI3 จะตั้งค่าโหมด Test &sol; Development &sol; Production ได้ที่ไฟล์ index&period;php โดยตรงเลย ส่วน CI4 จะตั้งค่าที่ CI&lowbar;ENVIRONMENT ไฟล์ &period;env<&sol;li><li><strong>BaseURL<&sol;strong> ปกติ CI3 ตั้งค่าที่ application&sol;config&sol;config&period;php ส่วน CI4 จะตั้งค่าที่ app&sol;Config&sol;App&period;php<&sol;li><li><strong>Writable Folder &amp&semi; File<&sol;strong> ปกติ CI3 เราจะต้องสร้างโฟลเด้อขึ้นมาเอง ทั้ง upload&comma; cache&comma; temp&comma; sessions แล้วใช้ command chmod เพื่อให้เขียนไฟล์ลงไปได้ แต่ใน CI4 จะมีการจัดเก็บที่เป็นระเบียบมากขึ้น โดยจะเก็บไว้ที่โฟลเด้อ writable &lpar; ตอนติดตั้งโปรเจคครั้งแรก ต้อง chmod 777 โฟลเด้อนี้ก่อน &rpar;<&sol;li><&sol;ul><&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<div style&equals;"height&colon;30px" aria-hidden&equals;"true" class&equals;"wp-block-spacer"><&sol;div>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li><strong>การ Autoloading <&sol;strong>โดยปกติใน CI3 จะต้องเขียน autoload เป็นไฟล์ ๆ ไป แต่ใน CI4 จะมีการใช้ namespace เต็มรูปแบบ ตรงนี้เองที่ทำให้การทำงานเร็วขึ้นกว่าเดิม ไม่จำเป็นต้องเขียน Load model&comma; Load libraries ต่าง ๆ แล้ว ลองเปรียบเทียบการใช้งาน ให้เห็นความแตกต่างระหว่าง CI3 และ CI4 ตัวอย่างตามภาพด้านล่าง<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;www&period;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2020&sol;08&sol;ci4-vs-ci3-2-1-940x567&period;png" alt&equals;"" class&equals;"wp-image-5414" data-full&equals;"https&colon;&sol;&sol;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2020&sol;08&sol;ci4-vs-ci3-2-1&period;png" data-full-size&equals;"2746x1656" &sol;><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<div style&equals;"height&colon;30px" aria-hidden&equals;"true" class&equals;"wp-block-spacer"><&sol;div>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li><strong>การใช้งาน Model<&sol;strong> การ query ข้อมูลใน CI4 จะมีรูปแบบที่ได้มาตรฐานขึ้นกว่าเดิมมาก จะใช้คุณสมบัติของ model ต้นแบบที่สืบทอดมา &lpar; extends model &rpar; มากขึ้น ซึ่งสามารถดู properties ทั้งหมดได้ที่ <strong>system&bsol;Model&period;php<&sol;strong> <ul><li>จากรูปด้านล่าง จะสังเกตุว่า CI4 มี เมธอด มาให้เราใช้งานค่อนข้างครบถ้วน โดยไม่ต้องเขียน เมธอดเพิ่มเข้ามาเลย เพียงแค่ระบุ Properties ให้ตรงตามความต้องการของเราเท่านั้น ก็สามารถเรียกใช้งานเมธอด รับข้อมูลได้เลย<&sol;li><&sol;ul><&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large is-style-default"><img src&equals;"https&colon;&sol;&sol;www&period;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2020&sol;08&sol;ci4-vs-ci3-3-940x567&period;png" alt&equals;"" class&equals;"wp-image-5416" data-full&equals;"https&colon;&sol;&sol;codebee&period;co&period;th&sol;labs&sol;wp-content&sol;uploads&sol;2020&sol;08&sol;ci4-vs-ci3-3&period;png" data-full-size&equals;"2746x1656" &sol;><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<div style&equals;"height&colon;30px" aria-hidden&equals;"true" class&equals;"wp-block-spacer"><&sol;div>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li><strong>การโหลด view<&sol;strong> ไม่ได้มีอะไรเปลี่ยนแปลงมาก เพียงแต่ CI4 จะมีการเขียนโหลด view ที่สั้นลงกว่าเดิมเท่านั้น <&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-preformatted">&dollar;this->load->view&lpar;'welcome&lowbar;message'&rpar;&semi; &sol;&sol; โหลด view ใน CI3&NewLine;return view&lpar;'welcome&lowbar;message'&rpar;&semi; &sol;&sol; โหลด view ใน&ZeroWidthSpace; CI4<&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li>การผ่านค่าตัวแปรไปที่ view ยังมีรูปแบบการใช้งานเหมือนเดิม<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-preformatted">&dollar;PAGE &equals; &lbrack;&NewLine; 'title' &equals;> "My Title"&comma;&NewLine; 'description' &equals;> "My Description"&comma;&NewLine; 'keyword' &equals;> "My Keyword"&NewLine;&rsqb;&semi;&NewLine;echo view&lpar;'welcome&lowbar;message'&comma; &dollar;PAGE&rpar;&semi;<&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<div style&equals;"height&colon;50px" aria-hidden&equals;"true" class&equals;"wp-block-spacer"><&sol;div>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list"><li>สรุปการเปลี่ยนจาก CI3 มาใช้งาน CI4 เพื่อ Performance ที่ดีกว่า ปลอดภัยกว่า ใช้เวลาในการศึกษาไม่นานครับ ทั้งคนที่เคยใช้ CI3 หรือ ยังไม่เคยใช้มาก่อน สามารถทำความเข้าใจได้ไม่ยาก<&sol;li><&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;

Exit mobile version