มาดูกันว่า Cakephp คือ อะไร
Cakephp เป็น php framework ตัวนึง
ที่ได้รับความนิยมสูงมากตัวนึงในไทยครับ ถ้าจะวัดจาก Community (เว็บบอร์ด) ก็ถือเป็น php framework ที่ได้รับความนิยมสูงสุดในประเทศครับ
Cakephp |
ข้อดีของ Cakephp คือ
1. เป็น MVC Framework ทำให้ส่วนของข้อมูล ส่วนแสดงผล และส่วนตรรกะแยกออกจากกัน ถ้าเขียนตามโครงสร้างที่ cakephp ได้เตรียมไว้ จะทำให้โปรแกรมมีความเป็นระเบียบ แก้ไขโปรแกรมเพิ่มเติมได้ง่าย
2. มี ORM ลดการเขียนคำสั่ง SQL ซ้ำๆ ให้กลายเป็นคำสั่งในแบบ OOP ทำให้โค้ดอ่านง่ายขึ้น
และช่วยป้องกัน sql injection ได้อย่างดี และนอกจากนั้นยังเป็นคลาสแบบ abstract database layer
ยังสามารถปรับเปลี่ยนไปใช้ database ตัวอื่นได้ง่าย ไม่ว่าจะเป็น mssql oracle mysql postgresql sqlite ฯลฯ
3. เพิ่มคำสั่งที่ช่วยให้ PHP4 สามารถใช้งานบางคำสั่งของ PHP5 ได้
4. มีเอกสารที่ดีมีผู้ใช้จำนวนมากและมี community เยอะมากทำให้สามารถแก้ปัญหาที่เกิดขึ้นได้เร็ว
5. รวมคำสั่งที่จำเป็นต้องใช้งานอยู่เป็นประจำไว้ให้ ทำให้มีคำสั่งให้ใช้งานมากขึ้นกว่า PHP แบบปกติ
6. มีการวางโครงสร้าง folder ไว้อย่างแน่นอน ทำให้คนที่เขียน cakephp เหมือนกันสามารถเขียนโปรแกรมร่วมกันได้ทันที
(ถ้าใน Zend Framework จะสามารถปรับแต่ง folder ได้อย่างยืดหยุ่นซึ่งก็เป็นข้อดีของการจัดระเบียบแบบ manual ได้
แต่เป็นข้อเสียได้เพราะว่า คนอื่นมาอ่านก็ต้องนั่งไล่หา folder กันใหม่)
7. สามารถสร้าง reusable โค้ดได้ที่พร้อมใช้งานในโปรแกรมอื่นๆ ได้อย่างแท้จริง เมื่อเขียนโปรแกรมในรูปแบบ plugin จะทำให้สามารถนำ plugin ดังกล่าวไปใช้ใช้ให้ผู้อื่นนำไปใช้ในโปรแกรมที่เขียนโดยใช้ cakephp ได้ทันที ไม่ต้องกังวลว่าเวลาติดตั้งแล้วจะเผลอไปเขียนไฟล์ทับหรือมีไฟล์หลายๆ โปรแกรมปะปนกันจนตามแก้ไขโค้ดได้ลำบาก
8. คลาสและคำสั่งถูกเขียนขึ้นอย่างเป็นระเบียบสามารถ inherit และนำมาใช้ประโยชน์ได้ง่าย
และ function ส่วนใหญ่โดยเฉพาะส่วนของ Model จะมีการรับส่ง parameter เป็นแบบ named parameter (ชื่อ key ของ array) ทำให้ไม่ต้องจำลำดับ parameter
และมีทำให้ได้จำนวนคำสั่งที่น้อยง่ายต่อการใช้งานแต่มีความสามารถใช้งานได้หลากหลาย
9. ระบบความปลอดภัยที่สูงขึ้น มีคำสั่งที่ช่วยในการสร้างระบบ authentication อย่างเช่น auth และ acl component
และระบบ ตรวจ useragent ช่วยป้องกัน session hijacking ได้ดีขึ้น และมีการวางระบบให้รักษา password อยู่
ในรูปแบบ hash จากการนำ password เข้าร่วมกับ salt (key) ทำให้ password มีความปลอดภัยสูงขึ้น
10. นอกจาก plugin จะสามารถนำกลับมาใช้ใหม่ได้ ในการสร้าง helper,component,behavior เขียนครั้งเดียวและนำกลับมาใช้ใหม่ได้หลายครั้งเช่นกัน ลดปริมาณโค้ดในส่วนของ view,controller,model ลง ทำให้การเขียน application ครั้งต่อๆ ไปมีแนวโน้มที่จะเขียนโค้ดในส่วนหลักน้อยลงเรื่อยๆ
11. จากเดิมถ้าเขียนแบบปกติเวลาเรียกใช้ไฟล์ php จะเรียกได้แบบเดียว แต่ถ้าใช้ router ของ cakephp จะทำให้เปลี่ยน url เป็นแบบไหนก็ได้ อย่างเช่น http://localhost/tests จะสามารถเปลี่ยนเป็น http://localhost/t1 http://localhost/t2 หรืออื่นๆ โดยไม่ต้องไปเปลี่ยนชื่อไฟล์
12. อื่นๆ อีกมากมาย cakephp เป็นเจ้าแห่ง automagic มีระบบที่ช่วยให้เหลือทำให้เหลือโค้ดที่จะต้องเขียนน้อยลงไปอยู่เป็นจำนวนมาก
แต่ก็มีช่องโหว่ทาง security ทะแม่งๆ ออกมาเยอะเหมือนกัน เพราะว่ามันมีจุด auto มากไปเนี่ยแหละ
ดังนั้นถ้าจะใช้ก็ต้องคอยตรวจสอบ update core library กันอยู่เป็นประจำครับ
http://www.phpeveryday.com/articles/CodeIgniter-Form-Creating-Skeleton-P291.html
http://www.codeigniter.in.th/user_guide/libraries/ftp.html
ไม่มีความคิดเห็น