使用try catch塊時,處理PDO錯誤的體面方法是什麼?如何使用try-catch塊進行PDO
目前,我有這樣的事情:
BlogModel.php
class BlogModel extends Model {
public function save($id, $value) {
$stmt = $this->getDb()->prepare('UPDATE setting SET name = :name WHERE id = :id');
$stmt->bindParam(':id', $id);
$stmt->bindParam(':name', $values);
return ($stmt->execute() !== false) ? $id : false;
}
}
因此,在控制器BlogController.php,我會做這樣的事情:
<?php
class Blog extends Controller {
public function comments()
{
$data = array();
$model = new BlogModel;
if ($model->save(2,'test')) {
$data['result']['message'] = 'Settings saved';
$data['result']['status'] = 'success';
} else {
$data['result']['message'] = 'Could not save the settings';
$data['result']['status'] = 'error';
}
$view = new View("view.php", $data)
$view->render();
}
}
?>
這是我使用if
condit處理PDO錯誤的方式離子。將此轉換爲try catch塊的體面方式是什麼?我不想一直編碼變量($data['result']['message']
$data['result']['status']
)。
是否可能以某種方式在catch塊中添加「throw exception」?
如果在控制器中有很多try catch塊,它會顯得雜亂......對吧?
只是好奇:這是CakePHP?我不知道。 – 2012-02-12 20:14:15
@SimpleCoder我自己的MVC我寫過;) – 2012-02-12 20:14:48
哦,整潔。我猜PDO的直接使用應該已經給出了,而不是Cake的db接口。 – 2012-02-12 20:16:58