哈希 class 未找到 Laravel 5,在模型级别,正在寻找 App\Hash?

Hash class not found Laravel 5, at model level, looking for App\Hash?

我正在构建我的第一个 Laravel 应用程序,我正在尝试弄清楚我应该如何在模型级别散列密码。

问题是,当尝试使用 Laravel Hash:: class 时,找不到它。我试图查找相关的 API 文档,但除了对 Illuminate 命名空间 classes 的一些引用以及我收集的 Hash:: 之外找不到任何内容应该全球可用?

我是 PHP 命名空间的新手,我猜这可能与问题有关,因为错误表明它正在寻找 App\Hash 而我知道它不是App 命名空间的一部分,但是 Illuminate 命名空间的一部分。

这是我的代码:

<?php namespace App;

use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;

class User extends Model implements AuthenticatableContract, CanResetPasswordContract {

    use Authenticatable, CanResetPassword;

    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'users';

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = ['first_name', 'last_name', 'default_currency', 'default_timezone', 'default_location', 'email', 'password'];

    /**
     * The attributes excluded from the model's JSON form.
     *
     * @var array
     */
    protected $hidden = ['password', 'remember_token'];

    public function setPasswordAttribute($value) {
        $this->attributes['password'] = Hash::make($value);
    }

}

任何有助于找出造成这种情况的原因的帮助,以及任何建议,我们将不胜感激!

你只需要导入\Hashclass,或者用\Hash::make()调用它。只需在 class 的命名空间内执行 Hash 就可以了。 Hash class 是根命名空间的一部分,或 \

\Hash 是一个 'Facade' class,它基本上允许您从任何地方全局调用静态,而不必导入原始 class。可以在 documentation page for Facades.

上找到更多信息

使用哈希; 在命名空间应用程序包含使用散列线后它必须工作。