บทช่วยสอน CakePHP สำหรับผู้เริ่มต้น: CakePHP Framework คืออะไร

สรุปการสอน CakePHP

ในบทช่วยสอน CakePHP นี้ เราจะเรียนรู้แนวคิดพื้นฐานทั้งหมดตั้งแต่เริ่มต้น บทช่วยสอนนี้ครอบคลุมถึงคำจำกัดความของ CakePHP ประวัติ คุณสมบัติ โครงสร้างและการกำหนดค่าโฟลเดอร์ และรายละเอียดสั้นๆ เกี่ยวกับวิธีการทำงานของเฟรมเวิร์ก CakePHP

CakePHP คืออะไร?

CakePHP เป็นกรอบงานโอเพ่นซอร์สสำหรับการพัฒนาและบำรุงรักษาเว็บแอปพลิเคชันที่สร้างด้วย PHP อย่างรวดเร็ว โดยยึดตามแนวคิดสถาปัตยกรรม MVC ซึ่งช่วยให้สร้างเว็บแอปพลิเคชัน PHP ได้ง่ายและสะดวกด้วยโค้ดน้อยลง CakePHP ยังช่วยให้คุณแยกตรรกะทางธุรกิจออกจากเลเยอร์ข้อมูลและเลเยอร์การนำเสนอได้อีกด้วย

เหตุใดจึงต้องใช้ CakePHP Framework

นี่คือคุณประโยชน์/ข้อดีที่สำคัญของการใช้เฟรมเวิร์ก CakePHP:

  • Cake PHP เป็นหนึ่งในแพลตฟอร์มการพัฒนาเว็บไซต์ที่รวดเร็วที่สุด
  • CakePHP ช่วยให้นักพัฒนาได้รับการควบคุมฐานข้อมูลและการสืบค้น SQL ที่ได้รับการปรับปรุง
  • ช่วยให้ผู้ใช้พัฒนาเว็บแอปพลิเคชันที่มีประสิทธิภาพโดยไม่สูญเสียความยืดหยุ่นของสภาพแวดล้อมอย่างรวดเร็ว
  • การสนับสนุนสำหรับ PostgreSQL, SQLite, MySQL, PEAR-DB สำหรับ ADODB ซึ่งเป็นไลบรารีฐานข้อมูลนามธรรม
  • อำนวยความสะดวกให้กับ URL ที่เป็นมิตรกับเครื่องมือค้นหา
  • มอบฟีเจอร์ต่างๆ เช่น การตรวจสอบอินพุตและเครื่องมือฆ่าเชื้อซึ่งทำให้แอปมีความปลอดภัย
  • การสร้างเทมเพลตด้วยไวยากรณ์ PHP ที่คุ้นเคย

ประวัติความเป็นมาของ CakePHP

ในบทช่วยสอน CakePHP นี้ เราจะพูดถึงประวัติของเฟรมเวิร์ก CakePHP:

ปี ขั้น
2005 CakePHP ได้รับการพัฒนาโดย Michal Tatarynowicz เมื่อวันที่ 15 เมษายน 2005
2005 CakePHP เผยแพร่ภายใต้ใบอนุญาต MIT และเปิดให้นักพัฒนาชุมชนใช้งาน
2005 Larry E Masters เข้ามารับตำแหน่งหัวหน้านักพัฒนา
2006 เวอร์ชัน 1.0 เปิดตัวแล้ว
2011 เวอร์ชัน 2 เปิดตัวแล้ว
2014 เวอร์ชัน 3 ได้รับการเผยแพร่ซึ่งเพิกถอนเวอร์ชันก่อนหน้าโดยสิ้นเชิง
2016 เวอร์ชัน 3.3.3 Of CakePHP เปิดตัวพร้อมฟีเจอร์ขั้นสูงมากมาย
2019 เวอร์ชัน 3.7.9 เป็นเวอร์ชันล่าสุดที่เผยแพร่
2021 ทีมงานหลักของ CakePHP ประกาศความพร้อมของ CakePHP 4.2.2 ทันที

คุณสมบัติของ CakePHP

