Первая фиксация

This commit is contained in:
RedHood
2020-10-03 00:11:19 +10:00
commit 252b261720
30 changed files with 11119 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
<?php
declare(strict_types=1);
namespace Mirzaev\Feip\Params;
use Mirzaev\Feip\Error;
/**
* Параметр почты
*
* @property string $email Почта
*
* @package Mirzaev\Feip\Params
* @author Арсен Мирзаев <red@hood.su>
*/
trait Email
{
/**
* Почта: параметр
*
* @var string
*/
protected string $email = '';
/**
* Почта: фильтр
*
* @param string|int|float $target Значение для фильтрации
*
* @return string|null
*/
public static function email($target): ?string
{
// Очистка
if ($sanitized = filter_var($target, FILTER_SANITIZE_EMAIL)) {
// Если очищение вернуло результат
// Проверка
if ($sanitized !== $target || !preg_match("/[0-9A-z]+@[A-z]+\.[A-z]+/", $sanitized)) {
// Если очищенное значение не совпадает с отправленным
// или если не совпадает с паттерном "email"
new Error(200, __FUNCTION__);
}
return (string) $sanitized;
} else {
new Error(200, __FUNCTION__);
}
return null;
}
}