Проверка — Как правильно вкладывать PHP-скрипты?

Поэтому я некоторое время создавал свой собственный сайт и пытался найти хороший способ настроить PHP-скрипты, чтобы он не был слишком загроможден. Я натолкнулся на два способа «вложить» сценарий, чтобы он не продолжал работать, если он обнаружит ошибку, а просто подумал, что было бы лучше избежать внедрения сценариев, или если в любом случае это не имеет значения.

Вариант А (запустить страницу вниз по линии):

function callExit($error) {
//Close Database
exit($error);
}
if (!$_POST['title']) { callExit("No title."); }
if (!$_POST['body']) { callExit("No body."); }
//Continue Script

Или вариант B (много вложений):

if ($_POST['title']) {
if ($_POST['body']) {
//Continue Script
} else {
//Close Database
}
} else {
//Close Database
}

Или что-то другое?

0

Решение

Многие люди беспокоятся об этом, особенно в PHP. По сути, вы говорите, как я могу добавить слой абстракции в мое приложение / программу?

Вы можете использовать существующую платформу валидации. Я не буду называть фреймворки, но вы можете их найти.

Вы также можете изобрести свой собственный класс / функцию проверки, которые бы абстрагировали этот шаблонный код «низкого уровня», такой как проверка isset($_POST[X]),

Если бы вы реализовали свою собственную платформу / класс проверки, это сделало бы ваше приложение более привлекательным и, конечно, уменьшило бы количество строк кода, которые должен иметь вызывающий API.

В конце концов, что вы пытаетесь достичь? Вы создаете приложение для клиента, которое будет использоваться один раз и никогда не обновляться, если нет необходимости делать код красивым. Если вы гордитесь кодом и хотите, чтобы он был впечатляющим, и хотели учиться, тогда да, создайте свою собственную среду / класс проверки. Несмотря на то, что существуют существующие кодовые базы для решения этой проблемы, создание ее самостоятельно будет лишь катализатором роста для вас как разработчика / инженера.

Наконец, что не менее важно, не существует «правильного» способа сделать что-то.

0

Другие решения

Я хотел бы сделать это, чтобы подчеркнуть множественность выбора возможности:

if (!$_POST['title']) { callExit("No title."); }
elseif (!$_POST['body']) { callExit("No body."); }

В качестве альтернативы, если у вас много полей, выполните цикл:

$required_fields=array("title"=>"No title", "body"=>"You are missing a body parameter");
foreach ($required_fields AS $fieldname=>$message) {
if (!$_POST[$fieldname]) { callExit($message) }
0

По вопросам рекламы [email protected]