Я относительно новичок в PHP и хочу убедиться, что я пишу настолько эффективно и правильно, насколько это возможно, - в частности, я хотел бы спросить о том, как функции должны реализовываться друг с другом и как много и сколько задачкаждый из них должен делать в оптимальных условиях.
Пример
Для примера (и, возможно, что-то, что мне нужно будет реализовать), скажите, что при нажатии на ссылку на страницу с надписью "забыли ваше имя пользователя / пароль?"по этой ссылке они выводятся на страницу forgot.php
, на которой есть две формы:
1) Если они забыли свой пароль , они вводят свое имя пользователя , и ссылка на форму сброса отправляется на их адрес электронной почты .
2) И еще: если они забыли свое имя пользователя , они вводят свой адрес электронной почты , и они отправляются им по их адресу электронной почты..
После нажатия кнопки "Отправить" соответствующая форма $_POST
'переходит на новую страницу с именем forgotsubmit.php
, которая проверяет, действительно ли к ней обращаются с помощью оператора if
:
//loggedIn() is a previously defined function
if (!loggedIn() && isset($_POST['forgotUsername']) || isset($_POST['forgotPassword'])) {
header('Location: index.php');
exit();
}
В противном случае страница будет работать в обычном режиме, а именно: запустить функцию (-и) и отобразить сообщение, предлагающее пользователю проверить свою электронную почту.Как я буду реализовывать / создавать функции, необходимые для этого.
Возможность One - 1 функция
Если существует одна, большая, вызываемая функция, которая может обрабатывать как забытые пароли, так и имена пользователей с помощью оператора if внутри функции, то создайте запросИзвлечение соответствующих полей данных из базы данных MySQL, систематизация и затем strip_tags()
всех данных, отправка электронного письма, содержащего необходимую информацию, и затем повторение успеха / неудачи обратно в зависимости от того, какая форма была выбрана и был ли код выполнен без ошибок?
Возможность 2 - 2 функции
Есть оператор if для forgotsubmit.php
, который определяет, какую функцию запустить - одну для получения имени пользователя, а другую для сброса пароля, каждая из которых делает то, что былоописан в первой возможности.
Возможность три - несколько функций
То же, что и возможность два, за исключением того, что отдельная функция sendMail () может отправлять электронную почту, другая функция может обрабатывать запросы MySQL.и т. д.
Медленно ли вызывает слишком много функций?наилучшие показатели?Является ли (если таковая имеется) потеря производительности из-за нехватки времени, например, необходимости кодировать отправку почты дважды?
Возможность Четыре - десятки функций, никаких функций, что-то еще целиком?
Могу ли я использовать что-то лучшее для такой задачи?Подойдет ли несколько функций?Я слышал об уроках, но не изучал их, будут ли они уместными?
Резюме
Надеюсь, я сделал себя достаточно кратким.Как я понимаю (или прочитал), задача функции - «сделать повторяющиеся процессы простыми», возможно, одна из этих возможностей могла бы выполнить эту задачу.Как бы вы это написали?Благодарю.