编程的逻辑

The logic of programming

本文关键字:编程      更新时间:2023-10-16

我有一个有关编程逻辑的问题,请查看以下示例:

public function logout() {
     if (Auth::user()) {
         Auth::logout();
     }
}

在上面的示例中,我们首先检查用户是否已登录。在此功能中,我们可以说只有登录用户才能注销,但是如果您只能登录,则只能访问"注销"功能,那是同一回事。哪一个更好,为什么?我遇到了很多这些事情,我永远不知道要选择哪一个。

虽然您应该只能在您已经登录时才能访问此功能,但这只是代码中的好练习。在这里,封装的方法正在使确定在有意义的上下文中被调用。

这确实重要的原因可以通过许多有缺陷的Web应用程序(和其他)的示例来说明,该示例代码假设用户只能选择所提供的选项。但是,用户可以在Web应用程序中真正调用任何公开曝光的功能,无论该功能是否在HTML接口中显示。

因此,开发人员必须确保称为函数的上下文是有道理的。在您介绍的情况下,班级创建者会牢记特定的用法,您和您可以理解,只有在您登录时才可以访问,但是开发人员不能在其他用户中对此进行执行,除非他包括这样的逻辑(或者,也许是在其暴露方法中查看是否允许访问而不是登录用户的检查。