<?php
namespace BrizyForms\Model;
class Field implements \Serializable, \JsonSerializable
{
/**
* @var string
*/
protected $slug;
/**
* @var string
*/
protected $name;
/**
* @var boolean
*/
protected $required;
public function __construct($name = null, $slug = null, $required = null)
{
$this->name = $name;
$this->slug = $slug;
$this->required = $required;
}
/**
* @return string
*/
public function getSlug()
{
return $this->slug;
}
/**
* @param $slug
* @return $this
*/
public function setSlug($slug)
{
$this->slug = $slug;
return $this;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* @param $name
* @return $this
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* @return boolean
*/
public function getRequired()
{
return $this->required;
}
/**
* @param $required
* @return $this
*/
public function setRequired($required)
{
$this->required = $required;
return $this;
}
/**
* String representation of object
* @link https://php.net/manual/en/serializable.serialize.php
* @return string the string representation of the object or null
* @since 5.1.0
*/
public function serialize()
{
return serialize([
$this->slug,
$this->name,
$this->required
]);
}
/**
* Constructs the object
* @link https://php.net/manual/en/serializable.unserialize.php
* @param string $serialized <p>
* The string representation of the object.
* </p>
* @return void
* @since 5.1.0
*/
public function unserialize($serialized)
{
list(
$this->slug,
$this->name,
$this->required
) = unserialize($serialized);
}
/**
* Specify data which should be serialized to JSON
* @link https://php.net/manual/en/jsonserializable.jsonserialize.php
* @return mixed data which can be serialized by <b>json_encode</b>,
* which is a value of any type other than a resource.
* @since 5.4.0
*/
public function jsonSerialize()
{
return [
'slug' => $this->slug,
'name' => $this->name,
'required' => $this->required
];
}
}