그냥 사는 이야기

Laravel 5.3 Tutorial for Beginner - Mutators & Accessors 본문

Development/Web

Laravel 5.3 Tutorial for Beginner - Mutators & Accessors

없다캐라 2020. 1. 14. 03:44
반응형

Laravel 5.3 Tutorial for Beginner - Mutators & Accessors

Mutators

Mutators는 Setter와 같다. 이것은 Controller에서 data를 get/set 해주는 것과 달리 Model에서 정해줄 수 있다.

setXXXAttribute 작성

App/User.php
public function setNameAttribute($value)
{
    $this->attributes['name'] = ucfirst($value);
}

ucfirst()는 단어의 첫글자를 대문자로 만들어주는 함수이다.

password 암호화를 Mutators에서 작성

Controller에서 암호화 하는 부분을 제거

App/Http/Controllers/Auth/RegisterController
protected function create(array $data)
{
    return User::create([
        ...
        'password' => $data['password'],    // bcrypt()제거
    ]);
}
App/User.php
public function setPasswordAttribute($value)
{
    $this->attributes['password'] = bcrypt($value);
}

Accessors

Accessors는 Getter와 같다.

App/User.php
public function getNameAttribute($value)
{
    return strtoupper($value);
}

public function getEmailAttribute($value)
{
    return strtok($value, '@');
}
Comments