<?php namespace myretail\models;use yii\base\Model;use common\models\User;class SignupForm extends Model{public $username;public $email;public $password;public function rules(){return [ ['username','trim'],['username','required'],['username','unique','targetClass'=>'\common\models\User','message'=>'This username has already been taken.'],['username','string','min'=>2,'max'=>255],['email','trim'],['email','required'],['email','email'],['email','string','max'=>255],['email','unique','targetClass'=>'\common\models\User','message'=>'This email address has already been taken.'],['password','required'],['password','string','min'=>6],];}public function signup(){if(!$this->validate()){return null;}$user=new User();$user->username=$this->username;$user->email=$this->email;$user->setPassword($this->password);$user->generateAuthKey();return $user->save()?$user:null;}}