我对编程逻辑有疑问,请查看以下示例:
public function logout() {
if (Auth::user()) {
Auth::logout();
}
}
在上面的例子中,我们首先检查用户是否登录。在这个函数中,我们可以说只有登录的用户才能注销,但是如果你只有登录才能访问“注销”功能,那就是一样的。哪个更好,为什么?我遇到过很多这样的事情,但我不知道该选择哪一个。
最佳答案
虽然您应该只有在已经登录的情况下才能访问此功能,但这在您的代码中只是一种很好的做法。此处封装的方法确保它是在有意义的上下文中调用的。
这真正重要的原因可以通过许多有缺陷的网络应用程序(和其他)的例子来说明,其中代码假定用户只能选择他们所看到的选项。但是,用户实际上可以调用 Web 应用程序中任何公开公开的函数,而不管该函数是否显示在 HTML 界面中。
因此,开发人员必须确保调用函数的上下文是有意义的。在您介绍的情况下,类创建者有一个特定的用法,您和我都可以理解,只有在您登录后才能访问它,但是开发人员不能对其他用户强制执行此操作,除非他包含这样的逻辑(或者,也许,在他公开的方法中检查访问是否被允许而不是用户是否登录)。
关于c++ - 编程逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30170383/