เดือนที่ผ่านมานี้ เค้ก ทีมงานประกาศเปิดตัวรุ่นอัลฟาของ CakePHP 3 . ทีมพัฒนา Cake ถือว่าเวอร์ชัน 3 เป็นตัวเปลี่ยนเกมดังนั้นด้วยการเปิดตัวเวอร์ชันอัลฟาของเวอร์ชัน 3 ในตอนนี้บทความนี้จึงนำเสนอรูปลักษณ์ใหม่ที่ CakePHP 3 เป็นเฟรมเวิร์กสมัยใหม่ที่มีประสิทธิภาพสำหรับการพัฒนา PHP
วิธีรับหมายเลขบัตรเครดิต
ทุกวันนี้มีตัวเลือกมากมายให้เลือก การพัฒนา PHP . เมื่อ PHP เติบโตเต็มที่แล้ว PHP Frameworks ก็เข้ามาในฉากมากขึ้นเรื่อย ๆ ทำให้นักพัฒนามีตัวเลือกมากมาย แต่มันไม่ได้เป็นเช่นนั้นเสมอไป
ย้อนกลับไปในปี 2548 เมื่อ PHP 4 ยังคงเป็นมาตรฐานไม่มีเฟรมเวิร์ก PHP และการพัฒนาวิธีการเข้ารหัสเชิงวัตถุใน PHP ถือเป็นความท้าทายอย่างแน่นอน ตอนนั้นเองที่ CakePHP ได้ปรากฏตัวขึ้นซึ่งเป็น PHP ตัวแรก MVC กรอบ. ในช่วงเกือบ 10 ปีที่ผ่านมานับตั้งแต่เปิดตัวครั้งแรก CakePHP ยังคงพัฒนาอย่างต่อเนื่องโดยรักษาส่วนแบ่งการตลาดที่ดีของ นักพัฒนา PHP .
เฟรมเวิร์ก CakePHP เป็นที่นิยมแค่ไหน? ได้รับการจัดอันดับให้อยู่ในโครงการ PHP ยอดนิยม 4 อันดับแรกบน GitHub ประมาณ 130,000 โครงการโดยมีสมาชิกกว่า 18,000 คนในกลุ่ม CakePHP Google ที่มีหัวข้อ 32,000 หัวข้อ ด้วยผู้ร่วมให้ข้อมูล 270 คนในรหัสและผู้ร่วมให้ข้อมูล 320 รายในเอกสารจึงไม่มีการปฏิเสธว่า CakePHP มีผู้ติดตามจำนวนมาก ความนิยมที่แพร่หลายและเพิ่มขึ้นในปัจจุบันของ CakePHP สรุปได้ดีในบทความโดย เจมส์วัตต์ สมาชิกหลักและผู้จัดการชุมชนของ CakePHP สำหรับ มูลนิธิซอฟต์แวร์เค้ก ผู้ที่ฉันสัมภาษณ์ในระหว่างการเขียนบทความนี้
ด้วยเวอร์ชัน 3 ของเฟรมเวิร์กที่พร้อมใช้งานแล้ว CakePHP คาดว่าจะยังคงเป็นผู้นำในโลก PHP และเป็นคู่แข่งที่สำคัญท่ามกลางภูมิทัศน์ที่หลากหลายของเฟรมเวิร์ก PHP ในปัจจุบัน
บทวิจารณ์นี้อ้างอิงจากเวอร์ชันอัลฟาของ CakePHP 3.0 ซึ่งรวมคุณสมบัติและการปรับปรุงใหม่ ๆ ไว้มากมาย ได้แก่
ประสิทธิภาพที่ดีขึ้น เวอร์ชัน 3 ประกอบด้วยการปรับปรุงประสิทธิภาพในกระบวนการบูตขั้นตอนการกำหนดเส้นทางและหลายส่วนของกระบวนการในการสร้างเทมเพลตตัวช่วย
ส่วนประกอบและตัวช่วยขั้นสูง เวอร์ชัน 3 ให้การสนับสนุนขั้นสูงสำหรับ 'ข้อความแฟลช' ด้วยสิ่งใหม่ FlashHelper และ FlashComponent . นอกจากนี้ไฟล์ CookieComponent ได้รับการปรับปรุงทำให้ง่ายต่อการแยกการกำหนดค่าเนมสเปซคุกกี้และการจัดการข้อมูลคุกกี้
ปรับปรุงการจัดการเซสชัน การจัดการเซสชันเป็นคลาสคงที่ใน CakePHP ซึ่งพิสูจน์แล้วว่ามีปัญหาในหลาย ๆ วิธี ด้วยเวอร์ชัน 3 ตอนนี้คุณสามารถเข้าถึงเซสชันได้จากออบเจ็กต์คำขอ $this->request->session()
การเปลี่ยนแปลงนี้ยังช่วยให้ทดสอบเซสชันได้ง่ายขึ้นและทำให้ CakePHP ใช้งานได้ PHPUnit 4.x .
ปรับปรุงความสอดคล้องของอนุสัญญา โครงกระดูกของแอปพลิเคชันและโครงร่างปลั๊กอินได้รับการอัปเดตให้ใช้โครงสร้างไดเร็กทอรีเดียวกันเพื่อให้สอดคล้องกันมากขึ้น
รวมธีมและปลั๊กอินเข้าด้วยกัน เป้าหมายหลักของ CakePHP 3 คือการทำให้ธีมมีพลังและแข็งแกร่งมากขึ้น การดำเนินการไปสู่เป้าหมายนั้นเห็นได้ชัดว่าสิ่งที่จำเป็นจริงๆคือสำหรับธีมเพื่อให้มีความสามารถเช่นเดียวกับปลั๊กอิน ด้วยเหตุนี้ปลั๊กอินใด ๆ จึงสามารถใช้เป็นธีมได้ซึ่งจะช่วยลดความซับซ้อนของบรรจุภัณฑ์และการแจกจ่ายซ้ำ
การปรับปรุง ORM มีการเปลี่ยนแปลง API หลายอย่างในไฟล์ ORM (การทำแผนที่เชิงสัมพันธ์กับวัตถุ) . สิ่งที่น่าสังเกตมากที่สุดคือตอนนี้การระบุการเชื่อมโยงเชิงลึกสำหรับการดำเนินการบันทึกนั้นง่ายขึ้นและมีการเปลี่ยนแปลงอนุสัญญาสองสามข้อเพื่อลดช่วงการเรียนรู้และความสับสนของผู้ใช้งานรายใหม่
นอกจากนี้ยังมีคุณสมบัติเพิ่มเติมบางอย่างที่มีการวางแผนที่จะรวมเข้ากับรุ่นเบต้าของเวอร์ชัน 3.0 ที่สำคัญที่สุดคือ:
อันที่จริงเวอร์ชัน 3 แสดงให้เห็นถึงการอัปเกรดที่สำคัญกว่า CakePHP เวอร์ชันก่อน ๆ
ในขณะที่ CakePHP มีคุณสมบัติที่ยอดเยี่ยมมากมาย แต่บทวิจารณ์นี้มุ่งเน้นไปที่บางส่วนโดยเฉพาะอย่างยิ่งที่ช่วยแยกออกจากกันคือ:
CakePHP มีการพัฒนาอย่างรวดเร็วและสม่ำเสมอมาโดยตลอดและในตอนท้าย CakePHP ให้ความสำคัญอย่างมากกับการประชุมใหญ่ ดังนั้นเช่น ทับทิมบนราง (ซึ่ง CakePHP ได้รับแรงบันดาลใจมากมาย) CakePHP ยึดมั่นอย่างมากกับไฟล์ การประชุมมากกว่าการกำหนดค่า หลักการ.
การประชุมหมายความว่านักพัฒนาซอฟต์แวร์ไม่จำเป็นต้องคิดเกี่ยวกับ“ สิ่งที่จะไป” เมื่อเรียนรู้วิธีใช้ กรอบ CakePHP เนื่องจากมีการกำหนดค่าเริ่มต้นสำหรับกฎเหล่านี้ไว้แล้ว ในขณะที่เราจำเป็นต้องทำความคุ้นเคยกับอนุสัญญา CakePHP เมื่อเข้าใจแล้วนักพัฒนาสามารถมุ่งเน้นไปที่การพัฒนาหลักแทนที่จะต้องกังวลเกี่ยวกับตำแหน่งที่วางโค้ดและปัญหาการกำหนดค่าอื่น ๆ
การประชุมของ CakePHP นั้นตรงกันข้ามกับ PHP ซึ่งเป็นภาษาที่ค่อนข้างเสรี อันเป็นผลมาจากการประชุม CakePHP ช่วยให้มั่นใจว่ารูปแบบและโครงสร้างการเขียนโค้ดมีความสอดคล้องกันมากขึ้นสำหรับนักพัฒนาหลายคนและแม้กระทั่งในหลายทีม Cake พยายามทำให้การพัฒนามีความสอดคล้องกันมากขึ้นด้วยการนำชุดการประชุมมาตรฐานมาใช้
สำหรับสคีมาฐานข้อมูล CakePHP ตั้งสมมติฐานเริ่มต้นบางอย่างในแง่ของการตั้งชื่อตัวแปรชื่อตารางและฟิลด์ โดยเฉพาะ Cake คาดหวังว่า:
orders
)id
_id
(เช่นคีย์ต่างประเทศในตาราง customers
จะมีชื่อว่า customer_id
)เพื่อเป็นตัวอย่างให้ลองพิจารณาทบทวนตารางสองตาราง (articles
และ users
) จากฐานข้อมูลบล็อกโพสต์ ในตัวอย่างของเราเราจะบอกว่า Articles
“ BelongsTo” a Users
และ a Users
“ HasMany” Articles
. ความสัมพันธ์เหล่านี้จะถูกระบุดังต่อไปนี้ใน CakePHP 3.0:
วิธีใช้ twitter api ใน python
In ArticlesTable.php: class ArticlesTable extends Table { public function initialize(array $config) { $this->belongsTo('Users'); } } In UsersTable.php: class UsersTable extends Table { public function initialize(array $config) { $this->hasMany('Articles'); } }
CakePHP จะถือว่าการประชุมเริ่มต้นและด้วยเหตุนี้จึงรู้โดยอัตโนมัติว่าต้องค้นหาคีย์ต่างประเทศใด (เช่น user_id
ในตาราง articles
) เมื่อดึงการเชื่อมโยงใด ๆ
สิ่งสำคัญคือต้องเน้นย้ำว่า CakePHP 3 ทำ อนุญาตให้มีการลบล้างอนุสัญญาเริ่มต้นได้อย่างง่ายดาย ตัวอย่างเช่นสมมติว่าคีย์ต่างประเทศของเราใน users
โต๊ะถูกเรียก author_id
แทน user_id
. การระบุสิ่งนี้จะต้องมีการเปลี่ยนแปลงเล็กน้อยสองอย่างต่อไปนี้กับโค้ดของเราเพื่อให้ CakePHP ทราบว่าเราไม่ได้ใช้ค่าเริ่มต้น:
In ArticlesTable.php: class ArticlesTable extends Table { public function initialize(array $config) { $this->belongsTo('Users' => ['foreignKey' => 'author_id']); } } In UsersTable.php: class UsersTable extends Table { public function initialize(array $config) { $this->hasMany('Articles' => ['foreignKey' => 'author_id']); } }
ดังนั้นแม้ว่าการประชุมจะเป็นส่วนหนึ่งของ CakePHP และมีข้อดีอย่างแน่นอน แต่การลบล้างเมื่อจำเป็นนั้นค่อนข้างง่ายดังที่เราได้แสดงไว้ที่นี่
ในขณะที่นักพัฒนาบางคนอาจชอบ PHP framework (เช่น นี้ และ ลาราเวล ) ที่ไม่ต้องพึ่งพาการประชุมมากนัก แต่ในความเป็นจริงแล้วอนุสัญญา CakePHP สามารถเป็นประโยชน์ได้มาก พวกเขาสามารถช่วยลดเวลาในการเพิ่มขึ้นอย่างมากสำหรับนักพัฒนา CakePHP เมื่อได้รับมอบหมายให้ปรับปรุงหรือบำรุงรักษาโค้ดที่เขียนโดยนักพัฒนารายอื่นเนื่องจากส่งผลให้โครงสร้างการเข้ารหัสและการประชุมที่สอดคล้องกันในหลาย ๆ นักพัฒนา CakePHP และโครงการต่างๆ
เทคนิคการคาดการณ์การขายข้อใดต่อไปนี้อาจมีอคติต่อการมองโลกในแง่ดี
Object-relational mapping (ORM) ของ CakePHP ได้รับประโยชน์อย่างมากจากการประชุมกรอบงานของ CakePHP ด้วยการกำหนดสคีมาฐานข้อมูลให้เป็นมาตรฐานของ Cake คุณสามารถเชื่อมต่อตารางเข้าด้วยกันได้อย่างรวดเร็วผ่าน ORM อันทรงพลังของ Cake คุณแทบไม่จำเป็นต้องเขียนคำสั่ง SQL เนื่องจาก CakePHP จัดการกับสิ่งต่างๆเช่นการรวมตาราง hasMany
และแม้แต่ hasAndBelongsToMany
ความสัมพันธ์ได้อย่างง่ายดาย
ใช้ประโยชน์จาก CakePHP ContainableBehavior
ผ่านการเชื่อมโยงโมเดลของคุณคุณสามารถระบุตารางฐานข้อมูลและฟิลด์ที่จะเลือกจากแบบสอบถาม SQL สิ่งนี้สามารถลงลึกได้หลายตารางและผ่าน ORM มันง่ายที่จะสร้างคำสั่ง SQL ที่ซับซ้อนสูงอย่างรวดเร็ว
อนึ่ง CakePHP’s ContainableBehavior
เป็นตัวอย่างที่ดีว่า CakePHP สามารถลดความซับซ้อนและปรับปรุงการพัฒนา PHP ได้อย่างไร ช่วยให้คุณค้นหาและกรองข้อมูลด้วยวิธีที่สะอาดและสอดคล้องกันและยังช่วยเพิ่มความเร็วและประสิทธิภาพโดยรวมของแอปพลิเคชันของคุณได้อีกด้วย (ทำงานโดยการเปลี่ยนแปลงการเชื่อมโยงของแบบจำลองของคุณชั่วคราวหรือถาวรโดยใช้การบรรจุที่ให้มาเพื่อสร้างชุดของ bindModel
และ unbindModel
การโทรที่สอดคล้องกัน)
ความท้าทายของ ORM คือทำให้การใช้ SQL เป็นเรื่องง่ายมากจนหากนักพัฒนาไม่ระมัดระวังก็สามารถเขียนคำค้นหา SQL ที่ไม่มีประสิทธิภาพได้โดยไม่มีความหมาย ฉันเคยเห็นแอปพลิเคชัน Cake ที่เขียนไม่ดีมาหลายครั้งแล้วซึ่งไม่ได้ทำให้การสืบค้นของพวกเขามีประสิทธิภาพ ปัญหาเหล่านี้มักจะเกิดขึ้นภายในสองสามปีหลังจากที่ระบบถูกนำไปใช้งานเมื่อฐานข้อมูลมีขนาดใหญ่ขึ้นและข้อความค้นหาที่เขียนไม่ดีจะช้ามากขึ้นเรื่อย ๆ
ปัญหาหลักที่นี่คือก่อน CakePHP เวอร์ชัน 3 ล่าสุด ORM ของ Cake จะดึงข้อมูลโดยค่าเริ่มต้น ใด ๆ ตารางที่เกี่ยวข้องเมื่อดำเนินการสืบค้น ด้วยเหตุนี้การสืบค้นแบบ 'ค้นหาทั้งหมด' แบบธรรมดาจึงอาจมีการขยายตัวค่อนข้างมากเนื่องจาก SQL ที่อยู่ภายใต้จะดึงข้อมูลออกมา ทั้งหมด ข้อมูลจาก ทั้งหมด ตารางที่เกี่ยวข้อง ในเวอร์ชัน 3 พฤติกรรมนี้ไม่ใช่ค่าเริ่มต้นอีกต่อไป (และใน CakePHP เวอร์ชันก่อนหน้านี้พฤติกรรมเริ่มต้นนี้สามารถปิดใช้งานได้ง่ายเพียงแค่เพิ่ม public $recursive = -1;
ในไฟล์หลัก AppModel.php
)
โดยรวมแล้วการตรวจสอบ ORM ของ Cake แสดงให้เห็นว่ามันช่วยเพิ่มความคล่องตัวในการพัฒนาและหากใช้อย่างถูกต้องเป็นเครื่องมือที่ยอดเยี่ยมในการสร้างคำค้นหาที่ซับซ้อนได้อย่างรวดเร็ว อย่างไรก็ตามสิ่งสำคัญคือนักพัฒนาต้องใช้เวลาในการทำความเข้าใจ ORM อย่างเต็มที่และเพื่อให้แน่ใจว่าการสืบค้นของพวกเขาได้รับการปรับให้เหมาะสมอย่างเหมาะสม (ตามที่เป็นจริงในทุกภาษา)
หนึ่งในคุณสมบัติที่ยอดเยี่ยมของ CakePHP คือไลบรารีในตัว - ส่วนประกอบและตัวช่วยซึ่งกำจัดงานพัฒนาที่น่าเบื่อซ้ำซากและน่าเบื่อมากมาย ในบริบท MVC ส่วนประกอบ ช่วยปรับปรุงการพัฒนาคอนโทรลเลอร์ในขณะที่ ผู้ช่วยเหลือ ลดความซับซ้อนในการดูโค้ดและตรรกะ (เช่นเลเยอร์การนำเสนอ)
PaginatorComponent
ตัวอย่างเช่นสร้างอินเทอร์เฟซหน้าถัดไป / ก่อนหน้าโดยอัตโนมัติอย่างน่าอัศจรรย์จากการค้นหา เพิ่มไฟล์ JsHelper
และทันใดนั้นคุณก็มี AJAX Pagination ซึ่งขับเคลื่อนโดยเฟรมเวิร์ก JavaScript ที่คุณชื่นชอบ ( jQuery โดยค่าเริ่มต้น).
การสุ่มตัวอย่างอย่างรวดเร็วของตัวช่วยที่มีประโยชน์อื่น ๆ ได้แก่ :
TimeHelper
: ทำให้การแสดงวันที่และเวลาเป็นเรื่องง่ายโดยมีชุดฟังก์ชันสำหรับการจัดรูปแบบและประเมินค่าเวลาNumberHelper
: ให้วิธีการที่สะดวกในการแสดงตัวเลขในรูปแบบและข้อ จำกัด ทั่วไป (หรือกำหนดเอง) ที่หลากหลายTextHelper
: ช่วยในการเปิดใช้งานลิงก์การจัดรูปแบบ URL การสร้างข้อความที่ตัดตอนมารอบ ๆ คำหรือวลีที่เลือกการเน้นคำสำคัญในบล็อกข้อความและการตัดข้อความที่มีความยาวอย่างสวยงามและมี อื่น ๆ อีกมากมาย .
เพื่อให้แน่ใจว่าทุกเฟรมเวิร์กมีข้อดีข้อเสียและ CakePHP ก็ไม่มีข้อยกเว้น ต่อไปนี้คือคำวิพากษ์วิจารณ์ที่พบบ่อยที่สุดใน CakePHP นอกบทวิจารณ์นี้:
“ กรอบการทำงานเดิม; ป่องและช้า” คำวิจารณ์นี้มักจะเป็นเรื่องทางประวัติศาสตร์มากกว่าโดยมีความจริง จำกัด (ถ้ามี) ในปัจจุบัน การสนับสนุนเวอร์ชัน PHP ย้อนหลังไปถึง PHP 4 ต้องใช้ CakePHP ในการจัดการกับปัญหาเดิม ๆ ของ PHP เอง ด้วยการเติบโตของ PHP และด้วยการเปิดตัว CakePHP เวอร์ชัน 3 โดยเฉพาะข้อกล่าวหานี้ได้สูญเสียความถูกต้องไป
“ เข้มงวดและรัดกุมมากเกินไป” แม้ว่าจะมีข้อดีที่ชัดเจนสำหรับอนุสัญญา CakePHP แต่ก็มีผู้ที่วิพากษ์วิจารณ์พวกเขา นักวิจารณ์มักโต้แย้งว่าอนุสัญญานั้นเข้มงวดเกินไป แต่พวกเขาไม่รับรู้ (หรือรับทราบ) ว่าอนุสัญญาเหล่านี้ สามารถ ถูกแทนที่ได้อย่างง่ายดาย ด้วยการนำชุดการประชุมมาตรฐานมาใช้ Cake ดูเหมือนจะทำให้การพัฒนามีความสอดคล้องกันซึ่งเมื่อพิจารณาถึงแนวทางปฏิบัติในการเขียนโค้ดที่หลวม ๆ ของ PHP ควรถูกมองว่าเป็นสิ่งที่ดีเท่านั้น
“ รอบการเปิดตัวช้า” รอบการปล่อยช้าไม่จำเป็นต้องแย่เสมอไป ในทางตรงกันข้ามวงจรการเผยแพร่ที่ก้าวร้าวเกินไปอาจเป็นปัญหาได้มากกว่า ในความเป็นจริงส่วนหนึ่งของเหตุผลที่ CakePHP รุ่นใหญ่ต้องใช้เวลาเพื่อให้แน่ใจว่าสามารถใช้งานร่วมกับ PHP เวอร์ชันก่อนหน้าได้ซึ่งยังคงมีการใช้งานกันอย่างแพร่หลาย ยิ่งไปกว่านั้นวงจรการเผยแพร่แบบอนุรักษ์นิยมนี้และการเน้นความเข้ากันได้แบบย้อนหลังทำให้ไม่จำเป็นต้องมีการเปลี่ยนแปลงรหัสของคุณที่สำคัญ (และบ่อยครั้ง) เมื่อมีการเผยแพร่เวอร์ชันใหม่ ควรสังเกตด้วยว่าทีม CakePHP 3 คืออะไร แต่ ช้าเมื่อพูดถึงการเผยแพร่เล็กน้อย (แก้ไขข้อบกพร่องแพตช์การปรับปรุงเล็กน้อย ฯลฯ ) ซึ่งเผยแพร่ รายเดือน . ในทำนองเดียวกันตั๋วข้อผิดพลาดส่วนใหญ่จะได้รับคำตอบภายใน ชั่วโมง ของการโพสต์
“ ไม่ใช่วิธีแก้ปัญหานอกกรอบ” ตรงกันข้ามกับเฟรมเวิร์ก PHP 'เว็บแอปนอกกรอบ' ที่ทันสมัยอื่น ๆ (เช่น Yii เป็นต้น) CakePHP มุ่งหวังที่จะสนับสนุนและเปิดใช้งานโซลูชันที่กำหนดเอง ฉันได้รับประโยชน์จากสิ่งนี้เป็นการส่วนตัวในการพัฒนาเว็บไซต์และแอปพลิเคชันขนาดใหญ่ที่กำหนดเองและใช้ฐานข้อมูลจำนวนมาก
“ ใช้อาร์เรย์ข้อมูลมากกว่าออบเจ็กต์” สิ่งนี้ไม่เป็นความจริงอีกต่อไปเนื่องจากเวอร์ชัน 3 ในเวอร์ชันก่อนหน้าข้อมูลใด ๆ จะต้องได้รับการจัดเก็บและอ้างอิงเป็นอาร์เรย์ที่ซ้อนกัน (เช่น $user['User']['username']
) ในที่สุด CakePHP 3 ก็จัดการกับสิ่งนี้แทนที่จะจัดเก็บข้อมูลเป็นวัตถุ (เช่น $user->username
)
“ เอกสารไม่ดี” มีความถูกต้องบางประการสำหรับคำวิจารณ์นี้ในเอกสาร CakePHP นั้นดูเหมือนจะไม่ได้เขียนขึ้นโดยคำนึงถึงผู้เริ่มต้นเสมอไป (บางครั้งข้อมูลสำคัญจะถูกกล่าวถึงในประโยคหรือสองประโยคในขณะที่การอภิปรายไม่กี่ย่อหน้าอาจได้รับการรับรอง ). ทีมพัฒนา Cake ตระหนักถึงเรื่องนี้และกำลังดำเนินการปรับปรุงเอกสารให้เหมาะสม ในความเป็นจริง โฮมเพจของเอกสาร CakePHP 3 ระบุอย่างชัดเจนถึงความมุ่งมั่นในระดับสูงต่อ 'คุณภาพความถูกต้องและความถูกต้อง' ของเอกสาร เนื่องจาก CakePHP เป็นกรอบงานที่ขับเคลื่อนโดยชุมชนจึงมีปุ่ม“ ปรับปรุงเอกสารนี้” ทุก หน้าของเอกสารเปิดใช้งานและสนับสนุนให้ผู้ใช้ CakePHP มีส่วนร่วมในการเพิ่มการลบหรือแก้ไขเอกสารของตนเอง
เกือบ 10 ปีหลังจากการเปิดตัวครั้งแรกการตรวจสอบ CakePHP เผยให้เห็นว่ายังคงเป็นคู่แข่งที่มีชีวิตชีวาและน่ากลัวสำหรับเฟรมเวิร์ก PHP อื่น ๆ อีกมากมายที่เกิดขึ้นตั้งแต่นั้นมา
ประสิทธิภาพของโหนด js เทียบกับ java
CakePHP เป็นโซลูชันการพัฒนาที่สมบูรณ์และครอบคลุม ฐานรหัสเป็นผู้ใหญ่และการทำงานดูเหมือนไม่มีที่สิ้นสุด โดยรวมแล้ว Cake ถูกสร้างขึ้นเพื่อให้การพัฒนาเป็นไปอย่างรวดเร็วซึ่งมีความสำคัญไม่เพียง แต่สำหรับนักพัฒนาซอฟต์แวร์เท่านั้น แต่ยังรวมถึงนักลงทุนด้วย ต้นทุนที่ใหญ่ที่สุดในการพัฒนาซอฟต์แวร์คือต้นทุนของเวลาในการพัฒนาและ CakePHP มีเป้าหมายเพื่อลดเวลาในการพัฒนาลงอย่างมาก
CakePHP เป็นโครงการที่ดำเนินการโดยชุมชน จะดีขึ้นเมื่อมีคนเข้ามามีส่วนร่วมมากขึ้นเรื่อย ๆ จากการมีส่วนร่วมมา 7 ปีและได้เห็นชุมชนเติบโตขึ้นเรื่อย ๆ ฉันรู้สึกตื่นเต้นกับเวทีถัดไปของ CakePHP การเปิดตัว CakePHP 3 และความสมบูรณ์ของทั้ง PHP และ CakePHP หมายความว่าเฟรมเวิร์กจะดีขึ้นเรื่อย ๆ
หากคุณกำลังมองหาโซลูชันที่ใช้ PHP ที่ให้ประโยชน์มากมายคล้ายกับ Ruby on Rails (ในแง่ของการใช้งานง่ายและการกำหนดค่ามากกว่า) ให้ CakePHP หมุนวน สอนบล็อก CakePHP ใช้เวลาเพียงไม่กี่นาทีในการตั้งค่าและเรียกใช้หรืออีกวิธีหนึ่งคือ CakeCoded มีชุดบทเรียนที่ชัดเจนเพื่อช่วยทำความคุ้นเคยกับนักพัฒนา PHP กับ CakePHP และเริ่มต้นใช้งานได้ ด้วยทรัพยากรเหล่านี้คุณจะเห็นได้อย่างรวดเร็วว่า CakePHP สามารถเร่งความเร็วและเพิ่มความพยายามในการพัฒนาซอฟต์แวร์ PHP ของคุณได้อย่างรวดเร็ว สนุก!
Michael Houghton คือ ApeeScape วิศวกรที่อยู่ในไอร์แลนด์ซึ่งมีประสบการณ์ CakePHP มากมาย เขาได้พัฒนาเว็บไซต์กว่า 100 เว็บไซต์ด้วยกรอบการทำงานร่วมกับทีมที่ เค้ก DC (หน่วยงานการค้าที่อยู่เบื้องหลังกรอบงาน CakePHP) ได้ส่งแพตช์ต่างๆและได้ช่วยเหลือเกี่ยวกับเอกสาร CakePHP