วิธีที่ดีที่สุดในการสร้างความสัมพันธ์แบบกลุ่มต่อกลุ่มใน PHP เชิงวัตถุคืออะไร
หากฉันมีสามตาราง หนังสือ และหมวดหมู่ และหมวดหมู่หนังสือตารางรวม (จัดการหลายรายการต่อหลายรายการ) ฉันควรสร้างแบบจำลอง/คลาสที่เรียกว่าหมวดหมู่หนังสือ และจัดการทุกอย่างที่เกี่ยวข้องกับความสัมพันธ์หมวดหมู่หนังสือที่นั่นหรือไม่
คำถามเฉพาะของฉันโดยอ้างอิงถึงรหัสหลอกด้านล่างคือ:
- ฉันกำหนดวิธีการให้กับคลาสที่เหมาะสมอย่างถูกต้องหรือไม่?
- มีวิธีที่ดีกว่าในการบรรลุเป้าหมายที่ไม่ซับซ้อนมากหรือไม่?
- คลาสใดที่จัดการความสัมพันธ์การเชื่อมโยง? เช่น. $book->link_to_cat('5')?
- คำเตือนใด ๆ สำหรับการใช้วิธีการนี้ (ถ้ามี)
คำแนะนำใด ๆ ที่ชื่นชมอย่างมาก! ขอบคุณล่วงหน้า!
รหัสหลอก:
<?php
class Books {
//handles all book table stuff
public function delete_book() {
//deletes specific book
//deletes all related bookcategories using find_by_book_id
}
}
class Categories {
// handles all category stuff
}
class BookCategories {
public static function get_cats_by_book_id {
// sql join statement to retrieve category objects by book id
}
public static function get_books_by_cat_id {
}
public static function find_by_book_id() {
//returns bookcategories by book id.
}
}
?>
BookCategories
ออกไป - มันเป็นรายละเอียดการใช้งานที่ไม่จำเป็น เพียงเพิ่มเมธอดget_categories()
ในคลาส book และเพิ่มเมธอดget_books()
ในคลาสหมวดหมู่ หรือใส่โค้ดในตัวสร้างแต่ละตัวเพื่อดึงหนังสือ/หมวดหมู่ที่เชื่อมโยงทั้งหมดขึ้นมาเมื่อคุณสร้างวัตถุหมวดหมู่/หนังสือ - person Sam Dufel   schedule 14.01.2011