ДЖЕНЕРИКИ В PHP
Дженерики в PHP - это конструкция языка, которая позволяет писать обобщенный код, не привязываясь к конкретному типу данных. Вместо указания конкретного типа данных в коде, мы можем использовать параметры типов, которые определяются при вызове функции или метода.
Данный подход позволяет создавать более гибкие и универсальные компоненты, так как они могут принимать и обрабатывать данные разных типов.
Рассмотрим пример использования дженериков в PHP:
function printData(array $data): void {
foreach ($data as $item) {
echo $item . " (" . gettype($item) . ")
";
}
}
В данном примере функция printData принимает массив $data и обрабатывает каждый элемент этого массива. Тип элемента определяется параметром типа T, который указывается в угловых скобках перед именем функции.
Таким образом, мы можем использовать данную функцию для вывода данных любого типа, например:
$intArray = [1, 2, 3];
printData($intArray); // выводит 1 (integer), 2 (integer), 3 (integer)
$strArray = ["apple", "banana", "cherry"];
printData($strArray); // выводит apple (string), banana (string), cherry (string)
Как видим, при вызове функции мы указываем тип данных, которые хотим обработать. В зависимости от переданного типа, функция выполняет соответствующую обработку данных.
Ondrej Mirtes. Дженерики в PHP: уже сегодня
Aсинхронный PHP / Антон Шабовта (Onliner)
Генераторы в PHP - Generators
Psalm, PHP на стероидах / Айдын Махатаев (Рахмет)
Golang: плюсы и минусы, глупые гуглеры, костыли вместо дженериков, батл с Rust и PHP
Дженерики в #Go. Нужны или нет? // туториал по дженерикам и обобщенному программированию