1. Go to this page and download the library: Download wearesho-team/yii2-tokens library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
wearesho-team / yii2-tokens example snippets
use Wearesho\Yii2\Token;
$repository = new Token\Repository([
'redis' => 'redis', // your yii2-redis connection
]);
$token = new Token\Entity(
$type = 'registration',
$tokenOwner = '[email protected]',
$value = 'random-token',
(new \DateTime())->add('PT30M') // expire after 30 minutes
);
$hash = $repository->put($token);
// If you want to receive token
$token = $repository->get($hash); // entity or null
use yii\base;
use Wearesho\Yii2\Token;
class Model extends base\Model {
/** @var string */
public $hash;
/** @var string */
public $tokenOwner; // or `phone`, `email` etc.
/** @var string */
public $token;
public function behaviors(): array
{
return [
'validateToken' => [
'class' => Token\ValidationBehavior::class,
'type' => 'registration',
],
];
}
public function rules(): array
{
return [
[['hash', 'tokenOwner', 'token',], 'safe',], // to load using $model->load
];
}
}
$repository = new Token\Repository;
$model = new Model;
$model->hash = 'some-invalid-hash';
$model->owner = '[email protected]';
$model->token = 'some-random-token';
$model->validate(); // false
$hash = $repository->put(new Token\Entity(
'registration',
$model->tokenWwner,
$model->token,
(new \DateTime)->add(new \DateInterval('PT1M'))
));
$model->hash = $hash;
$model->validate(); // true
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.