File: D:/HostingSpaces/SBogers75/roost-interieurbouw.nl/app/Komma/Mailers/Mailer.php
<?php
namespace Komma\Mailers;
use Illuminate\Support\Facades\Mail;
use Illuminate\Validation\Factory as Validator;
abstract class Mailer { //class that never will be used on it's own
/**
* @var Validator
*/
protected $validator;
protected $validation;
function __construct(Validator $validator)
{
$this->validator = $validator;
}
public function sendTo($user, $subject, $view, $data =[]){
Mail::send($view, $data , function($message) use($user, $subject){
$message->to($user)
->subject($subject);
});
}
public function validate(array $formData){
$this->validation = $this->validator->make($formData, $this->getValidationRules());
if($this->validation->fails()){
throw new FormValidationException('Validation failed', $this->getValidationErrors());
}
return true;
}
/**
* @return mixed
*/
protected function getValidationRules(){
return $this->rules;
}
/**
* @return mixed
*/
protected function getValidationErrors(){
return $this->validation->errors();
}
}