Hash类没有找到Laravel 5,在模型级别,寻找App \ Hash?

时间:2015-03-20 02:33:42

标签: php laravel laravel-5

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

问题是,在尝试使用Laravel Hash::课程时,无法找到它。我试图查找相关的API文档,但除了对Illuminate命名空间类的一些引用之外,找不到任何内容 - 而且我收集的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);
    }

}

任何帮助,找出路线的原因,任何建议将不胜感激!

2 个答案:

答案 0 :(得分:12)

您只需要导入\ Hash类,或使用\Hash::make()调用它。只需执行Hash,就像在调用它的类的命名空间中一样。 Hash类是根命名空间的一部分,或\

\Hash是一个'Facade'类,它基本上允许您从任何地方全局调用静态,而无需导入原始类。可以在documentation page for Facades上找到更多信息。

答案 1 :(得分:-1)

使用哈希; 在命名空间App包括使用哈希行后,它必须工作。