Sahte php / kodumu affet.
Gerçekten sonucun kullanım amacına bağlı olduğunu düşünüyorum.
Dönüş değerini düzenlemek / değiştirmek ve kaydetmek istiyorsanız, boş bir nesne döndürün. Bu şekilde, yeni veya mevcut bir nesnedeki verileri doldurmak için aynı işlevi kullanabilirsiniz.
Birincil anahtar ve bir veri dizisi alır, satırı veri ile doldurur, sonra ortaya çıkan kaydı db kaydeder bir işlevi var diyelim. Nesneyi her iki şekilde de verilerimle doldurmayı planladığım için, boş bir nesneyi alıcıdan geri almak büyük bir avantaj olabilir. Bu şekilde her iki durumda da aynı işlemleri yapabilirim. Ne olursa olsun alıcı işlevinin sonucunu kullanırsınız.
Misal:
function saveTheRow($prim_key, $data) {
$row = getRowByPrimKey($prim_key);
// Populate the data here
$row->save();
}
Burada aynı işlem serisinin bu türdeki tüm kayıtları manipüle ettiğini görebiliriz.
Ancak, dönüş değerinin nihai amacı veri okumak ve bir şey yapmak ise, o zaman null dönecekti. Bu şekilde, hiçbir veri döndürülmediğini çok hızlı bir şekilde belirleyebilir ve kullanıcıya uygun mesajı görüntüleyebilirim.
Genellikle, veri alır (böylece hata iletileri, vb ... günlüğe kaydedebilirsiniz) benim fonksiyonumda istisnalar yakalamak sonra doğrudan yakalama null döndürür. Genellikle son kullanıcı için sorunun ne olduğu önemli değildir, bu yüzden hata günlüğü / işlemimi doğrudan verileri alan işlevde kapsüllemek en iyisidir. Herhangi bir büyük şirkette paylaşılan bir kod tabanı sürdürüyorsanız, bu özellikle yararlıdır, çünkü en tembel programcıda bile uygun hata günlüğü tutma / işleme zorlayabilirsiniz.
Misal:
function displayData($row_id) {
// Logging of the error would happen in this function
$row = getRow($row_id);
if($row === null) {
// Handle the error here
}
// Do stuff here with data
}
function getRow($row_id) {
$row = null;
try{
if(!$db->connected()) {
throw excpetion("Couldn't Connect");
}
$result = $db->query($some_query_using_row_id);
if(count($result) == 0 ) {
throw new exception("Couldn't find a record!");
}
$row = $db->nextRow();
} catch (db_exception) {
//Log db conn error, alert admin, etc...
return null; // This way I know that null means an error occurred
}
return $row;
}
Bu benim genel kuralım. Şimdiye kadar iyi çalıştı.
if (!DataExists)
.