Ben arkadaşım için bir web uygulaması (PHP) yazıyorum ve Java benim sınırlı OOP eğitim kullanmaya karar verdim.
Benim soru, belirli kritik şeyler aslında benim sayfa bozmadan başarısız benim sınıf / uygulamasında dikkat iyi yolu budur.
Şu anda benim sorunum ben veritabanından nesnesine gerekli tüm verileri yüklemek için argüman olarak camper_id alır bir nesne "SummerCamper" olması. Birisi yok sorgu dizesi bir camper_id belirten Say, benim nesneler kurucusuna geçmek ve yük başarısız olur. Şu anda bana sadece kurucusundan yanlış dönmek için bir yol göremiyorum.
Hiçbir kayıt veritabanında veya bulunursa ben belki bir istisna atma, Özel durumlar ile bu yapabileceğini okudum doğrulama çeşit vb uygulamasından camper_id girişi başarısız olursa
Ancak, gerçekten nesne Yük başarısız oldu benim program uyarmak için harika bir yol bulmuş değil. Ben CATCH içinde yanlış dönen çalıştı ama nesne hala benim php sayfasında devam. Ben yük başarısız olursa false değişken $ is_valid = koymak ve daha sonra get yöntemini kullanarak nesneyi kontrol edebilir anlıyorum ama ben daha iyi yollar olabilir düşünüyorum.
Bir yük başarısız olursa, bir nesnenin temel fesih ulaşmanın en iyi yolu nedir? Ben yapıcısı dışından nesnesine veri yüklemek gerekir? Ben içine bakmalı tasarım deseni bazı osrt var mı?
Herhangi bir yardım mutluluk duyacağız.
function __construct($camper_id){
try{
$query = "SELECT * FROM campers WHERE camper_id = $camper_id";
$getResults = mysql_query($query);
$records = mysql_num_rows($getResults);
if ($records != 1) {
throw new Exception('Camper ID not Found.');
}
while($row = mysql_fetch_array($getResults))
{
$this->camper_id = $row['camper_id'];
$this->first_name = $row['first_name'];
$this->last_name = $row['last_name'];
$this->grade = $row['grade'];
$this->camper_age = $row['camper_age'];
$this->camper_gender = $row['gender'];
$this->return_camper = $row['return_camper'];
}
}
catch(Exception $e){
return false;
}
}