Spec-Zone.ru › CakePHP 3.3

Класс Mailer

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

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

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

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

class UserMailer extends Mailer
{
    public function resetPassword($user)
    {
        $this
            ->subject('Reset Password')
            ->to($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
    string

    Клонированный экземпляр 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
    Устанавливает используемый макет.
  • reset() protected
    Сбросить экземпляр email.
  • send() public
    Отправить электронное письмо.
  • set() public
    Устанавливает переменные представления электронной почты.
  • viewBuilder() public
    Получить конструктор представлений экземпляра Email.

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

__call()source public

__call( string $method , array $args )

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

Параметры

строка $method
Имя метода.
массив $args
Аргументы метода

Возвращает


$this

__construct()source public

__construct( Cake\Mailer\Email $email null )

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

Параметры

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

getName()source public

getName( )

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

Возвращает

строка

implementedEvents()source public

implementedEvents( )

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

Возвращает

массив

Реализация

Cake\Event\EventListenerInterface::implementedEvents()

layout()source public

layout( string $layout )

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

Параметры

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

Возвращает


объект $this.

reset()source protected

reset( )

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

Возвращает


$this

send()source public

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

Отправить электронное письмо.

Параметры

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

Возвращает

массив

Выбрасывает

Cake\Mailer\Exception\MissingActionException
BadMethodCallException

set()source public

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

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

Параметры

строка|массив $key
Имя переменной или хеш переменных представления.
смешанный $value опционально null
Значение переменной представления.

Возвращает


объект $this.

viewBuilder()source public

viewBuilder( )

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

Возвращает

Cake\View\ViewBuilder

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

_setModelClass()source protected

_setModelClass( string $name )

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

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

Параметры

строка $name
Имя класса.

loadModel()source public

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

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

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

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

Параметры

строка|null $modelClass опционально null
Имя класса модели для загрузки. По умолчанию $this->modelClass
строка|null $modelType опционально null
Тип репозитория для загрузки. По умолчанию значение modelType().

Возвращает

Cake\Datasource\RepositoryInterface
Созданный экземпляр модели.

Выбрасывает

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

modelFactory()source public

modelFactory( string $type , callable $factory )

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

Параметры

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

modelType()source public

modelType( string|null $modelType null )

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

Параметры

строка|null $modelType опционально null
Тип модели или null для получения текущего

Возвращает

строка|Cake\Datasource\ModelAwareTrait
$this

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

addAttachments()source public

addAttachments( $attachments )

Параметры

$attachments

Возвращает

Cake\Mailer\Email

addBcc()source public

addBcc( $email , $name )

Параметры

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

Возвращает

Cake\Mailer\Email

addCc()source public

addCc( $email , $name )

Параметры

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

Возвращает

Cake\Mailer\Email

addHeaders()source public

addHeaders( array $headers )

Параметры

массив $headers

Возвращает

Cake\Mailer\Email

addTo()source public

addTo( $email , $name )

Параметры

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

Возвращает

Cake\Mailer\Email

attachments()source public

attachments( $attachments )

Параметры

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

Возвращает

Cake\Mailer\Email

bcc()source public

bcc( $email , $name )

Параметры

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

Возвращает

Cake\Mailer\Email

cc()source public

cc( $email , $name )

Параметры

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

Возвращает

Cake\Mailer\Email

charset()source public

charset( $charset )

Параметры

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

Возвращает

Cake\Mailer\Email

domain()source public

domain( $domain )

Параметры

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

Возвращает

Cake\Mailer\Email

emailFormat()source public

emailFormat( $format )

Параметры

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

Возвращает

Cake\Mailer\Email

from()source public

from( $email , $name )

Параметры

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

Возвращает

Cake\Mailer\Email

getHeaders()source public

getHeaders( array $include )

Параметры

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

Возвращает

Cake\Mailer\Email

headerCharset()source public

headerCharset( $charset )

Параметры

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

Возвращает

Cake\Mailer\Email

helpers()source public

helpers( $helpers )

Параметры

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

Возвращает

Cake\Mailer\Email

message()source public

message( $type )

Параметры

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

Возвращает

Cake\Mailer\Email

messageId()source public

messageId( $message )

Параметры

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

Возвращает

Cake\Mailer\Email

profile()source public

profile( $config )

Параметры

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

Возвращает

Cake\Mailer\Email

readReceipt()source public

readReceipt( $email , $name )

Параметры

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

Возвращает

Cake\Mailer\Email

replyTo()source public

replyTo( $email , $name )

Параметры

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

Возвращает

Cake\Mailer\Email

returnPath()source public

returnPath( $email , $name )

Параметры

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

Возвращает

Cake\Mailer\Email

sender()source public

sender( $email , $name )

Параметры

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

Возвращает

Cake\Mailer\Email

setHeaders()source public

setHeaders( array $headers )

Параметры

массив $headers

Возвращает

Cake\Mailer\Email

subject()source public

subject( $subject )

Параметры

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

Возвращает

Cake\Mailer\Email

template()source public

template( $template , $layout )

Параметры

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

Возвращает

Cake\Mailer\Email

theme()source public

theme( $theme )

Параметры

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

Возвращает

Cake\Mailer\Email

to()source public

to( $email , $name )

Параметры

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

Возвращает

Cake\Mailer\Email

transport()source public

transport( $name )

Параметры

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

Возвращает

Cake\Mailer\Email

viewRender()source public

viewRender( $viewClass )

Параметры

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

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

Cake\Mailer\Email

viewVars()source public

viewVars( $viewVars )

Параметры

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

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

Cake\Mailer\Email

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

$_clonedEmailsource

protected string

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

$_emailsource

protected Cake\Mailer\Email

Экземпляр электронной почты.

$namesource

public static string

Имя маилера.

© 2005–2017 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.3/class-Cake.Mailer.Mailer.html

Spec-Zone.ru

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