Spec-Zone.ru › CakePHP 3.8

Класс Mailer

Базовый класс Mailer.

Классы Mailer позволяют вам инкапсулировать связанную логику электронной почты в переиспользуемый и тестируемый класс.

Определение сообщений

Mailer позволяют легко определить методы, обрабатывающие логику форматирования электронных писем. Например:

class UserMailer extends Mailer
{
    public function resetPassword($user)
    {
        $this
            ->setSubject('Reset Password')
            ->setTo($user->email)
            ->set(['token' => $user->token]);
    }
}

Это тривиальный пример, но он демонстрирует, как можно объявить mailer.

Отправка сообщений

После определения некоторых сообщений вы захотите их отправить:

$mailer = new UserMailer();
$mailer->send('resetPassword', $user);

Обработчик событий

Mailer также могут подписываться на события приложения, что позволяет вам отделить доставку электронной почты от вашего кода приложения. Переопределяя метод implementedEvents() вы можете определить обработчики событий, которые могут преобразовать события в электронные письма. Например, если в вашем приложении есть событие регистрации пользователя:

public function implementedEvents()
{
    return [
        'Model.afterSave' => 'onRegistration',
    ];
}

public function onRegistration(Event $event, Entity $entity, ArrayObject $options)
{
    if ($entity->isNew()) {
         $this->send('welcome', [$entity]);
    }
}

Метод onRegistration преобразует событие приложения в метод mailer. Наш mailer может быть зарегистрирован либо в загрузчике приложения, либо в крючке initialize() класса Table.

Cake\Mailer\Mailer реализует Cake\Event\EventListenerInterface использует Cake\Datasource\ModelAwareTrait
Абстрактный
Пространство имен: Cake\Mailer
Расположение: Mailer/Mailer.php

Краткое описание свойств

  • $_clonedEmail protected
    Cake\Mailer\Email

    Клонированный экземпляр Email для восстановления экземпляра после отправки письма действием mailer.

  • $_email protected
    Cake\Mailer\Email
    Экземпляр Email.
  • $name public static
    string
    Имя Mailer.

Унаследованные свойства

  • _modelFactories, _modelType, modelClass

Краткое описание методов

  • __call() public
    Магический метод для перенаправления метода класса к экземпляру Email.
  • __construct() public
    Конструктор.
  • getName() public
    Возвращает имя mailer.
  • implementedEvents() public
    Реализованные события.
  • layout() public deprecated
    Устанавливает используемый макет.
  • reset() protected
    Сбросить экземпляр email.
  • send() public
    Отправить письмо.
  • set() public
    Устанавливает переменные представления email.
  • viewBuilder() public
    Получить конструктор представлений экземпляра Email.

Подробное описание методов

__call()source public

__call( string $method , array $args )

Магический метод для перенаправления метода класса к экземпляру Email.

Параметры

string $method
Имя метода.
array $args
Аргументы метода

Возвращает


$this|mixed

__construct()source public

__construct( Cake\Mailer\Email $email = null )

Конструктор.

Параметры

Cake\Mailer\Email $email необязательно null
Экземпляр Email.

getName()source public

getName( )

Возвращает имя mailer.

Возвращает

string

implementedEvents()source public

implementedEvents( )

Реализованные события.

Возвращает

array

Реализация

Cake\Event\EventListenerInterface::implementedEvents()

layout()source public deprecated

layout( string $layout )

Устанавливает используемый макет.

Устарело

3.4.0 Используйте setLayout(), который устанавливает макет в классе email вместо этого.

Параметры

string $layout
Имя используемого макета.

Возвращает


$this

reset()source protected

reset( )

Сбросить экземпляр email.

Возвращает


$this

send()source public

send( string $action , array $args = [] , array $headers = [] )

Отправить письмо.

Параметры

string $action
Имя действия mailer, которое нужно запустить.
array $args необязательно []
Аргументы, которые нужно передать в запущенное действие mailer.
array $headers необязательно []
Заголовки для установки.

Возвращает

array

Выбрасывает

