Przechodzimy do ścisłego typowania w OOP, które jest w PHP możliwe. Piszemy klasę Helper, która jest czysto statyczna. Do dzieła.
Po pierwsze, włączamy ścisłe typowanie, zaś wyłączamy możliwość tworzenia obiektów klasy (przez prywatny konstruktor):
<?php
declare(strict_types=1);
class Helper {
private function __construct(){}
}
Piszemy statyczną metodę dd, która przyjmuje dane typu mieszanego, niczego nie zwraca:
class Helper {
private function __construct(){}
public static function dd(mixed $value){
echo "<pre>";
var_dump($value);
echo "</pre>";
die();
}
}
Piszemy statyczną metodę e, która przyjmuje dane typu mieszanego, zaś zwraca string:
class Helper {
//(...)
public static function e(mixed $value): string
{
return htmlspecialchars((string) $value);
}
}
Piszemy metodę redirect, która przyjmuje string, niczego nie zwracając:
class Helper {
//(...)
public static function redirectTo(string $path)
{
header("Location: {$path}");
http_response_code(302);
exit;
}
}