Кому я должен объявить метод внутри метода контроллера в laravel, сначала я думаю о добавлении методов внутри класса контроллера
<?php
namespace AppHttpControllers;
use AppModelsSale;
use IlluminateHttpRequest;
class SaleController extends Controller
{
public function store(Request $request){
$qnty = $request -> quantity
$unitPrice = $request -> unitPrice;
$price = $qnty * $unitPrice;
$totalPrice $this->calculateVat();
$sale = new Sale();
$sale -> quantity = $qnty;
$sale -> total = $totalPrice;
$sale -> product_id = $request -> product_id;
$sale->save();
}
public function calculateVat($price,$vat=17.5){
$price_with_vat=0;
$price_with_vat = $price + ($vat*($price/100));
$price_with_vat = round($price_with_vat, 2);
return $price_with_vat;
}
}
Также я мог бы использовать Traits в laravel, но я не уверен, что это хорошая практика
<?php
namespace AppHttpControllers;
use AppModelsSale;
use IlluminateHttpRequest;
use HasVat;
class SaleController extends Controller
{
public function store(Request $request){
$qnty = $request -> quantity
$unitPrice = $request -> unitPrice;
$price = $qnty * $unitPrice;
$totalPrice = $this->calculateVat();
$sale = new Sale();
$sale -> quantity = $qnty;
$sale -> total = $totalPrice;
$sale -> product_id = $request -> product_id;
$sale->save();
}
}
<?php
namespace AppHttpTraits;
trait HasVat{
public function calculateVat($price,$vat=17.5)
{
$priceWithVat=0;
$priceWithVat = $price + ($vat*($price/100));
$priceWith_vat = round($priceWithVat, 2);
return $priceWithVat;
}
}
Как правильно добавить методы к контроллеру в laravel?