Cake\Mailer\Exception\MissingActionException
BadMethodCallException

set()source public

set( string|array $key , mixed $value = null )

Устанавливает переменные представления email.

Параметры

string|array $key
Имя переменной или массив переменных представления.
mixed $value необязательно null
Значение переменной представления.

Возвращает


$this

viewBuilder()source public

viewBuilder( )

Получить конструктор представлений экземпляра Email.

Возвращает

Cake\View\ViewBuilder

Методы, используемые из Cake\Datasource\ModelAwareTrait

_setModelClass()source protected

_setModelClass( string $name )

Установить свойства modelClass и modelKey на основе соглашений.

Если свойства уже установлены, они не будут перезаписаны

Параметры

string $name
Имя класса.

getModelType()source public

getModelType( )

Получить тип модели, используемый этим классом

Возвращает

string

loadModel()source public

loadModel( string|null $modelClass = null , string|null $modelType = null )

Загружает и создает объекты репозитория, необходимые этому объекту

Обычно используется для загрузки объектов ORM Table по мере необходимости. Также может использоваться для загрузки других типов объектов репозитория, используемых вашим приложением.

Если поставщик репозитория не возвращает объект, будет выброшено исключение MissingModelException.

Параметры

string|null $modelClass необязательно null

Имя класса модели для загрузки. По умолчанию $this->modelClass. Имя может быть псевдонимом, например 'Post' или FQCN, например App\Model\Table\PostsTable::class.

string|null $modelType необязательно null
Тип репозитория для загрузки. По умолчанию значение modelType().

Возвращает

Cake\Datasource\RepositoryInterface
Экземпляр созданной модели.

Выбрасывает

Cake\Datasource\Exception\MissingModelException
Если класс модели не может быть найден.
InvalidArgumentException
При использовании типа, который не был зарегистрирован.
UnexpectedValueException
Если тип модели не определен

modelFactory()source public

modelFactory( string $type , callable $factory )

Переопределить существующую вызываемую функцию для генерации репозиториев заданного типа.

Параметры

