|
|
|
php framework คืออะไรค่ะ php framework เห็นพูดๆกัน มันคืออะไรหรอ เอาไว้ทำอะไร และหาได้จากไหนค่ะ :lol: |
|
|
|
|
|
|
|
ลองหา cakePHP มาเล่นดูครับ อิอิ
|
|
|
|
|
Date :
2009-05-29 13:46:09 |
By :
danya |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้ว cakePHP คืออะไรอ่ะ
|
|
|
|
|
Date :
2009-05-29 13:48:14 |
By :
Avrill |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cakephp เป็น php framework ตัวนึงที่ได้รับความนิยมสูงมากตัวนึงในไทยครับ
ถ้าจะวัดจาก community (เว็บบอร์ด) ก็ถือเป็น php framework ที่ได้รับความนิยมสูงสุดในประเทศครับ
ข้อดีของ 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 กันอยู่เป็นประจำครับ
https://www.thaicreate.com/software/cakephp.html
|
|
|
|
|
Date :
2009-05-29 15:02:36 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วพวกพี่ๆ ได้ใช้ cake php กันไหมค่ะ
ถ้ามือใหม่แบบนู๋จะใช้บ้าง ต้องศึกษาอะไรบ้าง
หรือว่าต้องเก่ง php ก่อนถึงจะใช้ได้
|
|
|
|
|
Date :
2009-05-29 16:33:44 |
By :
Avrill |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เรพ 3 อะธิบายได้ดีมากครับ +1 ผมเองก็ยังไม่เคยแตะ cakephp ว่าแต่มันจะอ้วนไปสำหรับผมหรือเปล่า
คือปรกติ ไม่ชอบเค้กซักเท่าไหร่
กำลังอยาก ลอง ruby on rails อยู่ แต่รอ ruby1.9 มาเต็มตัวก่อน
ตอบ เรพ 4 ใช้ได้ทุกมือที่ใช้เป็นครับ
เฟรมเวิร์คดังๆ มีเอกสารค่อนข้างจะเยอะ คอมมิวนิตี้ก็เยอะครับ ยังไงเก่งแล้ว ช่วยมาแชร์ด้วยนะ
|
|
|
|
|
Date :
2009-05-29 19:21:33 |
By :
pjgunner |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังงงอยู่เลยค่ะ
ว่าการเขียนโปรแกรม เราจำเป็นต้องหา php framework มาใช้ไหมค่ะ
|
|
|
|
|
Date :
2009-05-30 11:44:37 |
By :
Avrill |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองใช้ซักตัว คุณก็น่าจะตอบคำถามได้นะครับ
|
|
|
|
|
Date :
2009-05-30 12:04:53 |
By :
pjgunner |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ประโยชน์หลักของ framework เลยก็คือจะมีการวางแบบแผนและระบบต่างๆ ที่ช่วยให้เขียนโค้ดเป็นระเบียบขึ้น การใช้ framework มีประโยชน์อย่างมากถ้าเขียนโปรแกรมเดียวกันพร้อมกันหลายๆ คน เพราะโครงสร้างโค้ดและ flow ของโปรแกรมจะเป็นไปในแนวเดียวกันหมด ทำให้สามารถเขียนและแก้ไขโปรแกรมที่คนอื่นเขียนได้ง่ายขึ้นมากๆๆๆๆๆ ครับ
ประโยชน์ทางอ้อมก็คือ เพราะว่า framework ถูกเขียนโดยผู้ที่เขียนเว็บที่มีประสบการณ์มากและเก่งมากๆ การได้เรียนรู้จักคำสั่งภายใน framework จะทำให้ได้แนวคิดที่จะช่วยในการเขียนเว็บในหลายๆ อย่าง อย่างเช่น การเขียนคำสั่งที่จะนำกลับมาใช้ใหม่ได้ ช่วยให้ได้รู้จักการวางระเบียบ function และ class ซึ่งจะมีประโยชน์มากต่อการเขียนเว็บอย่างมากครับ
framework คือโครงสร้างและคำสั่งในการพัฒนาระบบซึ่งผู้มีประสบการณ์ได้วางระบบไว้ให้ ซึ่งจะมีประโยชน์ในการพัฒนาระบบในระยะยาวเพราะว่าโค้ดมีความเป็นระเบียบอยู่แล้ว ทำให้ไม่ต้องกังวลว่าในอนาคต โครงสร้างที่เราวางไว้อาจจะไม่สามารถตอบสนองกับระบบที่จะพัฒนาเพิ่มเติมเข้าไปในภายหลัง หรือเมื่อพบจุดที่เป็นปัญหาต้องตามไปแก้โค้ดในทุกๆ หน้า ซึ่งเป็นเรื่องที่น่ากลัวมากครับ.. แต่ถ้าใช้ framework ที่ออกแบบไว้ดี จะสามารถแก้ปัญหาได้โดยการแก้เพียงไม่กี่จุด
แต่ framework ก็มีข้อเสียเหมือนกันอย่างเช่น cakephp มีข้อเสียอย่างหนึ่งก็คือ
ถ้าเราเขียน class เป็น component, behavior, helper นั้น จะนำกลับมาใช้ใหม่ได้ก็กับเฉพาะโปรแกรม ที่สร้างด้วย cakephp เท่านั้น ไม่สามารถนำไปใช้ใน application ทั่วๆ ไปได้
สรุปได้ว่าถ้าเราวางระบบในการพัฒนาซึ่งมีการจัดระเบียบไว้ดีแล้ว และนำไปใช้ในการสร้างโปรแกรมต่างๆ ได้อย่างไม่มีปัญหา ก็ไม่จำเป็นต้องใช้ framework ครับ (แต่การจัดระเบียบเว็บก็เหมือนเราสร้าง framework ของตัวเองขึ้นมาใช้เหมือนกันอะ แหะๆ)
สรุปแล้ว ในที่สุดเราก็ต้องใช้ framework ไม่ว่าจะเป็นของคนอื่นหรือของตัวเองครับ ..แป่ววว
|
|
|
|
|
Date :
2009-05-30 16:48:50 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ ค่ะ
หายสงสัยไปเลย55+
|
|
|
|
|
Date :
2009-05-30 22:20:05 |
By :
Avrill |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมชอบ rep 8 คับ
ผมถึงได้เสนอกระทู้นี้คับ กระทู้รณรงค์
เพื่อที่จะได้รวมกันคิด ร่วมกันแชร์ แล้วก็รวบรวมมาเป็น framework แบบง่ายๆ ให้พวกเราใช้ได้กันไงคับ
จะได้มี framework ที่ไม่อ้วนจนเกินไป (ผมก็ไม่ค่อยชอบกินเค้กเหมือนกัน 555)
ลองดูในกระทู้รณรงค์ด้วยนะคับ ที่ปักหมุดอยู่บนๆ ด้วยนะคับ
คุณเอี่ยว คุณ num เขียนตัวอย่างไว้ดีจิงๆ คับ
|
|
|
|
|
Date :
2009-05-31 06:51:27 |
By :
nut_t02 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากคับ
เข้าใจแระ
|
|
|
|
|
Date :
2009-06-10 21:03:32 |
By :
ShinnZa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|