PHP Class yii\captcha\Captcha

Captcha is used together with CaptchaAction to provide CAPTCHA - a way of preventing website spamming. The image element rendered by Captcha will display a CAPTCHA image generated by an action whose route is specified by [[captchaAction]]. This action must be an instance of CaptchaAction. When the user clicks on the CAPTCHA image, it will cause the CAPTCHA image to be refreshed with a new CAPTCHA. You may use CaptchaValidator to validate the user input matches the current CAPTCHA verification code. The following example shows how to use this widget with a model attribute: php echo Captcha::widget([ 'model' => $model, 'attribute' => 'captcha', ]); The following example will use the name property instead: php echo Captcha::widget([ 'name' => 'captcha', ]); You can also use this widget in an [[\yii\widgets\ActiveForm|ActiveForm]] using the [[\yii\widgets\ActiveField::widget()|widget()]] method, for example like this: php field($model, 'captcha')->widget(\yii\captcha\Captcha::classname(), [ configure additional widget properties here ]) ?>
Since: 2.0
Author: Qiang Xue ([email protected])
Inheritance: extends yii\widgets\InputWidget
Show file Open project: yiisoft/yii2 Class Usage Examples

Public Properties

Property Type Description
$captchaAction the route of the action that generates the CAPTCHA images. The action represented by this route must be an action of CaptchaAction. Please refer to [[\yii\helpers\Url::toRoute()]] for acceptable formats.
$imageOptions HTML attributes to be applied to the CAPTCHA image tag.
$options the HTML attributes for the input tag.
$template the template for arranging the CAPTCHA image tag and the text input tag. In this template, the token {image} will be replaced with the actual image tag, while {input} will be replaced with the text input tag.

Public Methods

Method Description
checkRequirements ( ) : string Checks if there is graphic extension available to generate CAPTCHA images.
init ( ) Initializes the widget.
registerClientScript ( ) Registers the needed JavaScript.
run ( ) Renders the widget.

Protected Methods

Method Description
getClientOptions ( ) : array Returns the options for the captcha JS widget.

Method Details

checkRequirements() public static method

This method will check the existence of ImageMagick and GD extensions.
public static checkRequirements ( ) : string
return string the name of the graphic extension, either "imagick" or "gd".

getClientOptions() protected method

Returns the options for the captcha JS widget.
protected getClientOptions ( ) : array
return array the options

init() public method

Initializes the widget.
public init ( )

registerClientScript() public method

Registers the needed JavaScript.

run() public method

Renders the widget.
public run ( )

Property Details

$captchaAction public property

the route of the action that generates the CAPTCHA images. The action represented by this route must be an action of CaptchaAction. Please refer to [[\yii\helpers\Url::toRoute()]] for acceptable formats.
public $captchaAction

$imageOptions public property

HTML attributes to be applied to the CAPTCHA image tag.
See also: yii\helpers\Html::renderTagAttributes() for details on how attributes are being rendered.
public $imageOptions

$options public property

the HTML attributes for the input tag.
See also: yii\helpers\Html::renderTagAttributes() for details on how attributes are being rendered.
public $options

$template public property

the template for arranging the CAPTCHA image tag and the text input tag. In this template, the token {image} will be replaced with the actual image tag, while {input} will be replaced with the text input tag.
public $template