string $type
Имя типа репозитория, для которого предназначена фабричная функция.
callable $factory
Функция-фабрика, используемая для создания экземпляров.
END_OF_DOCUMENT_MARKER ```

modelType()source public deprecated

modelType( string|null $modelType = null )

Установить или получить тип модели, используемой этим классом

Устаревшее

3.5.0 Используйте getModelType()/setModelType() вместо этого.

Параметры

string|null $modelType необязательно null
Тип модели или null для получения текущего

Возвращает

string|Cake\Datasource\ModelAwareTrait
$this

setModelType()source public

setModelType( string $modelType )

Установить тип модели, используемой этим классом

Параметры

string $modelType
Тип модели

Возвращает


$this

Резюме магических методов

addAttachments()source public

addAttachments( $attachments )

Параметры

$attachments

Возвращает

Cake\Mailer\Mailer

addBcc()source public

addBcc( $email , $name = )

Параметры

$email
$name необязательно

Возвращает

Cake\Mailer\Mailer

addCc()source public

addCc( $email , $name = )

Параметры

$email
$name необязательно

Возвращает

Cake\Mailer\Mailer

addHeaders()source public

addHeaders( array $headers )

Параметры

массив $headers

Возвращает

Cake\Mailer\Mailer

addTo()source public

addTo( $email , $name = )

Параметры

$email
$name необязательно

Возвращает

Cake\Mailer\Mailer

attachments()source public

attachments( $attachments = )

Параметры

$attachments необязательно

Возвращает

Cake\Mailer\Mailer

bcc()source public

bcc( $email = , $name = )

Параметры

$email необязательно
$name необязательно

Возвращает

Cake\Mailer\Mailer

cc()source public

cc( $email = , $name = )

Параметры

$email необязательно
$name необязательно

Возвращает

Cake\Mailer\Mailer

charset()source public

charset( $charset = )

Параметры

$charset необязательно

Возвращает

Cake\Mailer\Mailer

domain()source public

domain( $domain = )

Параметры

$domain необязательно

Возвращает

Cake\Mailer\Mailer

emailFormat()source public

emailFormat( $format = )

Параметры

$format необязательно

Возвращает

Cake\Mailer\Mailer

emailPattern()source public

emailPattern( $regex = )

Параметры

$regex необязательно

Возвращает

Cake\Mailer\Mailer

from()source public

from( $email = , $name = )

Параметры

$email необязательно
$name необязательно

Возвращает

Cake\Mailer\Mailer

getAttachments()source public

getAttachments( )

Возвращает

массив

getBcc()source public

getBcc( )

Возвращает

массив

getCc()source public

getCc( )

Возвращает

массив

getCharset()source public

getCharset( )

Возвращает

строка

getDomain()source public

getDomain( )

Возвращает

строка

getEmailFormat()source public

getEmailFormat( )

Возвращает

строка

getEmailPattern()source public

getEmailPattern( )

Возвращает

строка

getFrom()source public

getFrom( )

Возвращает

массив

getHeaderCharset()source public

getHeaderCharset( )

Возвращает

строка

getHeaders()source public

getHeaders( array $include = )

Параметры

массив $include необязательно

Возвращает

Cake\Mailer\Mailer

getHelpers()source public

getHelpers( )

Возвращает

массив

getLayout()source public

getLayout( )

Возвращает

строка

getMessageId()source public

getMessageId( )

Возвращает

булево|строка

getProfile()source public

getProfile( )

Возвращает

строка|массив

getReadReceipt()source public

getReadReceipt( )

Возвращает

массив

getReplyTo()source public

getReplyTo( )

Возвращает

массив

getReturnPath()source public

getReturnPath( )

Возвращает

массив

getSender()source public

getSender( )

Возвращает

массив

getSubject()source public

getSubject( )

Возвращает

строка

getTemplate()source public

getTemplate( )

Возвращает

строка

getTheme()source public

getTheme( )

Возвращает

строка

getTo()source public

getTo( )

Возвращает

массив

getTransport()source public

getTransport( )

Возвращает

Cake\Mailer\AbstractTransport

getViewRenderer()source public

getViewRenderer( )

Возвращает

string

getViewVars()source public

getViewVars( )

Возвращает

array

headerCharset()source public

headerCharset( $charset = )

Параметры

$charset необязательно

Возвращает

Cake\Mailer\Mailer

helpers()source public

helpers( $helpers = )

Параметры

$helpers необязательно

Возвращает

Cake\Mailer\Mailer

message()source public

message( $type = )

Параметры

$type необязательно

Возвращает

Cake\Mailer\Mailer

messageId()source public

messageId( $message = )

Параметры

$message необязательно

Возвращает

Cake\Mailer\Mailer

profile()source public

profile( $config = )

Параметры

$config необязательно

Возвращает

Cake\Mailer\Mailer

readReceipt()source public

readReceipt( $email = , $name = )

Параметры

$email необязательно
$name необязательно

Возвращает

Cake\Mailer\Mailer

replyTo()source public

replyTo( $email = , $name = )

Параметры

$email необязательно
$name необязательно

Возвращает

Cake\Mailer\Mailer

returnPath()source public

returnPath( $email = , $name = )

Параметры

$email необязательно
$name необязательно

Возвращает

Cake\Mailer\Mailer

sender()source public

sender( $email = , $name = )

Параметры

$email необязательно
$name необязательно

Возвращает

Cake\Mailer\Mailer

setAttachments()source public

setAttachments( $attachments )

Параметры

$attachments

Возвращает

Cake\Mailer\Mailer

setBcc()source public

setBcc( $email , $name = )

Параметры

$email
$name необязательно

Возвращает

Cake\Mailer\Mailer

setCc()source public

setCc( $email , $name = )

Параметры

$email
$name необязательно

Возвращает

Cake\Mailer\Mailer

setCharset()source public

setCharset( $charset )

Параметры

$charset

Возвращает

Cake\Mailer\Mailer

setDomain()source public

setDomain( $domain )

Параметры

$domain

Возвращает

Cake\Mailer\Mailer

setEmailFormat()source public

setEmailFormat( $format )

Параметры

$format

Возвращает

Cake\Mailer\Mailer

setEmailPattern()source public

setEmailPattern( $regex )

Параметры

$regex

Возвращает

Cake\Mailer\Mailer

setFrom()source public

setFrom( $email , $name = )

Параметры

$email
$name необязательно

Возвращает

Cake\Mailer\Mailer

setHeaderCharset()source public

setHeaderCharset( $charset )

Параметры

$charset

Возвращает

Cake\Mailer\Mailer

setHeaders()source public

setHeaders( array $headers )

Параметры

массив $headers

Возвращает

Cake\Mailer\Mailer

setHelpers()source public

setHelpers( array $helpers )

Параметры

массив $helpers

Возвращает

Cake\Mailer\Mailer

setLayout()source public

setLayout( $layout )

Параметры

$layout

Возвращает

Cake\Mailer\Mailer

setMessageId()source public

setMessageId( $message )

Параметры

$message

Возвращает

Cake\Mailer\Mailer

setProfile()source public

setProfile( $config )

Параметры

$config

Возвращает

Cake\Mailer\Mailer

setReadReceipt()source public

setReadReceipt( $email , $name = )

Параметры

$email
$name необязательно

Возвращает

Cake\Mailer\Mailer

setReplyTo()source public

setReplyTo( $email , $name = )

Параметры

$email
$name необязательно

Возвращает

Cake\Mailer\Mailer

setReturnPath()source public

setReturnPath( $email , $name = )

Параметры

$email
$name необязательно

Возвращает

Cake\Mailer\Mailer

setSender()source public

setSender( $email , $name = )

Параметры

$email
$name необязательно

Возвращает

Cake\Mailer\Mailer

setSubject()source public

setSubject( $subject )

Параметры

$subject

Возвращаемое значение

Cake\Mailer\Mailer

setTemplate()source public

setTemplate( $template )

Параметры

$template

Возвращаемое значение

Cake\Mailer\Mailer

setTheme()source public

setTheme( $theme )

Параметры

$theme

Возвращаемое значение

Cake\Mailer\Mailer

setTo()source public

setTo( $email , $name = )

Параметры

$email
$name необязательно

Возвращаемое значение

Cake\Mailer\Mailer

setTransport()source public

setTransport( $name )

Параметры

$name

Возвращаемое значение

Cake\Mailer\Mailer

setViewRenderer()source public

setViewRenderer( $viewClass )

Параметры

$viewClass

Возвращаемое значение

Cake\Mailer\Mailer

setViewVars()source public

setViewVars( $viewVars )

Параметры

$viewVars

Возвращаемое значение

Cake\Mailer\Mailer

subject()source public

subject( $subject = )

Параметры

$subject необязательно

Возвращаемое значение

Cake\Mailer\Mailer

template()source public

template( $template = , $layout = )

Параметры

$template необязательно
$layout необязательно

Возвращаемое значение

Cake\Mailer\Mailer

theme()source public

theme( $theme = )

Параметры

$theme необязательно

Возвращаемое значение

Cake\Mailer\Mailer

to()source public

to( $email = , $name = )

Параметры

$email необязательно
$name необязательно

Возвращаемое значение

Cake\Mailer\Mailer

transport()source public

transport( $name = )

Параметры

$name необязательно

Возвращаемое значение

Cake\Mailer\Mailer

viewRender()source public

viewRender( $viewClass = )

Параметры

$viewClass необязательно

Возвращаемое значение

Cake\Mailer\Mailer

viewVars()source public

viewVars( $viewVars = )

Параметры

$viewVars необязательно

Возвращаемое значение

Cake\Mailer\Mailer

Подробное описание свойств

$_clonedEmailsource

protected Cake\Mailer\Email

Клонированный экземпляр Email для восстановления после отправки почты действием mailer.

$_emailsource

protected Cake\Mailer\Email

Экземпляр Email.

$namesource

public static string

Имя почтового сервиса.

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.8/class-Cake.Mailer.Mailer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API