From 4932c63bc7408c7cf77d05defb1a5d9179f760e3 Mon Sep 17 00:00:00 2001 From: Piotr Potrebka <piotr.potrebka@wpdesk.net> Date: Wed, 23 Oct 2024 09:07:29 +0200 Subject: [PATCH] feat: refactor --- CHANGELOG.md | 2 +- src/Abstracts/Email.php | 27 ++++++++++++++------------- src/Exceptions/MailerException.php | 7 +++++-- src/Template.php | 6 +++--- src/WPMailer.php | 17 ++++++++++------- 5 files changed, 33 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 963197d..43c9080 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,3 @@ -## [1.0.0] - 2023-03-06 +## [1.0.0] - 2024-10-23 ### Added - init diff --git a/src/Abstracts/Email.php b/src/Abstracts/Email.php index 72c8be1..a9403d7 100644 --- a/src/Abstracts/Email.php +++ b/src/Abstracts/Email.php @@ -9,42 +9,42 @@ class Email { /** * @var array */ - private $recipients = []; + private array $recipients = []; /** * @var string */ - private $subject = ''; + private string $subject = ''; /** * @var array */ - private $attachments = []; + private array $attachments = []; /** * @var string */ - private $content = ''; + private string $content = ''; /** * @var array */ - private $headers = [ 'Content-Type' => 'text/html' ]; + private array $headers = [ 'Content-Type' => 'text/html' ]; /** * @var string */ - private $from_email; + private string $from_email; /** * @var string */ - private $from_name; + private string $from_name; /** * @var array */ - private $template_attributes; + private array $template_attributes; /** * @param string $from_email @@ -162,7 +162,9 @@ class Email { } /** - * @return string + * @param $type + * + * @return Email */ public function set_content_type( $type ): self { switch ( $type ) { @@ -201,13 +203,12 @@ class Email { } /** - * @param string $name - * @param string $value + * @param array $template_attributes * * @return $this */ - public function set_template_attributes( string $name, string $value ): self { - $this->template_attributes[ $name ] = $value; + public function set_template_attributes( array $template_attributes ): self { + $this->template_attributes= $template_attributes; return $this; } diff --git a/src/Exceptions/MailerException.php b/src/Exceptions/MailerException.php index 6c005cd..b406220 100644 --- a/src/Exceptions/MailerException.php +++ b/src/Exceptions/MailerException.php @@ -4,9 +4,12 @@ declare( strict_types=1 ); namespace WPDesk\Library\WPEmail\Exceptions; -class MailerException extends \RuntimeException { +use RuntimeException; +use WP_Error; - public static function with_wp_error( \WP_Error $error ): self { +class MailerException extends RuntimeException { + + public static function with_wp_error( WP_Error $error ): self { $errors = $error->get_error_messages( 'wp_mail_failed' ); $message = implode( "\n", $errors ); diff --git a/src/Template.php b/src/Template.php index 545e2bc..d6e1272 100644 --- a/src/Template.php +++ b/src/Template.php @@ -14,17 +14,17 @@ class Template { /** * @var LoggerInterface */ - private $logger; + private LoggerInterface $logger; /** * @var Renderer */ - private $renderer; + private Renderer $renderer; /** * @var array */ - private $template_attributes; + private array $template_attributes; public function __construct( LoggerInterface $logger, Renderer $renderer, array $template_attributes ) { $this->logger = $logger; diff --git a/src/WPMailer.php b/src/WPMailer.php index 9e7624f..9247ddc 100644 --- a/src/WPMailer.php +++ b/src/WPMailer.php @@ -3,7 +3,6 @@ namespace WPDesk\Library\WPEmail; use Exception; -use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerInterface; use WP_Error; use WPDesk\Library\WPEmail\Abstracts\Email; @@ -19,21 +18,21 @@ class WPMailer implements Mailer { /** * @var LoggerInterface */ - private $logger; + private LoggerInterface $logger; /** * @var Renderer */ - private $renderer; + private Renderer $renderer; public function __construct( LoggerInterface $logger ) { - $this->logger = $logger; - $this->init_renderer(); + $this->logger = $logger; + $this->init_renderer(); } public function init_renderer() { $resolver = new ChainResolver(); - $resolver->appendResolver( new DirResolver( __DIR__ . '/templates' ) ); + $resolver->appendResolver( new DirResolver( dirname( __DIR__ ) . '/templates' ) ); $renderer = new SimplePhpRenderer( $resolver ); $this->set_renderer( $renderer ); } @@ -46,7 +45,11 @@ class WPMailer implements Mailer { return $this->renderer; } - /** @return void */ + /** + * @param Email $email + * + * @return void + */ public function send( Email $email ): void { $mailer_from = $email->get_from(); add_filter( -- GitLab