Under-the-hood PHP tips
1. Using the Spread Operator with the Ternary Operator in PHP Arrays
$arr = [
["1"],
... true ? ["2", 3] : []
];
// ["1", "2", 3]
2. Enum-Based Strategy Pattern in PHP
enum EmailValidation
{
case NoRfcWarnings;
case DnsCheck;
case SpoofCheck;
case Filter;
case Rfc;
public function validation()
{
return match ($this) {
self::NoRfc => new NoRFCWarningsValidation(),
self::Dns => new DNSCheckValidation(),
self::SpoofCheck => new SpoofCheckValidation(),
self::Filter => new FilterEmailValidation(),
default => new RFCValidation(),
}
}
}
public static function isEmail(string $value, ?EmailValidation $rule = null): bool
{
$validator = new EmailValidator();
return $validator->isValid($value, $rule?->validation() ?? new RFCValidation());
}
I will add under-the-hood functions gradually, day by day. .... by