นี่คือคุณสมบัติที่สำคัญของ CakePHP

  • ชุมชนที่กระตือรือร้นและเป็นมิตร
  • สถาปัตยกรรม MVC
  • การตรวจสอบในตัว
  • ทำงานได้จากไดเร็กทอรีของเว็บไซต์ใดๆ โดยมีการกำหนดค่า Apache บางส่วนหรือไม่มีเลย
  • เครื่องยนต์เทมเพลต
  • แคช Operations
  • การโต้ตอบฐานข้อมูล CRUD อย่างง่ายดาย
  • การตรวจสอบในตัว
  • การจัดการส่วนประกอบต่างๆ เช่น อีเมล คุกกี้ ความปลอดภัย เซสชัน และคำขอ
  • ดูตัวช่วยสำหรับ Javaต้นฉบับ, อาแจ็กซ์, แบบฟอร์ม HTML และอื่นๆ

CakePHP- โครงสร้างโฟลเดอร์

ในบทช่วยสอนเฟรมเวิร์ก CakePHP นี้ เราจะเรียนรู้เกี่ยวกับโครงสร้างโฟลเดอร์ CakePHP

ด้านล่างนี้เป็นโครงสร้างโฟลเดอร์ของ CakePHP:

โฟลเดอร์ Descriptไอออน
การทดสอบ โฟลเดอร์นี้ประกอบด้วยกรณีทดสอบสำหรับแอปพลิเคชันของคุณ
ทีเอ็มพี โฟลเดอร์ชั่วคราวเก็บข้อมูลชั่วคราว
ผู้ขาย โฟลเดอร์นี้ช่วยให้คุณจัดเก็บ CakePHP และการอ้างอิงแอปพลิเคชันอื่นๆ จะถูกติดตั้ง
Webroot การขอ Webroot เก็บไฟล์ทั้งหมดที่คุณต้องการให้เข้าถึงได้แบบสาธารณะ
ถัง โฟลเดอร์ bin เก็บไฟล์ปฏิบัติการของ Cake console
ท่อน ประกอบด้วยไฟล์บันทึกของคุณ ซึ่งขึ้นอยู่กับการกำหนดค่าบันทึกของคุณ
การกำหนดค่า โฟลเดอร์ปรับแต่งจะจัดเก็บไฟล์การกำหนดค่าที่ CakePHP ใช้
ปลั๊กอิน โฟลเดอร์นี้มีปลั๊กอินสำหรับแอปพลิเคชัน เป็นที่จัดเก็บปลั๊กอินที่แอปพลิเคชันของคุณใช้
ซีเนียร์ ประกอบด้วยงานคอนโซลและคำสั่งในการจัดการแอปพลิเคชันของคุณ

Locale Stores ไฟล์สตริงสำหรับการทำให้เป็นสากล

โมเดลประกอบด้วยตาราง เอนทิตี และพฤติกรรมของแอปพลิเคชันของคุณ

การกำหนดค่า CakePHP

CakePHP มาพร้อมกับไฟล์กำหนดค่าเดียวตามค่าเริ่มต้น นอกจากนี้ยังช่วยให้คุณสามารถปรับเปลี่ยนได้ตามความต้องการของคุณ มีโฟลเดอร์ชื่อ "config" มอบให้เพื่อจุดประสงค์นี้

ชื่อตัวแปร Descriptไอออน
การแก้ปัญหา ช่วยให้คุณเปลี่ยนเอาต์พุตการดีบัก CakePHP
แอพ.เนมสเปซ ช่วยให้คุณค้นหาคลาสแอปภายใต้
App.baseUrl ยกเลิกการแสดงความคิดเห็นคำหลักนี้เมื่อคุณไม่ต้องการใช้ mod_rewrite ของ Apache กับ CakePHP
การเข้ารหัสแอป คำสั่งนี้ช่วยให้คุณกำหนดว่าแอปพลิเคชันของคุณจะใช้การเข้ารหัสใด
แอพ.ฐาน เป็นไดเร็กทอรีฐานที่แอปอยู่ใน หากเป็นเท็จ ระบบจะตรวจพบโดยอัตโนมัติ
App.fullBaseUrl ชื่อโดเมนที่ผ่านการรับรอง
แอป.webroot เป็นไดเร็กทอรีเว็บรูท
App.wwwRoot เส้นทางของไฟล์ไปยังเว็บรูท
App.jsBaseUrl เส้นทางไปยังไดเร็กทอรี js สาธารณะ
App.paths กำหนดค่าเส้นทางสำหรับทรัพยากรที่ไม่ใช่คลาส
App.cssBaseUrl เป็นเส้นทางเว็บไปยังไดเร็กทอรี css สาธารณะภายใต้ webroot
ความปลอดภัยเกลือ มันเป็นสตริงสุ่มที่ใช้ในการแฮช
Asset.ประทับเวลา ตัวแปรนี้อนุญาตให้คุณเพิ่มการประทับเวลาเมื่อใช้ตัวช่วยที่เหมาะสม

