Codeโครงสร้างโฟลเดอร์ ไฟล์ และไดเร็กทอรีของ Igniter
⚡ สรุปอย่างชาญฉลาด
CodeIgniter จัดระเบียบโปรเจ็กต์ PHP ไว้ในโฟลเดอร์ที่คาดเดาได้สำหรับตรรกะของแอปพลิเคชัน ไฟล์ระบบของเฟรมเวิร์ก แพ็กเกจของ Composer และสคริปต์เริ่มต้นเพียงไฟล์เดียว ทำให้ผู้เริ่มต้นสามารถค้นหาโค้ดได้อย่างรวดเร็ว และนักพัฒนาที่มีประสบการณ์ระดับกลางสามารถปรับขนาดโครงสร้าง MVC ที่สะอาดตาได้

ความเข้าใจเกี่ยวกับโครงสร้างไฟล์ใน CodeIgniter เป็นสิ่งจำเป็นก่อนที่คุณจะสร้างแอปพลิเคชันจริงใดๆ โครงสร้างที่คาดเดาได้จะช่วยให้คุณค้นหาคอนโทรลเลอร์ โมเดล และวิวได้อย่างรวดเร็ว แก้ไขปัญหาการกำหนดเส้นทาง และฝึกอบรมสมาชิกทีมใหม่ได้เร็วขึ้น บทช่วยสอนนี้จะกล่าวถึงโครงสร้างพื้นฐานแบบคลาสสิก Codeโครงสร้างของ Igniter 3 ที่ยังคงใช้งานกันอย่างแพร่หลาย และยังชี้แจงความแตกต่างที่สำคัญที่คุณจะพบเจออีกด้วย CodeIgniter 4.x ได้เพิ่มโฟลเดอร์ระดับบนสุดแยกต่างหาก ได้แก่ app/, public/ และ writable/
อะไรคือ Codeโครงสร้างไฟล์และไดเร็กทอรีของ Igniter เป็นอย่างไร?
การขอ Codeโครงสร้างไฟล์ของ Igniter คือการจัดเรียงโฟลเดอร์และไฟล์ PHP เริ่มต้นที่เฟรมเวิร์กนี้จัดเตรียมไว้ให้หลังจากที่คุณดาวน์โหลดหรือติดตั้ง โครงสร้างนี้จะแยกตรรกะการทำงานของแอปพลิเคชันออกจากแกนหลักของเฟรมเวิร์ก แยกการพึ่งพาของ Composer ออกจากกัน และมีจุดเริ่มต้นเพียงจุดเดียวผ่านไฟล์ index.php ภาพต่อไปนี้แสดงโครงสร้างไฟล์ใน Igniter Codeตัวจุดประกาย:
นี่คือโครงสร้างไดเร็กทอรีแบบย่อสำหรับผู้เริ่มต้นใช้งาน Codeขั้นตอนการติดตั้ง Igniter 3:
// CodeIgniter 3 root layout project-root/ ├── application/ ├── system/ ├── user_guide/ ├── vendor/ ├── composer.json ├── composer.lock └── index.php
คำอธิบายเกี่ยวกับโฟลเดอร์ระดับบนสุด
ต่อไปนี้เรามาดูไฟล์ข้างต้นกัน Codeโครงสร้างของตัวจุดประกายไฟ:
- ใบสมัคร – นี่คือไดเร็กทอรีที่จะเก็บตรรกะการทำงานของแอปพลิเคชันของคุณ โค้ดทั้งหมดของแอปพลิเคชันของคุณจะอยู่ในไดเร็กทอรีนี้
- ระบบ – โฟลเดอร์นี้มีไฟล์หลักของเฟรมเวิร์ก ไม่แนะนำให้ทำการเปลี่ยนแปลงในไดเร็กทอรีนี้หรือใส่โค้ดแอปพลิเคชันของคุณเองลงในไดเร็กทอรีนี้
- คู่มือผู้ใช้ – ไดเร็กทอรีนี้มีคู่มือผู้ใช้สำหรับ Codeเครื่องทำให้ลุกไหม้.
- ผู้ขาย – โฟลเดอร์นี้ประกอบด้วยซอร์สโค้ดของแพ็กเกจ Composer ไฟล์อื่นๆ ที่เกี่ยวข้องกับโฟลเดอร์นี้ได้แก่ composer.json และ composer.lock
- index.php – นี่คือจุดเริ่มต้นในการสมัคร
Codeไดเร็กทอรีย่อยของแอปพลิเคชัน Igniter
ต่อไปนี้เราจะมาดูรายละเอียดของไดเร็กทอรีต่างๆ กันให้มากขึ้น ดังที่กล่าวไปแล้ว ไดเร็กทอรีแอปพลิเคชันจะเก็บโค้ดของโปรเจ็กต์ของคุณ ในส่วนนี้ เราจะมาดูไดเร็กทอรีย่อยภายในต่างๆ ในนั้นกัน Codeโครงสร้างไดเร็กทอรีของ Igniter:
- แคช – จัดเก็บไฟล์แคชที่สร้างขึ้นโดยไลบรารีแคชเอาต์พุตและฐานข้อมูล
- การตั้งค่า – เก็บไฟล์การตั้งค่าต่างๆ เช่น database.php, routes.php และ autoload.php
- ตัวควบคุม – ตัวควบคุมแอปพลิเคชันทั้งหมดถูกกำหนดและแมปไว้ที่นี่ URL ส่วนต่างๆ ไปสู่การกระทำ
- แกน – ประกอบด้วยคลาสหลักที่กำหนดเองซึ่งขยายไฟล์ระบบ ตัวอย่างเช่น หากคุณสร้างคอนโทรลเลอร์พื้นฐานที่คอนโทรลเลอร์อื่นๆ ควรขยาย คุณจะต้องวางคอนโทรลเลอร์นั้นไว้ในไดเร็กทอรีนี้
- ผู้ช่วยเหลือ – รายชื่อนี้ของ Codeโครงสร้างโฟลเดอร์ของ Igniter ใช้สำหรับฟังก์ชันช่วยเหลือที่ผู้ใช้กำหนดเอง
- ตะขอ – ใช้สำหรับ hook แบบกำหนดเองในโครงสร้างโฟลเดอร์ CI ซึ่งจะทำงานระหว่างรอบการทำงานของเฟรมเวิร์ก
- language – ใช้สำหรับจัดเก็บไฟล์ภาษาสำหรับแอปพลิเคชันที่ใช้มากกว่าหนึ่งภาษา
- ห้องสมุด – ใช้สำหรับจัดเก็บไลบรารีที่สร้างขึ้นเอง
- บันทึก – ไฟล์บันทึกการทำงานของแอปพลิเคชันจะถูกเก็บไว้ในไดเร็กทอรีนี้
- โมเดล – โมเดลแอปพลิเคชันทั้งหมดควรถูกกำหนดไว้ในไดเร็กทอรีนี้
- บุคคลที่สาม – ส่วนนี้ใช้สำหรับแพ็กเกจแบบกำหนดเองที่คุณหรือนักพัฒนาท่านอื่นสร้างขึ้น
- ยอดวิว – ไฟล์แสดงผลแอปพลิเคชันจะถูกจัดเก็บไว้ในไดเร็กทอรีนี้
ต่อไปนี้เป็นตัวอย่างโครงสร้างไดเร็กทอรีย่อยของแอปพลิเคชัน:
// application/ subdirectories application/ ├── cache/ ├── config/ ├── controllers/ ├── core/ ├── helpers/ ├── hooks/ ├── language/ ├── libraries/ ├── logs/ ├── models/ ├── third_party/ └── views/
Codeไดเร็กทอรีย่อยของระบบ Igniter
ต่อไปนี้เราจะมาดูโครงสร้างไฟล์ของ CI ในส่วนของไดเร็กทอรีย่อยของระบบกัน โปรดจำไว้ว่านี่คือที่เก็บซอร์สโค้ดของเฟรมเวิร์ก ดังนั้นห้ามทำการเปลี่ยนแปลงใดๆ กับไฟล์ในไดเร็กทอรีนี้
- แกน – นี่เป็นเหมือนหัวใจของ Codeเฟรมเวิร์ก Igniterไฟล์หลักทั้งหมดที่ประกอบเป็นเฟรมเวิร์กอยู่ที่นี่ หากคุณต้องการขยายฟังก์ชันการทำงานของไฟล์หลัก คุณต้องสร้างไฟล์หลักแบบกำหนดเองในไดเร็กทอรีแอปพลิเคชัน หลังจากนั้น คุณสามารถเขียนทับหรือเพิ่มพฤติกรรมใหม่ที่คุณต้องการได้ คุณไม่ควรทำการเปลี่ยนแปลงโดยตรงในไฟล์นี้
- ฐานข้อมูล – ไดรเวอร์ฐานข้อมูล แคช และไฟล์อื่นๆ ที่จำเป็นสำหรับการดำเนินการกับฐานข้อมูลจะถูกจัดเตรียมไว้ในส่วนนี้
- แบบอักษร – ตามชื่อที่บ่งบอก โฟลเดอร์นี้รวบรวมแบบอักษรและข้อมูลที่เกี่ยวข้องกับแบบอักษร
- ผู้ช่วยเหลือ – ไดเร็กทอรีนี้ใน Codeโฟลเดอร์โครงสร้างของ Igniter ประกอบด้วยฟังก์ชันช่วยเหลือต่างๆ ที่มีให้ใช้งานได้ทันที
- language – ประกอบด้วยไฟล์ภาษาที่ใช้โดยเฟรมเวิร์ก
- ห้องสมุด – ประกอบด้วยไฟล์ต้นฉบับสำหรับไลบรารีต่างๆ ที่มาพร้อมกับ Codeตัวจุดไฟพร้อมใช้งานได้ทันที
โครงสร้างโฟลเดอร์ของระบบมีลักษณะดังนี้:
// system/ subdirectories system/ ├── core/ ├── database/ ├── fonts/ ├── helpers/ ├── language/ └── libraries/
Codeคู่มือผู้ใช้ Igniter สารบัญ
สารบัญนี้ทำหน้าที่เป็นคู่มืออ้างอิงเมื่อคุณต้องการทำความเข้าใจ CodeIgniter API คุณไม่ควรอัปโหลดไดเร็กทอรีนี้เมื่อปรับใช้แอปพลิเคชันของคุณไปยังเวอร์ชันใช้งานจริง เนื่องจากจะเพิ่มขนาดและเปิดเผยเอกสารที่ไม่ควรอยู่บนเซิร์ฟเวอร์ที่ใช้งานจริง
Codeรายชื่อผู้จำหน่าย Igniter
ไดเร็กทอรีนี้ประกอบด้วยไฟล์ต้นฉบับสำหรับแพ็กเกจที่คุณติดตั้งผ่าน Composer ไฟล์ในไดเร็กทอรีนี้ควรปล่อยไว้ตามเดิมและไม่ควรทำการเปลี่ยนแปลงใดๆ ต่างจากไดเร็กทอรี user_guide ไดเร็กทอรีนี้ควรได้รับการอัปโหลดหากคุณใช้แพ็กเกจ Composer ในแอปพลิเคชันของคุณ
ไฟล์ index.php
ไฟล์ index.php ใน Codeโครงสร้างไฟล์ของ Igniter ประกอบด้วยโค้ดบูตสแตรปที่กำหนดสภาพแวดล้อม เส้นทาง และการรายงานข้อผิดพลาด ก่อนที่จะส่งการควบคุมไปยังเฟรมเวิร์ก ไฟล์นี้อยู่ในไดเร็กทอรีหลักและทำหน้าที่เป็นตัวควบคุมส่วนหน้าสำหรับคำขอ HTTP ที่เข้ามาทุกรายการ
สรุป ความน่าเชื่อถือของ Olymp Trade? CodeIgniter 4 เปลี่ยนโครงสร้าง
CodeIgniter 4.x ได้ปรับโครงสร้างใหม่เพื่อเพิ่มความปลอดภัยและการโหลดอัตโนมัติตามมาตรฐาน PSR-4 แทนที่จะมีโฟลเดอร์แอปพลิเคชันเดียว ตอนนี้คุณจะเห็นโฟลเดอร์ระดับบนสุดสามโฟลเดอร์ที่แยกส่วนต่างๆ ออกจากกันอย่างชัดเจนยิ่งขึ้น:
- แอป / – เทียบเท่ากับโฟลเดอร์ application/ เดิม ที่เก็บ Controllers, Models, Views, Config, Filters และ Libraries
- สาธารณะ/ – โฟลเดอร์เดียวที่สามารถเข้าถึงได้ทางเว็บ ซึ่งประกอบด้วยไฟล์ index.php และไฟล์ CSS, JS และรูปภาพของคุณ
- สามารถเขียนได้/ – ทำหน้าที่จัดเก็บแคช บันทึกการทำงาน เซสชัน และไฟล์อัปโหลดที่เฟรมเวิร์กจำเป็นต้องเขียนในระหว่างการทำงาน
- ระบบ/ – ยังคงมีแกนหลักของเฟรมเวิร์กอยู่ โดยจัดอยู่ในเนมสเปซภายใต้ Codeตัวจุดไฟ\.
- ผู้ขาย / – แพ็กเกจสำหรับนักแต่งเพลง มีบทบาทเหมือนกับ CI 3 ทุกประการ
// CodeIgniter 4 root layout project-root/ ├── app/ ├── public/ ├── writable/ ├── system/ ├── vendor/ ├── tests/ ├── composer.json ├── env └── spark
ถ้าคุณกำลังเริ่มต้นโครงการใหม่ในวันนี้ CodeIgniter 4 เป็นเวอร์ชันที่แนะนำ หากคุณยังคงดูแลโค้ดเบสเก่า โครงสร้าง CI 3 ที่อธิบายไว้ข้างต้นจะตรงกับสิ่งที่คุณเห็นในดิสก์
การทำงานร่วมกับ Codeโครงสร้าง Igniter ในแต่ละวัน
เมื่อคุณรู้ว่าแต่ละโฟลเดอร์อยู่ที่ไหน งานทั่วไปก็จะง่ายขึ้น สร้างคอนโทรลเลอร์ใหม่ใน application/controllers/ (หรือ app/Controllers/ ใน CI 4) จับคู่กับเส้นทางใน config/routes.php สร้างโมเดลใน models/ และแสดงผลลัพธ์จากไฟล์วิวใน views/ เก็บการตั้งค่าไว้ใน config/ ใส่โค้ดที่ใช้ซ้ำได้ลงใน helpers/ หรือ libraries/ และปล่อยให้ Composer จัดการทุกอย่างภายใน vendor/ ยึดมั่นในระเบียบวินัยนี้ แล้วโปรเจ็กต์ของคุณจะยังคงใช้งานง่ายแม้ว่ามันจะเติบโตขึ้นก็ตาม
