Spec-Zone.ru › Yii 2.0

Класс yii\captcha\CaptchaAction

Все классы | Свойства | Методы | Константы
Наследование yii\captcha\CaptchaAction » yii\base\Action » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable
Доступна с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/captcha/CaptchaAction.php

CaptchaAction отображает изображение CAPTCHA.

CaptchaAction используется вместе с yii\captcha\Captcha и yii\captcha\CaptchaValidator для предоставления функции CAPTCHA.

Настраивая свойства CaptchaAction, вы можете настроить внешний вид сгенерированных изображений CAPTCHA, таких как цвет шрифта, цвет фона и т. д.

Обратите внимание, что CaptchaAction требует либо расширения GD2, либо расширения ImageMagick PHP.

Использование CAPTCHA включает следующие шаги:

  1. Переопределите yii\web\Controller::actions() и зарегистрируйте действие класса CaptchaAction с идентификатором 'captcha'
  2. В модели формы объявите атрибут для хранения введённого пользователем кода проверки и объявите, что атрибут должен быть проверен валидатором 'captcha'.
  3. В представлении контроллера вставьте виджет yii\captcha\Captcha в форму.

Публичные свойства

Свойство Тип Описание Определено в
$backColor integer Цвет фона. yii\captcha\CaptchaAction
$behaviors yii\base\Behavior[] Список присоединённых к этому компоненту поведений. yii\base\Component
$controller yii\base\Controller|yii\web\Controller Контроллер, которому принадлежит это действие. yii\base\Action
$fixedVerifyCode string Фиксированный код проверки. yii\captcha\CaptchaAction
$fontFile string Файл шрифта TrueType. yii\captcha\CaptchaAction
$foreColor integer Цвет шрифта. yii\captcha\CaptchaAction
$height integer Высота сгенерированного изображения CAPTCHA. yii\captcha\CaptchaAction
$id string Идентификатор действия. yii\base\Action
$imageLibrary string Библиотека для рендеринга. yii\captcha\CaptchaAction
$maxLength integer Максимальная длина случайно сгенерированного слова. yii\captcha\CaptchaAction
$minLength integer Минимальная длина случайно сгенерированного слова. yii\captcha\CaptchaAction
$offset integer Смещение между символами. yii\captcha\CaptchaAction
$padding integer Отступ вокруг текста. yii\captcha\CaptchaAction
$testLimit integer Сколько раз следует отображать тот же CAPTCHA. yii\captcha\CaptchaAction
$transparent boolean Использовать ли прозрачный фон. yii\captcha\CaptchaAction
$uniqueId string Уникальный идентификатор этого действия в рамках всего приложения. yii\base\Action
$verifyCode string Код проверки. yii\captcha\CaptchaAction
$width integer Ширина сгенерированного изображения CAPTCHA. yii\captcha\CaptchaAction

Публичные методы

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. yii\base\Object
__clone() Этот метод вызывается после создания объекта путем клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Action
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в null. yii\base\Object
attachBehavior() Прикрепляет поведение к данному компоненту. yii\base\Component
attachBehaviors() Прикрепляет список поведений к компоненту. yii\base\Component
behaviors() Возвращает список поведений, которые должен иметь данный компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, может ли свойство быть прочитано. yii\base\Object
canSetProperty() Возвращает значение, указывающее, может ли свойство быть установлено. yii\base\Object
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
detachBehavior() Открепляет поведение от компонента. yii\base\Component
detachBehaviors() Открепляет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), прикреплены к данному компоненту. yii\base\Component
generateValidationHash() Генерирует хэш-код, который может быть использован для проверки на стороне клиента. yii\captcha\CaptchaAction
getBehavior() Возвращает объект поведения по имени. yii\base\Component
getBehaviors() Возвращает все прикрепленные к этому компоненту поведения. yii\base\Component
getUniqueId() Возвращает уникальный идентификатор этого действия в рамках всего приложения. yii\base\Action
getVerifyCode() Получает код проверки. yii\captcha\CaptchaAction
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчик, прикрепленный к данному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определен ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует действие. yii\captcha\CaptchaAction
off() Отсоединяет существующего обработчика событий от этого компонента. yii\base\Component
on() Прикрепляет обработчик событий к событию. yii\base\Component
run() Выполняет действие. yii\captcha\CaptchaAction
runWithParams() Выполняет это действие со специфицированными параметрами. yii\base\Action
trigger() Вызывает событие. yii\base\Component
validate() Проверяет ввод, чтобы убедиться, что он соответствует сгенерированному коду. yii\captcha\CaptchaAction

Защищенные методы

Метод Описание Определено в
afterRun() Этот метод вызывается сразу после run(). yii\base\Action
beforeRun() Этот метод вызывается сразу перед run(). yii\base\Action
generateVerifyCode() Генерирует новый код проверки. yii\captcha\CaptchaAction
getSessionKey() Возвращает имя переменной сессии, используемой для хранения кода проверки. yii\captcha\CaptchaAction
renderImage() Отображает изображение CAPTCHA. yii\captcha\CaptchaAction
renderImageByGD() Отображает изображение CAPTCHA, основанное на коде, используя библиотеку GD. yii\captcha\CaptchaAction
renderImageByImagick() Отображает изображение CAPTCHA, основанное на коде, используя библиотеку ImageMagick. yii\captcha\CaptchaAction
setHttpHeaders() Устанавливает HTTP-заголовки, необходимые для ответа изображения. yii\captcha\CaptchaAction

