我应该每次在页面上引用或定义一次时使用laravel Auth :: user

时间:2014-10-28 23:22:16

标签: php laravel laravel-4

使用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;
}

现在我不确定每次不调用函数是否会有任何性能提升,除非在引用变量时它仍会进行检查。

只是寻找正确的做事方式:)

克雷格。

1 个答案:

答案 0 :(得分:1)

是的,不会一次又一次地调用该函数会有(小)性能优势。这是非常小的,所以它真正归结为更具可读性和更喜欢的东西。

我会这样做:

$userId = Auth::check() ? Auth::user()->id : false;
$blogOwnerID = $blog->blogOwnerID;

// do my checks
if ($blogOwnerID === $userId) {
    // do something
}

确保您使用的是===,因此如果$blog->blogOwnerID为0,则不会出现误报