Perşembe, Temmuz 22, 2010

ZF ile Veri tabanı bağlantısını kontrol etme

Normal de PHP nin veri tabanı bağlantı fonksiyonu "mysql_connect()" kullanırken bağlantının kurulup kurulmadığını analamak için "if(!$db)" şeklinde bir satır işimizi görürdü. Lakin ZF'nin Zend_Db sınıfından yararlanılarak kurulan bağlantılarda geri dönüş değeri bir nesne olduğu için "if(!$db)" gibi bir satırla başarılı olup olmadığını anlayamıyoruz(C++ da olsa işe yarardı :) ). Zend_Db den dönen nesnenin fonksiyonlarında da böyle bir şeye rastlamadım(Bilen varsa yorum kısmında belirtirse sevaba geçer). Bende çözümü farklı mecralarda ararken try-catch yapısı aklıma geldi.

Sonuç olarak Zend_Db sınıfını kullanarak gerçekleştirdiğiniz bağlantının başarılı olup olmadığını try-catch yapısını aşağıdakine benzer şekilde kullanarak öğrenebilirsiniz


Örnek:
try {
$db = Zend_Db::factory($config->database);
$db->getConnection();
Zend_Registry::set('db',$db);
} catch (Zend_Db_Adapter_Exception $e) {
echo "Zend_Db_Adapter_Exception caught: {$e->getMessage()}\n";
} catch (Zend_Exception $e) {
echo "Caught exception: " . get_class($e) . "\n";
echo "Message: " . $e->getMessage() . "\n";
}


Kolay gelsin...

Hiç yorum yok: