Сообщения (Flash)

В файле шаблона надо указать место, где будут показываться сообщения (например об ошибках).

<?= $this->Flash->render() ?>

Показывать сообщения можно через объект $this->Flash.

$this->Flash->success('Сообщение об успешном выполнении кода');
$this->Flash->error('Сообщение об ошибке');
$this->Flash->success('Информационное сообщение');

В результате будет показано сообщения как на картинке ниже.

Пример сообщений в CakePHP 4

CakePHP. Сообщения (Flash)

Сообщение показывается только один раз после его вызова.

Если вызвать $this->Flash несколько раз, то покажутся несколько сообщений.

Шаблон сообщений (flash)

Название методов $this->Flash является именем шаблона. Например, метод $this->Flash->success() вызывает файл:

  • CakePHP 4: templates/element/flash/success.php
  • CakePHP 3: src/Template/Element/Flash/success.ctp

Чтобы использовать свой шаблон, вместо «success» можно указать любое имя файла. Например, метод $this->Flash->anyName() вызывает файл:

  • CakePHP 4: templates/element/flash/any_name.php
  • CakePHP 3: src/Template/Element/Flash/any_name.php

Если указанного шаблона не будет, то выведется ошибка «Element file flash/any_name.php could not be found».

Сообщение в шаблоне выводится через переменную $message.

<!-- Вывести сообщение -->
<div class="message"><?= $message ?></div>