HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
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();
    }

}