3 namespace Custom\Model;
6 use Zend\InputFilter\Factory as InputFactory;
7 use Zend\InputFilter\InputFilter;
8 use Zend\InputFilter\InputFilterInterface;
9 use Zend\InputFilter\InputFilterAwareInterface;
12 class Entity implements InputFilterAwareInterface
15 protected $inputFilter;
17 public function exchangeArray($data, $overwrite=true)
19 foreach($this->columns as $col) {
20 if (array_key_exists($col, $data)) {
21 $this->$col = $data[$col];
22 } elseif ($overwrite) {
28 public function toArray() {
30 foreach($this->columns as $col) {
31 $result[$col] = $this->$col;
36 public function getArrayCopy() {
38 foreach($this->columns as $col) {
39 $result[$col] = $this->$col;
44 public function toUpdatableArray() {
46 foreach($this->updatable_columns as $col) {
47 $result[$col] = $this->$col;
52 public function toPrimaryArray() {
54 foreach($this->primary_columns as $col) {
55 $result[$col] = $this->$col;
62 public function setInputFilter(InputFilterInterface $inputfilter)
64 $this->inputFilter = $inputFilter;
67 public function getInputFilter()
69 if (!$this->inputFilter) {
70 $this->setDefaultInputFilter();
72 return $this->inputFilter;
75 protected function setDefaultInputFilter()
77 $inputFilter = new InputFilter;
78 $factory = new InputFactory;
80 for ($this->getDefaultInputFilterArrays() as $params) {
81 $inputFilter->add($factory->createInput($params))
83 $this->inputFilter = $inputFilter;
85 return $this->inputFilter;
89 protected function getDefaultInputFilterArrays()