我是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();
}
否则,该页面将正常运行,即:启动一个或多个功能,并显示一条消息,告诉用户检查其电子邮件。我将如何实现/创建实现此功能所需的功能。
可能性一一功能
如果有一个单一的大型函数可以通过函数内部的if语句处理被忘记的密码和用户名,则可以创建一个查询来从MySQL数据库中获取数据的相关字段,对所有字段进行整理,然后用
strip_tags()
数据,发送包含必要信息的电子邮件,然后回显成功/失败信息,具体取决于选择了哪种形式以及代码是否完整无误?可能性2-2的功能
在
forgotsubmit.php
上有一个if语句,该语句确定要运行的功能-一个用于获取用户名,另一个用于重置密码,每个都执行一种可能的操作。可能性三-少数功能
与可能性二相同,除了单独的sendMail()函数可以发送电子邮件,另一个函数可以处理MySQL查询等。
调用太多函数会降低性能吗?例如,(如果有的话)性能损失是否由不必编写两次发送邮件的代码所花费的时间所弥补?
可能性四-几十个功能,没有功能,还有其他功能吗?
我可以为这样的任务使用更好的东西吗?多种功能合适吗?我听说过课堂,但没有研究,他们合适吗?
概要
我希望自己已经足够简洁。据我了解(或已阅读),功能的作用是“使重复过程变得简单”,也许其中一种可能会完成该任务。您将如何编码?谢谢。
最佳答案
这完全取决于您的任务。最好具有一些功能,例如do_this()
,do_that()
而不是do_all_stuff()
。
对我来说,我遵循一条一般规则。 每次我最终需要我之前编写的代码块时,都会将其转换为函数。如果遵循此规则,最终将创建许多可重复使用的功能。同样,代码将自动进行重构。