1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
<?php
namespace Tev\Field\Model;
use Tev\Contracts\WordpressWrapperInterface;
/**
* Base custom field entity.
*/
abstract class AbstractField implements WordpressWrapperInterface
{
/**
* Underlying custom field array.
*
* @var array
*/
protected $base;
/**
* Constructor.
*
* @param array $base Underlying customer field array
* @return void
*/
public function __construct(array $base)
{
$this->base = $base;
}
/**
* Get the key for this field.
*
* @return string
*/
public function getKey()
{
return $this->base['key'];
}
/**
* Get the name of this field.
*
* @return string
*/
public function getName()
{
return $this->base['name'];
}
/**
* Get the field value.
*
* Alias for `getValue()`.
*
* @return mixed Field value
*/
public function val()
{
return $this->getValue();
}
/**
* Get the underlying field array
*
* @return array
*/
public function getBaseObject()
{
return $this->base;
}
/**
* When attempting to echo this field print its value as a string.
*
* @return string Field value
*/
public function __toString()
{
return $this->getValue();
}
/**
* Get the value of this field.
*
* @return mixed Field value
*/
abstract public function getValue();
}