Skip to content

Add Array Type Hints - Services

Priority: 🟡 P2 - MEDIUM Status: Planning Related Analysis: phpstan-rector-analysis-overview.md

Problem Statement

~120 PHPStan errors in service classes for missing array value types (subset of 294 total).

Impact

  • Service layer has most complex array handling
  • Type hints will reveal potential bugs
  • Improves understanding of data flow

Scope

Service layer classes:

  • src/Service/
  • src/Characteristic/
  • Array return values, parameters, properties

Common Service Patterns

Pattern 1: Data Processing

/**
 * @param array<int, CoffeeBean> $beans
 * @return array<string, mixed>
 */
public function processBeans(array $beans): array

Pattern 2: Configuration Arrays

/**
 * @var array<string, string|int|bool>
 */
private array $config;

Pattern 3: Results/Statistics

/**
 * @return array{total: int, processed: int, failed: int}
 */
public function getStatistics(): array

Implementation Plan

Similar to entities plan, but focus on service layer.

Estimated Effort: 10-15 hours