Browse Source

user register and login

master
wiwkok-pc 3 years ago
parent
commit
94eb96f334
  1. 16
      composer.json
  2. 0
      example/MyClassTest.php
  3. 20
      example/UserLogin.php
  4. 21
      example/UserRegister.php
  5. 55
      src/UserInput.php

16
composer.json

@ -2,12 +2,24 @@
"name": "wiggins/my-project",
"type": "library",
"require": {
"php": ">=7.4"
"php": ">=7.4",
"yiisoft/yii2": "2.0.45"
},
"autoload": {
"psr-4": {
"Wiggins\\MyProject\\": "src/"
}
},
"minimum-stability": "dev"
"minimum-stability": "dev",
"config": {
"allow-plugins": {
"yiisoft/yii2-composer": true
}
},
"repositories": [
{
"type": "composer",
"url": "https://asset-packagist.org"
}
]
}

example/test.php → example/MyClassTest.php

20
example/UserLogin.php

@ -0,0 +1,20 @@
<?php
namespace Wiggins\MyProject\Example;
require '../vendor/autoload.php';
use Wiggins\MyProject\UserInput;
$obj=new UserInput(['scenario'=>'login']);
$obj->name='kuangweijian';
// $obj->email="12345678@qq.com";
$obj->password="123456546";
if($obj->validate()){
echo "login succ".PHP_EOL;
}else{
echo "login failed".PHP_EOL;
print_r($obj->getErrors());
}
?>

21
example/UserRegister.php

@ -0,0 +1,21 @@
<?php
namespace Wiggins\MyProject\Example;
require '../vendor/autoload.php';
use Wiggins\MyProject\UserInput;
$obj=new UserInput(['scenario'=>'register']);
$obj->name='kuangweiian';
$obj->email="12345678@qq.com";
$obj->password="1234567890";
$obj->pwdConfirm="1234567890";
if($obj->validate()){
echo "register succ".PHP_EOL;
}else{
echo "register failed".PHP_EOL;
print_r($obj->getErrors());
}
?>

55
src/UserInput.php

@ -0,0 +1,55 @@
<?php
namespace Wiggins\MyProject;
require __DIR__."/../vendor/autoload.php";
require __DIR__.'/../vendor/yiisoft/yii2/Yii.php';
use yii\base\Model;
//定义一个模型
class UserInput extends Model
{
public $name;
public $email;
public $password;
public $pwdConfirm;
public function attributeLabels()
{
return [
'name' => '3-20个英文或数字字符',
'email' => '你的邮箱地址',
'password' => '3-10个英文或数字字符',
'pwdConfirm' => '需要与密码一致',
];
}
public function scenarios()
{
return[
'login' => ['name','password'],
'register' => ['name','email','password','pwdConfirm'],
];
}
public function rules()
{
return[
//用户名长度
['name','string','length'=>[3,20],'message'=>'用户名长度为3至20个字符'],
//用户名唯一性
//['name','unique'],
//邮件格式
['email','email'],
//密码格式
['password','string','length'=>[3,10]],
//确认密码与密码需一直
['pwdConfirm','compare','compareAttribute'=>'password','message'=>'两次密码必须一致'],
//注册场景
[['name','email','password','pwdConfirm'],'required','on'=>'register'],
//登录场景
[['name','password'],'required','on'=>'login'],
];
}
}
?>
Loading…
Cancel
Save