I'm trying to understand OOP and having some trouble with a couple of concepts as I try to make the code workable and testable.
Ne İki tablo varsa: kullanıcıları ve giriş ve ben adı, iş unvanı, neyse gibi tüm belirli bir kullanıcı için oturum açma değil, aynı zamanda kullanıcı bilgilerini almak istiyorum.
$mdlLogins= new Logins();
$mdlUsers = new Users();
$mdlUsers->setMdlLogins($mdlLogins);
$mdlUsers->getAll();
class Logins
{
function getLogins($user_id)
{
// db query by $user_id and fetch loop into $logins
return $logins;
}
}
class Users
{
function setMdlLogins($model)
{
$this->mdlLogins = $model;
}
public function getAll()
{
// db query
foreach ($user=mysql_fetch_object($result))
{
$this->users[] = $this->mdlLogins->getLogins($user->getID());
}
}
}
Bu doğru mu? Ya da, ben (->setMdlLogins()
atlamak ve Logins::getLogins($user->getID())
olarak değiştirin getLogins) statik yöntemler kullanıyor olmalıdır? Neden sadece bir normal işlevini kullanın: get_user_logins()
?
Ben Girişler ve her oturumları ile bir User nesnesi yaratmak istiyorsa ne şekilde giriş ve her konu esnasında Mesajlar sonrası Bakanlar insanların sayısını gösterir gösterir? Tüm bu çekin, ya da boş nesneleri oluşturmak ve bağımlılıkları olarak enjekte etmek için statik yöntemleri kullanmak için iyi olurdu:
$mdlViews = new Views;
$mdlPosts = new Posts;
$mdlPosts->setViews($mdlViews);
$mdlLogins = new Logins;
$mdlLogins->setPosts($mdlPosts);
$mdlUsers = new Users;
$mdlUsers->setLogins($mdlLogins);
$mdlUsers->getAll();
bir sürü iş gibi görünüyor ... olduğunu bir nesnenin tipik ama belki ben birim test hakkında daha az endişe ve sadece yerine çok modelleri orijinal model ayarı statik yöntemleri kullanmalıdır bağlı olduğunu, bir nesne ya da bunun için çok fazla ?
Nasıl Test edilebilir şeyler OOP, Unit tutmak, ama o kadar karmaşık hale değil mi?!?
Ben bu şeyler hakkında oldukça yoğun değilim ama ben gerçekten bir kabus oluşturabilirsiniz kalmamak Ocak ayında benim sonraki probjects başlamadan önce onu anlamak istiyoruz.
Thanks, Hans