แบบแผนการตั้งชื่อเค้ก- PHP

Cake ปฏิบัติตามแนวคิดของอนุสัญญามากกว่าการกำหนดค่า วิธีการตั้งชื่อแบบอนุสัญญาช่วยให้คุณจัดระเบียบการทำงานของเว็บแอปพลิเคชันได้ ในวิธีนี้ ต้องคั่นคำมากกว่าหนึ่งคำในชื่อด้วย “_” เมื่อตั้งชื่อไฟล์ และคั่นด้วยตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เมื่อตั้งชื่อคลาส

ส่วน MVC ต้องเป็นไปตามไวยากรณ์ที่กำหนดด้านล่าง:

ชื่อไฟล์ ชื่อคลาส ชื่อคลาสพื้นฐาน สถานที่
รุ่น ชื่อไฟล์
ชื่อตารางในรูปแบบเอกพจน์ที่มีนามสกุล .php เช่น order.php
ชื่อไฟล์ในกรณี Camel เช่น Order แอพโมเดล /แอพ/รุ่น
ตัวควบคุม tablename_controller พร้อมนามสกุล .php เช่น: ordcrs_controllcr.php ชื่อตารางต่อท้ายตัวควบคุม เช่น OrdcrsController แอพคอนโทรลเลอร์ /app/ตัวควบคุม
รายละเอียด ชื่อการดำเนินการในคอนโทรลเลอร์ที่มีนามสกุล .ctp เช่น add.ctp ไม่มีชั้นเรียน มุมมอง ค แท็ก HTML และ PHP - /app/vuews/ชื่อคอนโทรลเลอร์

การกำหนดค่าฐานข้อมูล

CakePHP ช่วยให้คุณสามารถกำหนดค่าฐานข้อมูลได้ config/app.php ไฟล์. ให้การเชื่อมต่อเริ่มต้นพร้อมพารามิเตอร์ที่ให้มาซึ่งคุณสามารถปรับเปลี่ยนได้ตามต้องการ

พารามิเตอร์ที่สำคัญได้รับด้านล่าง:

ฐานข้อมูล ชื่อฐานข้อมูล
พอร์ต (ไม่จำเป็น)
การเข้ารหัส
พอร์ต TCP หรือซ็อกเก็ต Unix ที่ใช้เชื่อมต่อกับเซิร์ฟเวอร์
เขตเวลา เขตเวลาของเซิร์ฟเวอร์ที่จะตั้งค่า
schema ช่วยให้คุณระบุสคีมาที่คุณสามารถใช้ได้
unix_socket ฐานข้อมูลนี้ใช้โดยไดรเวอร์เพื่อเชื่อมต่อผ่านไฟล์ซ็อกเก็ต Unix
คีย์เอสเอสแอล เป็นเส้นทางของไฟล์ไปยังไฟล์คีย์ SSL
ssl_cert เป็นเส้นทางไฟล์ไปยังไฟล์ใบรับรอง SSL
ssl_ca เป็นเส้นทางไฟล์ไปยังผู้ออกใบรับรอง SSL
เข้าสู่ระบบ คำนี้ช่วยให้คุณดำเนินการบันทึกแบบสอบถาม
ในนั้น รายการแบบสอบถามที่ควรส่งไปยังเซิร์ฟเวอร์ฐานข้อมูลทุกครั้งที่สร้างการเชื่อมต่อ
ตั้งค่าเป็นจริงหากคุณต้องการใช้คำสงวนหรืออักขระพิเศษ

MVC ทำงานอย่างไรใน CakePHP

ตอนนี้เราจะเรียนรู้วิธีการทำงานของ MVC ใน CakePHP ในบทช่วยสอนเฟรมเวิร์ก CakePHP นี้

มันเป็นวิธีแบบไดนามิกในการสร้างกลไกสำคัญของเว็บแอปพลิเคชัน โมเดล มุมมอง และคอนโทรลเลอร์แยกจากกัน

สถาปัตยกรรม MVC ใน CakePHP
สถาปัตยกรรม MVC ใน CakePHP

Cake PHP แบ่งการดำเนินการออกเป็นสามส่วน:

  • โมเดล: ใช้สำหรับการโต้ตอบกับฐานข้อมูลทั้งหมด
  • มุมมอง: ใช้สำหรับเอาต์พุตและจอแสดงผลทั้งหมด
  • ตัวควบคุม: ใช้เพื่อควบคุมการไหลของแอปพลิเคชัน

