連絡先情報をデータベースに保存するメソッドがあります。このメソッドでは、正常に保存された場合はtrueを返し、そうでない場合はfalseを返します。try catchブロックを使用しています。例外をスローする代わりにfalseを返すことはできますか?このように動作しますが、私はそれが大学の授業のための良い練習であると思っています。おかげで私のcontact_functions.phpページで例外をスローするのではなくtryとcatchからfalseを返すことができます
:
function saveContactInfo($firstName, $lastName, $email, $subject, $message, $pdoConnection){
//Get timestamp of current time and store it into a variable
//This is so we can keep a record of the time a message was sent.
$messageTime = time();
try{
$query ="INSERT INTO contact_info (firstName, lastName, email, subject, message, messageTime) VALUES (:firstName, :lastName, :email, :subject, :message, :messageTime)";
$statement = $pdoConnection->prepare($query);
//bind our values. they will all be srting parameters.
$statement->bindValue(':firstName', $firstName, PDO::PARAM_STR);
$statement->bindValue(':lastName', $lastName, PDO::PARAM_STR);
$statement->bindValue(':email', $email, PDO::PARAM_STR);
$statement->bindValue(':subject', $subject, PDO::PARAM_STR);
$statement->bindValue(':message', $message, PDO::PARAM_STR);
$statement->bindValue(':messageTime', $messageTime, PDO::PARAM_STR);
$statement->execute();
return true;
}catch(PDOException $e){
//throw new pdoDbException($e);
//return "Error message " . $e->getMessage();
return false;
}
}
はその後、私のcontact_handler.phpにページ:関数/メソッドが従うに失敗したときに
if (saveContactInfo($firstName, $lastName, $email, $subject, $message, $pdoConnection)) {
echo 'Your Message has been sent!!';
} else {
echo 'There was a problem with your message!!';
}
あなたが私に尋ねると味の問題ですが、これは間違いありません。 「解決策に問題がありました。」という一般的なエラーよりも、ユーザーにエラーに関する具体的なフィードバックを与えることは、常に良い習慣です。 – vaultboy
特定のフィードバックは管理者と開発者にとって、ユーザーは一般的な説明以外のエラーについては何も知らないはずです。だから、あなたが望むものを返すことができます。 –
素晴らしい点。ありがとうたくさんありがとう – Sarah