Создание И Вызов Своих Функций

Здравствуйте, я на странице через форму отправляю данные, перед сохранением использую beforeSave() для присваивания одному из полей случайно сгенерированную строку состоящую из чисел и букв.

Вот строка:


$this->verification = generate_code();

verification - это поле в базе данных

generate_code - название моей функции которая возвращает результат, параметров никаких не принимает

Скажите почему во время отправки этих данных я вижу следующее на экране:


Fatal error: Call to undefined function generate_code()

Просто например


$this->verification = 1234567890;

легко заноситься в базу данных, а мне просто нужно результат функции записать в поле verification.

Я еще разу извиняюсь, наверное за столь глупый вопрос, я новичок.

Кстати я хэширую пароль перед сохранением через функцию md5 и почему то тут всё нормально:


$this->pass = md5($this->pass);

А вот с моей функцией почему то проблемы:(

P.S - Функцию написал в моделе

Если функция generate_code() определена в классе модели, то к ней нужно обращаться через $this->generate_code().

Действительно, Вы были правы, всё получилось. Огромное спасибо!

Кстати, внеглассное правило при хешировании паролей - добавлять “соль” :)




$this->pass = md5($this->pass. 'какая нибудь строковая константа');



Сделал. А теперь хочу сделать регистрацию с подтверждением email(а).

Регистрацию саму сделал, поле verification в бд хранит сгенерированное число. Создал отдельную страницу, которая в GET запросе принимает id пользователя, его логин и этот самый сгенереный код, сам попробовал активироваться таким образом, всё получилось) Сделал так же авторизацию.

В общем цель: Что бы на email пользователя приходил этот пароль сгенеренный, далее я уже сам придумаю как создать ссылку, какого формата и тд

Я бы посоветовал не передавать в открытом виде логин пользователя.

А также обратить внимание на готовые расширения, например yii-user, возможно велосипеда изобретать не придется ;)