1 | <?php |
||
24 | final class ProductVariantGenerator implements ProductVariantGeneratorInterface |
||
25 | { |
||
26 | /** |
||
27 | * @var ProductVariantFactoryInterface |
||
28 | */ |
||
29 | private $productVariantFactory; |
||
30 | |||
31 | /** |
||
32 | * @var CartesianSetBuilder |
||
33 | */ |
||
34 | private $setBuilder; |
||
35 | |||
36 | /** |
||
37 | * @var ProductVariantsParityCheckerInterface |
||
38 | */ |
||
39 | private $variantsParityChecker; |
||
40 | |||
41 | /** |
||
42 | * @param ProductVariantFactoryInterface $productVariantFactory |
||
43 | * @param ProductVariantsParityCheckerInterface $variantsParityChecker |
||
44 | */ |
||
45 | public function __construct( |
||
53 | |||
54 | /** |
||
55 | * {@inheritdoc} |
||
56 | */ |
||
57 | public function generate(ProductInterface $product) |
||
81 | |||
82 | /** |
||
83 | * @param ProductInterface $product |
||
84 | * @param array $optionMap |
||
85 | * @param mixed $permutation |
||
86 | * |
||
87 | * @return ProductVariantInterface |
||
88 | */ |
||
89 | protected function createVariant(ProductInterface $product, array $optionMap, $permutation) |
||
97 | |||
98 | /** |
||
99 | * @param ProductVariantInterface $variant |
||
100 | * @param array $optionMap |
||
101 | * @param mixed $permutation |
||
102 | */ |
||
103 | private function addOptionValue(ProductVariantInterface $variant, array $optionMap, $permutation) |
||
115 | } |
||
116 |
Very long variable names usually make code harder to read. It is therefore recommended not to make variable names too verbose.