Completed
Push — master ( ba8ed9...770316 )
by Jeroen
06:11
created

src/Kunstmaan/SeoBundle/Helper/OrderConverter.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Kunstmaan\SeoBundle\Helper;
4
5
/**
6
 * Class OrderConverter
7
 */
8
class OrderConverter
9
{
10
    /**
11
     * Converts an Order object to an Array.
12
     *
13
     * @param Order $order
14
     *
15
     * @return array
0 ignored issues
show
Consider making the return type a bit more specific; maybe use array<string,string|array>.

This check looks for the generic type array as a return type and suggests a more specific type. This type is inferred from the actual code.

Loading history...
16
     */
17
    public function convert(Order $order)
18
    {
19
        $orderItems = array();
20
21
        foreach ($order->orderItems as $orderItem) {
22
            /* @var OrderItem $orderItem */
23
            $orderItems[] = array(
24
                'sku' => $orderItem->getSKU(),
25
                'quantity' => $this->formatNumber($orderItem->getQuantity()),
26
                'unit_price' => $this->formatNumber($orderItem->getUnitPrice()),
27
                'taxes' => $this->formatNumber($orderItem->getTaxes()),
28
                'category_or_variation' => $orderItem->getCategoryOrVariation(),
29
                'name' => $orderItem->getName(),
30
            );
31
        }
32
33
        return array(
34
            'transaction_id' => $order->getTransactionID(),
35
            'store_name' => $order->getStoreName(),
36
            'total' => $this->formatNumber($order->getTotal()),
37
            'taxes_total' => $this->formatNumber($order->getTaxesTotal()),
38
            'shipping_total' => $this->formatNumber($order->getShippingTotal()),
39
            'city' => $order->getCity(),
40
            'state_or_province' => $order->getStateOrProvince(),
41
            'country' => $order->getCountry(),
42
            'order_items' => $orderItems,
43
        );
44
    }
45
46
    /**
47
     * Formats a number to a format google an easily comprehend.
48
     *
49
     * @param $number number
50
     *
51
     * @return string
52
     */
53
    protected function formatNumber($number)
54
    {
55
        return number_format($number, 2, '.', '');
56
    }
57
}
58