Skip to content

Commit

Permalink
Facade mimarisi eklendi
Browse files Browse the repository at this point in the history
  • Loading branch information
muhammetsafak committed Jul 20, 2023
1 parent 9c29701 commit 34d84ea
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 2 deletions.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Mailer
Mailer Class

This is a simple library for sending mail with SMTP consisting of a single class.


[![Latest Stable Version](http://poser.pugx.org/initphp/mailer/v)](https://packagist.org/packages/initphp/mailer) [![Total Downloads](http://poser.pugx.org/initphp/mailer/downloads)](https://packagist.org/packages/initphp/mailer) [![Latest Unstable Version](http://poser.pugx.org/initphp/mailer/v/unstable)](https://packagist.org/packages/initphp/mailer) [![License](http://poser.pugx.org/initphp/mailer/license)](https://packagist.org/packages/initphp/mailer) [![PHP Version Require](http://poser.pugx.org/initphp/mailer/require/php)](https://packagist.org/packages/initphp/mailer)

Expand Down
73 changes: 73 additions & 0 deletions src/Facade/Mailer.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<?php
/**
* Mailer.php
*
* This file is part of InitPHP.
*
* @author Muhammet ŞAFAK <info@muhammetsafak.com.tr>
* @copyright Copyright © 2022 InitPHP
* @license http://initphp.github.io/license.txt MIT
* @version 1.1
* @link https://www.muhammetsafak.com.tr
*/

declare(strict_types=1);

namespace InitPHP\Mailer\Facade;

use \InitPHP\Mailer\Mailer as MailerInstance;

/**
* @mixin MailerInstance
* @method static MailerInstance clear(bool $clearAttachments = false)
* @method static MailerInstance setHeader(string $header, string $value)
* @method static MailerInstance setFrom(string $from, string $name = '', null|string $returnPath = null)
* @method static MailerInstance setReplyTo(string $replyTo, string $name = '')
* @method static MailerInstance setTo(string[]|string $to)
* @method static MailerInstance setCC(string $cc)
* @method static MailerInstance setBCC(string $bcc, null|int $limit = null)
* @method static MailerInstance setSubject(string $subject)
* @method static MailerInstance setMessage(string $body)
* @method static MailerInstance setAttachmentCID(string $fileName)
* @method static MailerInstance setAltMessage(string $str)
* @method static MailerInstance setMailType(string $type = 'text')
* @method static MailerInstance setWordWrap(bool $wordWrap = true)
* @method static MailerInstance setProtocol(string $protocol = 'mail')
* @method static MailerInstance setPriority(int $n = 3)
* @method static MailerInstance setNewline(string $newLine = PHP_EOL)
* @method static MailerInstance setCRLF(string $CRLF = PHP_EOL)
* @method static MailerInstance|false attach(string $file, string $disposition = '', null|string $newName = null, null|string $mime = null)
* @method static string getMessageID()
* @method static bool validateEmail(string[] $mails)
* @method static bool isValidEmail(string $mail)
* @method static string|string[] cleanEmail(string|string[] $mail)
* @method static string wordWrap(string $str, null|int $chars = null)
* @method static bool send(bool $autoClear = true)
* @method static void batchBCCSend()
* @method static string printDebugger(array $include = ['headers', 'subject', 'body'])
*/
class Mailer
{

protected static MailerInstance $instance;

public function __call($name, $arguments)
{
return self::__getInstance()->{$name}(...$arguments);
}

public static function __callStatic($name, $arguments)
{
return self::__getInstance()->{$name}(...$arguments);
}

protected static function __getInstance(): MailerInstance
{
if (!isset(self::$instance)) {
self::$instance = MailerInstance::newInstance();
}

return self::$instance;
}

}
2 changes: 1 addition & 1 deletion src/Mailer.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
* @author Muhammet ŞAFAK <info@muhammetsafak.com.tr>
* @copyright Copyright © 2022 InitPHP
* @license http://initphp.github.io/license.txt MIT
* @version 1.0
* @version 1.1
* @link https://www.muhammetsafak.com.tr
*/

Expand Down

0 comments on commit 34d84ea

Please sign in to comment.