Psalm
Get started
Documentation
Paid support
Plugins
Blog
GitHub
<?php interface Processor { /** * @template TKey of array-key * @template TValue * @param array<TKey, TValue> $data * @return array<TKey, TValue> */ public function process(array $data): array; } class QueryProcessor implements Processor { /** * @param array{string, list<int>} $data * @return array{string, list<int>} */ public function process(array $data): array { [$query, $parameters] = $data; return [$query, $parameters]; } } class OutputProcessor implements Processor { /** * @param list<string> $data * @return list<string> */ public function process(array $data): array { return $data; } } $query = new QueryProcessor(); $query->process(['query', [1,2,3]]); $data = new OutputProcessor(); $data->process(['abc']);
Snippet created on August 17 2023 at 10:53 UTC
Settings
Get link