У меня есть столбец в базе данных с именем PASS
котором хранится пароль. Он должен пройти метод _setPassword для хэширования. но по умолчанию он будет проходить этот метод только в том случае, если имя столбца является password
, как сделать PASS
для прохождения этого метода _setPassword
, _setPassword
как password
?
<?php
namespace App\Model\Entity;
use Cake\ORM\Entity;
use Cake\Auth\DefaultPasswordHasher;
/**
* DefaultUser Entity.
*/
class DefaultUser extends Entity
{
/**
* Fields that can be mass assigned using newEntity() or patchEntity().
*
* @var array
*/
protected $_accessible = [
'first_name' => true,
'last_name' => true,
'email' => true,
'PASS' => true,
'active' => true,
];
protected function _setPassword($password) {
$hasher = new DefaultPasswordHasher();
return $hasher -> hash($password);
}
}
Примечание: это код cakephp 3.0.
Используйте правильное имя для объекта:
protected function _setPASS($password) {
$hasher = new DefaultPasswordHasher();
return $hasher->hash($password);
}
user_password
, так что я должен использовать? Я пытался: _setUser_password
, _setUserPassword
, _setUser_Password
, _set_user_password
PASS
в верхнем регистре, в отличие отpass
ноprotected function _setPass($password)
?password
или хотя бы уменьшить его в соответствии с соглашением CakePHP какpass
а не какPASS
?