PHP - kodu veya çift kullanımlı kullanıcı doğrulama için bir fonksiyon çoğaltın

0 Cevap

Tümü,

Ben küçük, ticari olmayan tüketici web sitesi inşa ediyorum. Kullanıcı kayıt defteri sırasında, seçtikleri kullanıcı adı zaten benim kullanıcı db (MySQL) var olup olmadığını kontrol etmek istiyorum.

: Şu anda, çoğunlukla açma işlemi sırasında kullanıcı adına göre retrieve bir kullanıcı, için kullanılan aşağıdaki fonksiyonu, yeniden kullanmak

function retrieveUserByUserName($userName){
 $dbConnection=$this->dbInstance->createConnexion();
 $query=$dbConnection->prepare("SELECT * FROM users WHERE userName= :userName");
 $query->bindParam(":userName", $userName);
 $query->execute();
 $result=$query->fetchObject('userName');
 if ($result){
  return $result;
 } else {
  return false;
 }
}

Bu hafifçe sadece kullanıcı adı var olup olmadığını test etmek için overengineered, ama benim ana endişe güvensiz olabilir tam kullanıcı nesnesi döner ve kesinlikle biraz savurgan olduğunu edilir. Benim alternatif özel bir işlev oluşturmak olacaktır:

function checkUserName($userName){
  $dbConnection=$this->dbInstance->createConnexion();
  $query=$dbConnection->prepare("SELECT * FROM users WHERE userName= :userName");
  $query->bindParam(":userName", $userName);
  $result=$query->execute();
  return $result;
}

Bu kod biraz daha ağır yapar.

Yani SO topluluk benim soru: Doğru takas nedir? Kod çoğaltmak ya da ikincil bir amaç için bir işlevi kullanmak? Sorusuna bu tür için başparmak iyi bir kural var mı, yoksa bağımlı mı?

Çok teşekkürler,

JDelage

PS: Ben bütün bu oldukça yeni, çok temel soru için üzgünüm.

PPS: Ben şimdi 2 sorgu hiç istediğimi yapacağını merak ediyorum. Bu parametreler ile db herhangi bir kayıt varsa, sorgu hala yürütür ve değeri $result Doğru, true her zaman?

0 Cevap