使用Laravel 4及其Auth功能。
假设我想检查登录的ID是否与博客创建者ID匹配。
if (Auth::user()->id == $blog->blogOwnerID)
{
// do something
}
工作正常,但我需要在页面的不同位置查看。
另一种选择是将用户ID和博客创建者ID设置为变量以便于使用。
// at start of page
$blogOwnerID = $blog->blogOwnerID;
if (Auth::check())
{
$userID = Auth::user()->id;
}
现在我不确定每次不调用函数是否会有任何性能提升,除非在引用变量时它仍会进行检查。
只是寻找正确的做事方式:)
克雷格。
答案 0 :(得分:1)
是的,不会一次又一次地调用该函数会有(小)性能优势。这是非常小的,所以它真正归结为更具可读性和更喜欢的东西。
我会这样做:
$userId = Auth::check() ? Auth::user()->id : false;
$blogOwnerID = $blog->blogOwnerID;
// do my checks
if ($blogOwnerID === $userId) {
// do something
}
确保您使用的是===
,因此如果$blog->blogOwnerID
为0,则不会出现误报