SimpleSumOrderCounter.php 708 Bytes
<?php
    /**
     * Created by PhpStorm.
     * User: stes
     * Date: 26.10.18
     * Time: 14:57
     */
    
    namespace artbox\catalog\orders\components;

    use common\models\OrderProduct;
    use yii\base\BaseObject;
    
    class SimpleSumOrderCounter extends BaseObject implements SumOrderCounter
    {
        public function getSum(OrderProduct $product): float
        {
            return $product->variant->price * $product->count;
        }
        
        public function getTotal(array $products): float
        {
            $sum = 0;
            foreach ($products as $product) {
                $sum += $this->getSum($product);
            }
            return $sum;
        }
    }