เฟรมเวิร์กจำเป็นจริงๆใน PHP หรือไม่?
ข้อดีและข้อเสียของการใช้มีอะไรบ้าง
เฟรมเวิร์กจำเป็นจริงๆใน PHP หรือไม่?
ข้อดีและข้อเสียของการใช้มีอะไรบ้าง
คำตอบ:
ไม่ แต่พวกเขาก็ดี
ข้อดี : ประหยัดเวลาโดยไม่ต้องสร้างรหัสใหม่ด้วยตัวเอง ใช้คุณสมบัติฟังก์ชั่นและโครงสร้างข้อมูลจำนวนมากที่ผู้อื่นสร้างขึ้นซึ่งใช้กับโครงการของคุณ
ข้อด้อย : การไม่ได้สร้างรหัสด้วยตัวเองอาจเป็นการสูญเสียในระดับความเข้าใจที่ดีขึ้นเกี่ยวกับรากฐานที่โครงการของคุณดำเนินงานอยู่
กรอบการทำงานของเว็บแอปพลิเคชันนั้นดีเหมือนประสบการณ์ของคุณกับพวกเขา
ทุกกรอบมีเส้นโค้งการเรียนรู้จนกว่าคุณจะก้าวข้ามเส้นโค้งนั้นคุณอาจจะลงเอยด้วยการทำสิ่งต่าง ๆ เพื่อที่จะย้อนกลับไปที่คุณไม่เห็นประโยชน์ทั้งหมดของการใช้กรอบ แอปพลิเคชันของคุณจะพัฒนาช้าโดยไม่จำเป็นรหัสจะยากที่จะติดตามและทุกสิ่งจะพังเมื่อเฟรมเวิร์กเวอร์ชันใหม่เปิดตัว ฉันจะแนะนำไม่ให้พยายามใช้กรอบงานที่ไม่คุ้นเคย (หรือเทคโนโลยีที่ไม่คุ้นเคย) สำหรับโครงการที่มีกำหนดเวลาที่ จำกัด
เราจะใช้ประโยชน์จากเฟรมเวิร์กได้อย่างไร
คุณจะต้องสร้างแอปพลิเคชั่นที่น่ากลัวและย้ำจำนวนหนึ่ง ในที่สุดคุณจะเข้าใจถึงนิสัยใจคอและการใช้เฟรมเวิร์กจะช่วยให้คุณมีเวลาในการพัฒนาที่สั้นลง
คุณควรใช้เฟรมเวิร์ก PHP หรือไม่?
ทุกคนที่มีรหัส PHP เพียงพอในที่สุดก็ใช้เฟรมเวิร์ก คำถามคือคุณจะใช้กรอบงานของคุณเองหรือพัฒนาโดยบุคคลที่สาม? จากประสบการณ์ของฉันคุณจะไม่พัฒนากรอบของคุณเองซึ่งจะตรงกับความแข็งแกร่งและคุณภาพของกรอบงานของบุคคลที่สาม ที่กล่าวว่าการพัฒนากรอบงานของคุณเองดูเหมือนจะเป็นสิทธิในการใช้งานในชุมชน PHP ดังนั้นอย่าให้ฉันกีดกันคุณจากการเขียนคลาส abstraction ฐานข้อมูลของคุณเอง
นี่คือกราฟที่เป็นประโยชน์:
จากข้อมูลของRasmus Lerdorfคุณไม่จำเป็นต้องมีเฟรมเวิร์กเพิ่มเติมเนื่องจาก PHP เป็นเฟรมเวิร์ก http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
มันขึ้นอยู่กับขนาดของโครงการของคุณ โฮมเพจที่ไม่มีฐานข้อมูลและไม่เกิน 10 หน้าเฟรมเวิร์กจะมากเกินไปส่วนใหญ่เป็นเพราะ framewroks ต้องการการกำหนดค่าและการปรับแต่งจำนวนมากในกรณีส่วนใหญ่เพื่อให้เหมาะกับความต้องการเฉพาะ และในบางสถานการณ์พวกเขาอาจช้ากว่าหน้าเว็บหลายหน้าเล็กน้อยที่รวมอยู่ในไฟล์ (คิดว่ากรอบทั้งหมดจำเป็นต้องโหลดเพื่อใช้คุณลักษณะของมัน)
ตอนนี้ถ้าคุณกำลังวางแผนไซต์ขนาดกลาง / ขนาดใหญ่ด้วยการโต้ตอบของฐานข้อมูล webservices ฯลฯ คุณจะต้องมีกรอบการทำงานเพื่อช่วยให้คุณโต้ตอบกับเทคโนโลยีที่แตกต่างกันและจัดระเบียบโค้ดของคุณในแบบที่เมื่อสิ่งแตกสลาย habilitie ตรวจจับและซ่อมแซมได้อย่างรวดเร็ว นอกจากนี้หากคุณคิดถึงลูกค้าพวกเขามักจะเปลี่ยนใจเกี่ยวกับซอฟต์แวร์ดังนั้นหากลูกค้าต้องการแก้ไขหรือเพิ่มคุณสมบัติใหม่ที่คุณไม่ควรจะต้องใส่รหัสทั้งหมดของคุณและคิดว่าฉันจะเสียบคุณสมบัติใหม่นี้ได้อย่างไรในทุก ๆ Sphagetti นี้
มีข้อดีและข้อเสียอื่น ๆ อีกมากมาย แต่สิ่งเหล่านี้เป็นสิ่งที่อยู่ในใจของฉันก่อน
แก้ไข: ฉันใช้กรอบ symfony ในฐานรายวันและทำงานกับ php สำหรับมหาวิทยาลัย (ฉันมีหลักสูตรเกี่ยวกับการพัฒนาเว็บที่ไม่ได้รับอนุญาตให้ใช้กรอบงานใด ๆ ) ดังนั้นสิ่งนี้ส่วนใหญ่มาจากประสบการณ์นั้น
คุณล้อเล่นใช่ไหม?
ความจำเป็นขึ้นอยู่กับการใช้งาน คอมพิวเตอร์ไม่จำเป็นต้องมีเพื่อมนุษยชาติทั้งรถยนต์และอื่น ๆ
สำหรับข้อดี / ข้อเสียสำหรับแต่ละคนนั้นเป็นของตัวเอง!
ฉันต้องการแสดงตัวอย่างโค้ดนอกกรอบงานของฉัน:
class Product extends DatabaseRow {
public $name='';
public $price=0.0;
public $images=array();
public $description='';
public table(){
return 'products';
}
}
$p=new Product();
$p->name='Bread';
$p->price=0.5;
$p->images=array('loaf1.jpg','bakery.jpg');
$p->description='Our premium diet bread.';
$p->save();
ดูสิ่งที่ฉันทำที่นั่น? คลาสนั้นทำหน้าที่เป็นแบบจำลองสำหรับร้านค้า มีอะไรพิเศษนอกเหนือจาก OO? ถ้าตารางหรือคอลัมน์ใด ๆ ไม่มีอยู่มันจะถูกสร้างขึ้นแบบไดนามิก 0 สคริปต์การติดตั้ง แน่นอนว่านี่เป็นคุณสมบัติเฉพาะในกรอบงานของฉัน แต่คุณได้รับความคิด
$p=new Product($the_id); $p->load();
สิ่งload()
นี้คือการผสานแถวเมื่อเทียบกับการเขียนทับแถวทั้งหมด
ไม่ใช่ทุกแอพพลิเคชั่นที่จำเป็นต้องมีเฟรมเวิร์ก
ข้อดีคือ:
ข้อเสียคือ:
สรุปใช้ดีกว่า