Hey,
I have been designing a site locally in PHP 5, but have come across a few design issues I'd like advice now.
Şu anda orada sitenin üç özellik vardır ve her özellik bir sınıfı vardır. Bu özellikler şunlardır:
- bir blog
- bir arkadaş listesi
- görüntülerin bir dizi
Her bir sınıf var ama her sınıfta ben temelde tüm [bloglar | Arkadaşlar | görüntüleri] alır benzer bir yöntem tanımlar. Aranızda ben çok ince olmak için bu sınıfları azaltmak ve muhtemelen her bir özelliği için aynıdır tüm yöntemler için her üç özellik arasındaki jenerik bir sınıf var nasıl biliyor merak ediyordum. (Yani getAllById ($ özellik, $ id)).
Aşağıdaki gibi benim varolan blog sınıf için bir örnek işlevi:
function getBlogsByUserId($userId) {
global $db;
$blogs = array();
$db->where(array("userId"=>$userId));
$rows = $db->get("blog")->fetch(0);
foreach($rows as $row) {
$blog = new Blog();
$blog->id = $row['id'];
$blog->userId = $row['userId'];
$blog->content = $row['content'];
$blogs[] = $blog;
}
return $blogs;
}
Not: Ben DB şeyler için kendi sınıfı tanımladık yani bu konuda endişelenmeyin.
I've looked at the gateway design pattern but haven't yet found a solution. I also want this to be reusable so if I increase the features to seven or more then I won't have to change much of the class.
Thanks, Matt