Example dumb word-based captcha

Note that only rendering is necessary for word-based captcha

todo This likely needs its own validation since it expects the word entered to be the strrev of the word stored.

 Methods

Abstract constructor for all validators A validator should accept following parameters: - nothing f.e.

__construct(array | \Traversable $options) 
Inherited

Validator() - one or multiple scalar values f.e. Validator($first, $second, $third) - an array f.e. Validator(array($first => 'first', $second => 'second', $third => 'third')) - an instance of Traversable f.e. Validator($config_instance)

inherited_from \Zend\Validator\AbstractValidator::__construct()
inherited_from \Zend\Captcha\AbstractAdapter::__construct()
inherited_from \Zend\Captcha\AbstractWord::__construct()

Parameters

$options

array\Traversable

Magic function returns the value of the requested property, if and only if it is the value or a message variable.

__get(string $property) : mixed
Inherited

inherited_from \Zend\Validator\AbstractValidator::__get()
inherited_from \Zend\Captcha\AbstractAdapter::__get()
inherited_from \Zend\Captcha\AbstractWord::__get()

Parameters

$property

string

Exceptions

\Zend\Validator\Exception\InvalidArgumentException

Returns

mixed

Invoke as command

__invoke(mixed $value) : bool
Inherited

inherited_from \Zend\Validator\AbstractValidator::__invoke()
inherited_from \Zend\Captcha\AbstractAdapter::__invoke()
inherited_from \Zend\Captcha\AbstractWord::__invoke()

Parameters

$value

mixed

Returns

bool

Generate new session ID and new word

generate() : string
Inherited

inherited_from \Zend\Captcha\AbstractWord::generate()

Returns

stringsession ID

Get default translation object for all validate objects

getDefaultTranslator() : \Zend\Validator\Translator\TranslatorInterface | null
Inherited

inherited_from \Zend\Validator\AbstractValidator::getDefaultTranslator()
inherited_from \Zend\Captcha\AbstractAdapter::getDefaultTranslator()
inherited_from \Zend\Captcha\AbstractWord::getDefaultTranslator()

Returns

Get default translation text domain for all validate objects

getDefaultTranslatorTextDomain() : string
Inherited

inherited_from \Zend\Validator\AbstractValidator::getDefaultTranslatorTextDomain()
inherited_from \Zend\Captcha\AbstractAdapter::getDefaultTranslatorTextDomain()
inherited_from \Zend\Captcha\AbstractWord::getDefaultTranslatorTextDomain()

Returns

string

Retrieve optional view helper name to use when rendering this captcha

getHelperName() : string

By default, return empty string, indicating no helper needed.

Returns

string

Retrieve captcha ID

getId() : string
Inherited

inherited_from \Zend\Captcha\AbstractWord::getId()

Returns

string

Retrieve the label for the CAPTCHA

getLabel() : string

Returns

string

Returns the maximum allowed message length

getMessageLength() : int
Inherited

inherited_from \Zend\Validator\AbstractValidator::getMessageLength()
inherited_from \Zend\Captcha\AbstractAdapter::getMessageLength()
inherited_from \Zend\Captcha\AbstractWord::getMessageLength()

Returns

int

Returns the message templates from the validator

getMessageTemplates() : array
Inherited

inherited_from \Zend\Validator\AbstractValidator::getMessageTemplates()
inherited_from \Zend\Captcha\AbstractAdapter::getMessageTemplates()
inherited_from \Zend\Captcha\AbstractWord::getMessageTemplates()

Returns

array

Returns an array of the names of variables that are used in constructing validation failure messages

getMessageVariables() : array
Inherited

inherited_from \Zend\Validator\AbstractValidator::getMessageVariables()
inherited_from \Zend\Captcha\AbstractAdapter::getMessageVariables()
inherited_from \Zend\Captcha\AbstractWord::getMessageVariables()

Returns

array

Returns array of validation failure messages

getMessages() : array
Inherited

The array keys are validation failure message identifiers, and the array values are the corresponding human-readable message strings.

If isValid() was never called or if the most recent isValid() call returned true, then this method returns an empty array.

inherited_from \Zend\Validator\AbstractValidator::getMessages()
inherited_from \Zend\Captcha\AbstractAdapter::getMessages()
inherited_from \Zend\Captcha\AbstractWord::getMessages()