Константы

Константа Значение Описание Определено в
REFRESH_GET_VAR 'refresh' Имя параметра GET, указывающего, нужно ли перегенерировать изображение CAPTCHA. yii\captcha\CaptchaAction

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

$backColor общедоступное свойство

Цвет фона. Например, 0x55FF00. По умолчанию 0xFFFFFF, что означает белый цвет.

public integer $backColor = 0xFFFFFF

$fixedVerifyCode общедоступное свойство

Фиксированный код проверки. Когда это свойство установлено, getVerifyCode() всегда будет возвращать значение этого свойства. Это в основном используется в автоматизированных тестах, где нам нужно иметь возможность воспроизводить тот же код проверки каждый раз при выполнении тестов. Если не установлено, это означает, что код проверки будет случайным.

public string $fixedVerifyCode = null

$fontFile общедоступное свойство

Файл шрифта TrueType. Это может быть либо путь к файлу, либо псевдоним пути.

public string $fontFile = '@yii/captcha/SpicyRice.ttf'

$foreColor общедоступное свойство

Цвет шрифта. Например, 0x55FF00. По умолчанию 0x2040A0 (синий цвет).

public integer $foreColor = 0x2040A0

$height общедоступное свойство

Высота сгенерированного изображения CAPTCHA. По умолчанию 50.

public integer $height = 50

$imageLibrary общедоступное свойство (доступно с версии 2.0.7)

Библиотека для рендеринга. В настоящее время поддерживаются только 'gd' и 'imagick'. Если не установлено, библиотека будет определена автоматически.

public string $imageLibrary = null

$maxLength общедоступное свойство

Максимальная длина случайно сгенерированного слова. По умолчанию 7.

public integer $maxLength = 7

$minLength общедоступное свойство

Минимальная длина случайно сгенерированного слова. По умолчанию 6.

public integer $minLength = 6

$offset свойство public

Смещение между символами. По умолчанию -2. Вы можете изменить это свойство, чтобы уменьшить или увеличить читаемость капчи.

public integer $offset = -2

$padding свойство public

Отступ вокруг текста. По умолчанию 2.

public integer $padding = 2

$testLimit свойство public

Сколько раз должна отображаться одна и та же капча. По умолчанию 3. Значение меньше или равно 0 означает, что проверка не ограничена (доступно начиная с версии 1.1.2).

public integer $testLimit = 3

$transparent свойство public

Использовать ли прозрачный фон. По умолчанию false.

public boolean $transparent = false

$verifyCode свойство public только для чтения

Код проверки.

public string getVerifyCode ( $regenerate = false )

$width свойство public

Ширина сгенерированного изображения капчи. По умолчанию 120.

public integer $width = 120

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

generateValidationHash() метод public

Генерирует хеш-код, который можно использовать для проверки на стороне клиента.

public string generateValidationHash ( $code )
$code string

Код капчи

return string

Хеш-код, сгенерированный из кода капчи

generateVerifyCode() метод protected

Генерирует новый код проверки.

protected string generateVerifyCode ( )
return string

Сгенерированный код проверки

getSessionKey() метод protected

Возвращает имя сеансовой переменной, используемой для хранения кода проверки.

protected string getSessionKey ( )
return string

Имя сеансовой переменной

getVerifyCode() метод public

Получает код проверки.

public string getVerifyCode ( $regenerate = false )
$regenerate boolean

Пересоздавать ли код проверки.

return string

Код проверки.

init() метод public

Инициализирует действие.

public void init ( )
throws yii\base\InvalidConfigException

если файл шрифта не существует.

renderImage() метод protected

Отображает изображение капчи.

protected string renderImage ( $code )
$code string

Код проверки

return string

Содержимое изображения

throws yii\base\InvalidConfigException

если imageLibrary не поддерживается

renderImageByGD() метод protected

Отображает изображение капчи на основе кода с использованием библиотеки GD.

protected string renderImageByGD ( $code )
$code string

Код проверки

return string

Содержимое изображения в формате PNG.

renderImageByImagick() метод protected

Отображает изображение капчи на основе кода с использованием библиотеки ImageMagick.

protected string renderImageByImagick ( $code )
$code string

Код проверки

return string

Содержимое изображения в формате PNG.

run() метод public

Выполняет действие.

public void run ( )

setHttpHeaders() метод protected

Устанавливает HTTP-заголовки, необходимые для ответа изображения.

protected void setHttpHeaders ( )

validate() метод public

Проверяет входные данные, чтобы увидеть, совпадают ли они с сгенерированным кодом.

public boolean validate ( $input, $caseSensitive )
$input string

Ввод пользователя

$caseSensitive boolean

Является ли сравнение регистрозависимым

return boolean

Действителен ли ввод

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-captcha-captchaaction.html

Spec-Zone.ru

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