Source of file AbstractAdapter.php
Size: 2,974 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Captcha/AbstractAdapter.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Captcha; use Traversable; use Zend\Validator\AbstractValidator; /** * Base class for Captcha adapters * * Provides some utility functionality to build on */ abstract class AbstractAdapter extends AbstractValidator implements AdapterInterface { /** * Captcha name * * Useful to generate/check form fields * * @var string */ protected $name; /** * Captcha options * * @var array */ protected $options = array(); /** * Options to skip when processing options * @var array */ protected $skipOptions = array( 'options', 'config', ); /** * Get name * * @return string */ public function getName() { return $this->name; } /** * Set name * * @param string $name * @return AbstractAdapter */ public function setName($name) { $this->name = $name; return $this; } /** * Set single option for the object * * @param string $key * @param string $value * @return AbstractAdapter */ public function setOption($key, $value) { if (in_array(strtolower($key), $this->skipOptions)) { return $this; } $method = 'set' . ucfirst($key); if (method_exists($this, $method)) { // Setter exists; use it $this->$method($value); $this->options[$key] = $value; } elseif (property_exists($this, $key)) { // Assume it's metadata $this->$key = $value; $this->options[$key] = $value; } return $this; } /** * Set object state from options array * * @param array|Traversable $options * @throws Exception\InvalidArgumentException * @return AbstractAdapter */ public function setOptions($options = array()) { if (!is_array($options) && !$options instanceof Traversable) { throw new Exception\InvalidArgumentException(__METHOD__ . ' expects an array or Traversable'); } foreach ($options as $key => $value) { $this->setOption($key, $value); } return $this; } /** * Retrieve options representing object state * * @return array */ public function getOptions() { return $this->options; } /** * Get helper name used to render captcha * * By default, return empty string, indicating no helper needed. * * @return string */ public function getHelperName() { return ''; } } |