Returns

array

Get name

getName() : string
Inherited

inherited_from \Zend\Captcha\AbstractAdapter::getName()
inherited_from \Zend\Captcha\AbstractWord::getName()

Returns

string

Returns an option

getOption(string $option) : mixed
Inherited

inherited_from \Zend\Validator\AbstractValidator::getOption()
inherited_from \Zend\Captcha\AbstractAdapter::getOption()
inherited_from \Zend\Captcha\AbstractWord::getOption()

Parameters

$option

string

Option to be returned

Exceptions

\Zend\Validator\Exception\InvalidArgumentException

Returns

mixedReturned option

Retrieve options representing object state

getOptions() : array
Inherited

inherited_from \Zend\Captcha\AbstractAdapter::getOptions()
inherited_from \Zend\Captcha\AbstractWord::getOptions()

Returns

array

Get session object

getSession() : \Zend\Session\Container
Inherited

inherited_from \Zend\Captcha\AbstractWord::getSession()

Exceptions

\Zend\Captcha\Exception\InvalidArgumentException

Returns

Retrieve session class to utilize

getSessionClass() : string
Inherited

inherited_from \Zend\Captcha\AbstractWord::getSessionClass()

Returns

string

Get session token timeout

getTimeout() : int
Inherited

inherited_from \Zend\Captcha\AbstractWord::getTimeout()

Returns

int

Return translation object

getTranslator() : \Zend\Validator\Translator\TranslatorInterface | null
Inherited

inherited_from \Zend\Validator\AbstractValidator::getTranslator()
inherited_from \Zend\Captcha\AbstractAdapter::getTranslator()
inherited_from \Zend\Captcha\AbstractWord::getTranslator()

Returns

Return the translation text domain

getTranslatorTextDomain() : string
Inherited

inherited_from \Zend\Validator\AbstractValidator::getTranslatorTextDomain()
inherited_from \Zend\Captcha\AbstractAdapter::getTranslatorTextDomain()
inherited_from \Zend\Captcha\AbstractWord::getTranslatorTextDomain()

Returns

string

Numbers should be included in the pattern?

getUseNumbers() : bool
Inherited

inherited_from \Zend\Captcha\AbstractWord::getUseNumbers()

Returns

bool

Get captcha word

getWord() : string
Inherited

inherited_from \Zend\Captcha\AbstractWord::getWord()

Returns

string

Retrieve word length to use when generating captcha

getWordlen() : int
Inherited

inherited_from \Zend\Captcha\AbstractWord::getWordlen()

Returns

int

Is there a default translation object set?

hasDefaultTranslator() : bool
Inherited

inherited_from \Zend\Validator\AbstractValidator::hasDefaultTranslator()
inherited_from \Zend\Captcha\AbstractAdapter::hasDefaultTranslator()
inherited_from \Zend\Captcha\AbstractWord::hasDefaultTranslator()

Returns

bool

Does this validator have its own specific translator?

hasTranslator() : bool
Inherited

inherited_from \Zend\Validator\AbstractValidator::hasTranslator()
inherited_from \Zend\Captcha\AbstractAdapter::hasTranslator()
inherited_from \Zend\Captcha\AbstractWord::hasTranslator()

Returns

bool

Is translation enabled?

isTranslatorEnabled() : bool
Inherited

inherited_from \Zend\Validator\AbstractValidator::isTranslatorEnabled()
inherited_from \Zend\Captcha\AbstractAdapter::isTranslatorEnabled()
inherited_from \Zend\Captcha\AbstractWord::isTranslatorEnabled()

Returns

bool

Validate the word

isValid(mixed $value, mixed $context) : bool
Inherited

If $value fails validation, then this method returns false, and getMessages() will return an array of messages that explain why the validation failed.

see \Zend\Validator\ValidatorInterface::isValid()
inherited_from \Zend\Captcha\AbstractWord::isValid()

Parameters

$value

mixed

$context

mixed

Exceptions

\Zend\Validator\Exception\RuntimeException If validation of $value is impossible

Returns

bool

Retrieve flag indicating whether or not value should be obfuscated in messages

isValueObscured() : bool
Inherited

inherited_from \Zend\Validator\AbstractValidator::isValueObscured()
inherited_from \Zend\Captcha\AbstractAdapter::isValueObscured()
inherited_from \Zend\Captcha\AbstractWord::isValueObscured()

