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 Краткое описание свойств Унаследованные свойства Краткое описание методов Магический метод для перенаправления метода класса к экземпляру Email. Конструктор. Возвращает имя mailer. Реализованные события. Устанавливает используемый макет. Сбросить экземпляр email. Отправить письмо. Устанавливает переменные представления email. Получить конструктор представлений экземпляра 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
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( string|array $key , mixed $value = null ) Устанавливает переменные представления email.
Параметры string|array $key Имя переменной или массив переменных представления. mixed $value необязательно null Значение переменной представления. Возвращает $this
_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( $email = , $name = ) Параметры $email необязательно $name необязательно Возвращает Cake\Mailer\Mailer 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( $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
Подробное описание свойств $_clonedEmail source protected Cake\Mailer\Email
Клонированный экземпляр Email для восстановления после отправки почты действием mailer.
public static string
Имя почтового сервиса.