PHP bir itiraz odaklı MVC framework (Kohana) kullanıyorum ve tür bir araya şeyler yapılması için birkaç teknikleri püresi var. Sorun ben çok ve sayfa başına sorgular bir sürü aramadan şeyler temiz tutmak için nasıl emin değilim değildir.
Benim örnek göstermek için, ben site gibi bir yığın taşması tasarlama hayal olacak:
Ben bir soru soru bulucu için (question_model
) yanı sıra bir modeli sınıf (question_finder_model
).
question_model çoğunlukla sadece soru verileri, cevap nesnelerin diziler ve bazı fabrika yöntemleri saklamak için değişkenleri içerir. Gibi bir şey:
class question_model {
public $question_id,$question_title,$question_body,$answers = array();
}
Soru bulucu kaplar question_model nesneleri bir dizi yanı sıra soru kimlikleri bir dizi. Kimlikleri dizisi sınıfında bulmak yöntemler ile doldurulur ve diğer yöntemler tarafından kullanılır. Gibi bir şey:
class question_finder_model {
private $question_ids = array();
public $questions = array() ; //
function public find_questions () {
// executes some SQL to find a list of projects
// Create a new question_model object for each question and store in $questions
// for each of these questions store the id in $questions_ids
}
function public get_answer_info () {
// using all the question ids stored in $question_ids:
// find information about the answers
}
}
Yani örneğin benim kullanıcı modeli soruları nesneleri bir dizi içerecektir, tüm modeller için bu yöntemi kullanın.
Sorun, işlemek için oldukça zor oluyor Örneğin benim soru çok cevap içerir ve her sorunun cevabı çok birçok yorum ve içerebilir olmasıdır. Nasıl birkaç sorguları kalmadan tüm bu nesneleri doldurabilirsiniz. Ben kolay yolu sadece soru nesneler benim dizi yineleme ve bu nesne için cevaplar bilgi alır soru sınıf içinde depolanan bir işlevi çağırmak olacaktır demek. Ama sonra 10 ya da sayfanın başına sorgu 100'ün çağırıyor olacak.
Sorun ifade etmek oldukça zor olduğu gibi bu tüm Abit puslu özür dilerim. Herhangi bir yardım perhpas benim tüm model kusurludur çünkü takdir olduğunu.