Returns

bool

Set default translation object for all validate objects

setDefaultTranslator(\Zend\Validator\Translator\TranslatorInterface $translator, string $textDomain) : void
Inherited

inherited_from \Zend\Validator\AbstractValidator::setDefaultTranslator()
inherited_from \Zend\Captcha\AbstractAdapter::setDefaultTranslator()
inherited_from \Zend\Captcha\AbstractWord::setDefaultTranslator()

Parameters

$textDomain

string

(optional)

Exceptions

\Zend\Validator\Exception\InvalidArgumentException

Set default translation text domain for all validate objects

setDefaultTranslatorTextDomain(string $textDomain) : void
Inherited

inherited_from \Zend\Validator\AbstractValidator::setDefaultTranslatorTextDomain()
inherited_from \Zend\Captcha\AbstractAdapter::setDefaultTranslatorTextDomain()
inherited_from \Zend\Captcha\AbstractWord::setDefaultTranslatorTextDomain()

Parameters

$textDomain

string

Sets if session should be preserved on generate()

setKeepSession(bool $keepSession) : \Zend\Captcha\AbstractWord
Inherited

inherited_from \Zend\Captcha\AbstractWord::setKeepSession()

Parameters

$keepSession

bool

Should session be kept on generate()?

Returns

Set the label for the CAPTCHA

setLabel(string $label) 

Parameters

$label

string

Sets the validation failure message template for a particular key

setMessage(string $messageString, string $messageKey) : \Zend\Validator\AbstractValidator
Inherited

inherited_from \Zend\Validator\AbstractValidator::setMessage()
inherited_from \Zend\Captcha\AbstractAdapter::setMessage()
inherited_from \Zend\Captcha\AbstractWord::setMessage()

Parameters

$messageString

string

$messageKey

string

OPTIONAL

Exceptions

\Zend\Validator\Exception\InvalidArgumentException

Returns

\Zend\Validator\AbstractValidatorProvides a fluent interface

Sets the maximum allowed message length

setMessageLength(int $length) 
Inherited

inherited_from \Zend\Validator\AbstractValidator::setMessageLength()
inherited_from \Zend\Captcha\AbstractAdapter::setMessageLength()
inherited_from \Zend\Captcha\AbstractWord::setMessageLength()

Parameters

$length

int

Sets validation failure message templates given as an array, where the array keys are the message keys, and the array values are the message template strings.

setMessages(array $messages) : \Zend\Validator\AbstractValidator
Inherited

inherited_from \Zend\Validator\AbstractValidator::setMessages()
inherited_from \Zend\Captcha\AbstractAdapter::setMessages()
inherited_from \Zend\Captcha\AbstractWord::setMessages()

Parameters

$messages

array

Returns

Set name

setName(string $name) : \Zend\Captcha\AbstractAdapter
Inherited

inherited_from \Zend\Captcha\AbstractAdapter::setName()
inherited_from \Zend\Captcha\AbstractWord::setName()

Parameters

$name

string

Returns

Set single option for the object

setOption(string $key, string $value) : \Zend\Captcha\AbstractAdapter
Inherited

inherited_from \Zend\Captcha\AbstractAdapter::setOption()
inherited_from \Zend\Captcha\AbstractWord::setOption()

Parameters

$key

string

$value

string

Returns

Set object state from options array

setOptions(array | \Traversable $options) : \Zend\Captcha\AbstractAdapter
Inherited

inherited_from \Zend\Captcha\AbstractAdapter::setOptions()
inherited_from \Zend\Captcha\AbstractWord::setOptions()

Parameters

$options

array\Traversable

Exceptions

\Zend\Captcha\Exception\InvalidArgumentException

Returns

Set session namespace object

setSession(\Zend\Session\Container $session) : \Zend\Captcha\AbstractWord
Inherited

inherited_from \Zend\Captcha\AbstractWord::setSession()

Parameters

Returns

Set session class for persistence

setSessionClass(string $sessionClass) : \Zend\Captcha\AbstractWord
Inherited

inherited_from \Zend\Captcha\AbstractWord::setSessionClass()

Parameters

$sessionClass

string

Returns

Set timeout for session token

setTimeout(int $ttl) : \Zend\Captcha\AbstractWord
Inherited

inherited_from \Zend\Captcha\AbstractWord::setTimeout()

Parameters

$ttl

int

Returns

Set translation object

setTranslator(\Zend\Validator\Translator\TranslatorInterface $translator, string $textDomain) : \Zend\Validator\AbstractValidator
Inherited

inherited_from \Zend\Validator\AbstractValidator::setTranslator()
inherited_from \Zend\Captcha\AbstractAdapter::setTranslator()
inherited_from \Zend\Captcha\AbstractWord::setTranslator()

Parameters

$textDomain

string

(optional)

Exceptions

\Zend\Validator\Exception\InvalidArgumentException

Returns

Indicate whether or not translation should be enabled

setTranslatorEnabled(bool $flag) : \Zend\Validator\AbstractValidator
Inherited

inherited_from \Zend\Validator\AbstractValidator::setTranslatorEnabled()
inherited_from \Zend\Captcha\AbstractAdapter::setTranslatorEnabled()
inherited_from \Zend\Captcha\AbstractWord::setTranslatorEnabled()

Parameters

$flag

bool

Returns

Set translation text domain

setTranslatorTextDomain(string $textDomain) : \Zend\Validator\AbstractValidator
Inherited

inherited_from \Zend\Validator\AbstractValidator::setTranslatorTextDomain()
inherited_from \Zend\Captcha\AbstractAdapter::setTranslatorTextDomain()
inherited_from \Zend\Captcha\AbstractWord::setTranslatorTextDomain()

Parameters

$textDomain

string

Returns

Set if numbers should be included in the pattern

setUseNumbers(bool $useNumbers) : \Zend\Captcha\AbstractWord
Inherited

inherited_from \Zend\Captcha\AbstractWord::setUseNumbers()

Parameters

$useNumbers

bool

numbers should be included in the pattern?

Returns

Set flag indicating whether or not value should be obfuscated in messages

setValueObscured(bool $flag) : \Zend\Validator\AbstractValidator
Inherited

inherited_from \Zend\Validator\AbstractValidator::setValueObscured()
inherited_from \Zend\Captcha\AbstractAdapter::setValueObscured()
inherited_from \Zend\Captcha\AbstractWord::setValueObscured()

Parameters

$flag

bool

Returns

Set word length of captcha

setWordlen(int $wordlen) : \Zend\Captcha\AbstractWord
Inherited

inherited_from \Zend\Captcha\AbstractWord::setWordlen()

Parameters

$wordlen

int

Returns

Constructs and returns a validation failure message with the given message key and value.

createMessage(string $messageKey, string | array | object $value) : string
Inherited

Returns null if and only if $messageKey does not correspond to an existing template.

If a translator is available and a translation exists for $messageKey, the translation will be used.

inherited_from \Zend\Validator\AbstractValidator::createMessage()
inherited_from \Zend\Captcha\AbstractAdapter::createMessage()
inherited_from \Zend\Captcha\AbstractWord::createMessage()

Parameters

$messageKey

string

$value

stringarrayobject

Returns

string

error()

error(string $messageKey, string $value) : void
Inherited

inherited_from \Zend\Validator\AbstractValidator::error()
inherited_from \Zend\Captcha\AbstractAdapter::error()
inherited_from \Zend\Captcha\AbstractWord::error()

Parameters

$messageKey

string

$value

string

OPTIONAL

Generate a random identifier

generateRandomId() : string
Inherited

inherited_from \Zend\Captcha\AbstractWord::generateRandomId()

Returns

string

Generate new random word

generateWord() : string
Inherited

inherited_from \Zend\Captcha\AbstractWord::generateWord()

Returns

string

Returns the validation value

getValue() : mixed
Inherited

inherited_from \Zend\Validator\AbstractValidator::getValue()
inherited_from \Zend\Captcha\AbstractAdapter::getValue()
inherited_from \Zend\Captcha\AbstractWord::getValue()

Returns

mixedValue to be validated

Set captcha identifier

setId(string $id) : \Zend\Captcha\AbstractWord
Inherited

inherited_from \Zend\Captcha\AbstractWord::setId()

Parameters

$id

string

Returns

Sets the value to be validated and clears the messages and errors arrays

setValue(mixed $value) : void
Inherited

inherited_from \Zend\Validator\AbstractValidator::setValue()
inherited_from \Zend\Captcha\AbstractAdapter::setValue()
inherited_from \Zend\Captcha\AbstractWord::setValue()

Parameters

$value

mixed

Set captcha word

setWord(string $word) : \Zend\Captcha\AbstractWord
Inherited

inherited_from \Zend\Captcha\AbstractWord::setWord()

Parameters

$word

string

Returns

Translate a validation message

translateMessage(string $messageKey, string $message) : string
Inherited

inherited_from \Zend\Validator\AbstractValidator::translateMessage()
inherited_from \Zend\Captcha\AbstractAdapter::translateMessage()
inherited_from \Zend\Captcha\AbstractWord::translateMessage()

Parameters

$messageKey

string

$message

string

Returns

string

 Properties

 

$C

$C 
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$C
 

$CN

$CN 
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$CN
 

$V

$V 
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$V
 

$VN

$VN 
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$VN
 

$abstractOptions

$abstractOptions 
Inherited

inherited_from \Zend\Validator\AbstractValidator::$$abstractOptions
inherited_from \Zend\Captcha\AbstractAdapter::$$abstractOptions
inherited_from \Zend\Captcha\AbstractWord::$$abstractOptions
 

Default translation object for all validate objects

$defaultTranslator : \Zend\Validator\Translator\TranslatorInterface
Inherited

inherited_from \Zend\Validator\AbstractValidator::$$defaultTranslator
inherited_from \Zend\Captcha\AbstractAdapter::$$defaultTranslator
inherited_from \Zend\Captcha\AbstractWord::$$defaultTranslator
 

Default text domain to be used with translator

$defaultTranslatorTextDomain : string
Inherited

inherited_from \Zend\Validator\AbstractValidator::$$defaultTranslatorTextDomain
inherited_from \Zend\Captcha\AbstractAdapter::$$defaultTranslatorTextDomain
inherited_from \Zend\Captcha\AbstractWord::$$defaultTranslatorTextDomain
 

Random session ID

$id : string
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$id
 

Should generate() keep session or create a new one?

$keepSession : bool
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$keepSession
 

CAPTCHA label

$label 

type string
 

Limits the maximum returned length of a error message

$messageLength : int
Inherited

inherited_from \Zend\Validator\AbstractValidator::$$messageLength
inherited_from \Zend\Captcha\AbstractAdapter::$$messageLength
inherited_from \Zend\Captcha\AbstractWord::$$messageLength
 

Error messages

$messageTemplates : array
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$messageTemplates
 

Captcha name

$name : string
Inherited

Useful to generate/check form fields

inherited_from \Zend\Captcha\AbstractAdapter::$$name
inherited_from \Zend\Captcha\AbstractWord::$$name
 

Captcha options

$options : array
Inherited

inherited_from \Zend\Captcha\AbstractAdapter::$$options
inherited_from \Zend\Captcha\AbstractWord::$$options
 

Session

$session : \Zend\Session\Container
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$session
 

Class name for sessions

$sessionClass : string
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$sessionClass
 

Options to skip when processing options

$skipOptions : array
Inherited

inherited_from \Zend\Captcha\AbstractAdapter::$$skipOptions
inherited_from \Zend\Captcha\AbstractWord::$$skipOptions
 

Session lifetime for the captcha data

$timeout : int
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$timeout
 

Should the numbers be used or only letters

$useNumbers : bool
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$useNumbers
 

The value to be validated

$value : mixed
Inherited

inherited_from \Zend\Validator\AbstractValidator::$$value
inherited_from \Zend\Captcha\AbstractAdapter::$$value
inherited_from \Zend\Captcha\AbstractWord::$$value
 

Generated word

$word : string
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$word
 

Length of the word to generate

$wordlen : int
Inherited

inherited_from \Zend\Captcha\AbstractWord::$$wordlen

 Constants

 

BAD_CAPTCHA

BAD_CAPTCHA 
Inherited

inherited_from \Zend\Captcha\AbstractWord::BAD_CAPTCHA
 

MISSING_ID

MISSING_ID 
Inherited

inherited_from \Zend\Captcha\AbstractWord::MISSING_ID
 

MISSING_VALUE

MISSING_VALUE 
Inherited

inherited_from \Zend\Captcha\AbstractWord::MISSING_VALUE