Вопрос новичка: я не знаю, как лучше структурировать этот бит кода, но в основном это выглядит так (время псевдокода):
if (form = submitted) {
submitted();
}
else {
printForm();
}
function submitted() {
process data from form;
if(errors = found) {
print warnings;
printForm();
} else {
submit to database;
}
}
function printForm() {
print form with databound elements;
}
Я использую следующий бит кода длясоздайте объект User, но кажется странным вызывать его дважды - один раз в submitted()
и один раз в printForm()
, тем более что submitted()
вызывает printForm()
в случае обнаружения ошибок.
К сожалению, доступ к базе данных необходим для обработки данных из формы (проверка на существующий адрес электронной почты и т. Д.), Поэтому мне нужно вызвать следующий бит кода как в submitted()
, так и в printForm()
...
try {
$db = new Database();
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$user = new User($db);
}
catch (PDOException $e) {
echo "<p>Error connecting to database: </p>".$e->getMessage();
}
Но мои инстинкты говорят мне, что это плохо.Это?Если да, то как мне это исправить?