นี่คือขั้นตอนในการใช้สถาปัตยกรรม MVC ใน CakePHP:

ขั้นตอน 1) ลูกค้าหรือผู้ใช้โต้ตอบกับมุมมอง

ขั้นตอน 2) ดูตัวควบคุมการแจ้งเตือนของเหตุการณ์เฉพาะ

ขั้นตอน 3) โดยจะส่งคำขอฐานข้อมูลไปยัง Model และ Controller เพื่ออัพเดตโมเดล

ขั้นตอน 4) มุมมองการแจ้งเตือนโมเดลว่ามีการเปลี่ยนแปลง

ขั้นตอน 5) View ได้รับข้อมูลโมเดลและอัพเดตตัวเองตามข้อมูลที่ได้รับ

ทำไมต้องใช้ MVC?

  • CakePHP MVC ช่วยให้คุณแยกตรรกะทางธุรกิจออกจากการนำเสนอและการดึงข้อมูล
  • ไซต์แบ่งออกเป็นส่วนตรรกะซึ่งคุณสามารถควบคุมด้วยตัวควบคุมเฉพาะได้
  • เมื่อมีการทดสอบและดีบักแอปพลิเคชัน นักพัฒนาทุกคนก็จะช่วยคุณค้นหาและแก้ไขข้อผิดพลาดโดยไม่ต้องมีรายละเอียดทั้งหมดของโค้ด

ข้อเสียของการใช้เฟรมเวิร์ก CakePHP

  • เอกสารสนับสนุนของ CakePHP ไม่ครอบคลุมเท่าที่ควร
  • หากต้องการใช้ซอฟต์แวร์ CakePHP นักพัฒนาจำเป็นต้องอัปเดตเส้นทางเริ่มต้นสำหรับการสร้าง URL ที่สวยงาม ซึ่งทำงานได้ง่ายกว่ามากเมื่อเทียบกับเฟรมเวิร์ก PHP อื่นๆ
  • CakePHP การกำหนดเส้นทางทางเดียวเมื่อเปรียบเทียบกับเฟรมเวิร์กอื่น
  • การเรียนรู้ PHP กรอบไม่ใช่เรื่องง่าย
  • ข้อเสนอการกำหนดเส้นทางทางเดียวถือเป็นข้อเสียอีกประการหนึ่งเมื่อเปรียบเทียบกับเฟรมเวิร์กเช่น Ruby on Rails

สรุป

  • CakePHP เป็นเฟรมเวิร์กโอเพ่นซอร์สที่ช่วยทำให้การพัฒนาและบำรุงรักษาแอพ PHP ง่ายขึ้นมาก
  • CakePHP ช่วยให้นักพัฒนาได้รับการควบคุมฐานข้อมูลและการสืบค้น SQL ที่ได้รับการปรับปรุง
  • ได้รับการพัฒนาโดย Michal Tatarynowicz เมื่อวันที่ 15 เมษายน 2005
  • สถาปัตยกรรม MVC และการตรวจสอบภายในเป็นคุณสมบัติที่สำคัญที่สุดของ CakePHP
  • CakePHP มาพร้อมกับไฟล์กำหนดค่าเพียงไฟล์เดียวตามค่าเริ่มต้น ซึ่งช่วยให้คุณสามารถแก้ไขได้ตามความต้องการของคุณ
  • วิธีการตั้งชื่อตามแบบแผนของ CakePHP ช่วยให้คุณสามารถจัดระเบียบการทำงานของเว็บแอปพลิเคชั่นได้
  • CakePHP ให้คุณกำหนดค่าฐานข้อมูลในไฟล์ config/app.php
  • Cake PHP แบ่งการดำเนินการ MVC ออกเป็นสามส่วน:
  • รุ่น: ใช้สำหรับการโต้ตอบฐานข้อมูลทั้งหมด มุมมอง: ใช้สำหรับเอาต์พุตและจอแสดงผลทั้งหมด ตัวควบคุม: ใช้ควบคุมโฟลว์แอปพลิเคชัน
  • ข้อได้เปรียบที่ใหญ่ที่สุดของการใช้ MVC ใน CakePHP คือช่วยให้คุณแยกตรรกะทางธุรกิจออกจากการนำเสนอและการดึงข้อมูล
  • ข้อเสียเปรียบที่ใหญ่ที่สุดของ CakePHP คือการสนับสนุนเอกสารของ CakePHP นั้นไม่ครอบคลุมเท่าที่ควร

สรุปโพสต์นี้ด้วย: