Passed
Push — master ( d7519e...edfa92 )
by Radu
01:20
created

AbstractForm::isValid()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
namespace WebServCo\Framework;
3
4
abstract class AbstractForm extends \WebServCo\Framework\AbstractLibrary
5
{
6
    protected $errors = [];
7
    
8
    use \WebServCo\Framework\Traits\ExposeLibrariesTrait;
9
    
10
    public function __construct($settings)
11
    {
12
        parent::__construct($settings);
13
        
14
        foreach ($this->setting('meta', []) as $field => $title) {
15
            /**
16
             * Set form data from POST request.
17
             */
18
            $this->setData($field, $this->request()->data($field));
19
        }
20
    }
21
    
22
    abstract protected function db();
23
    abstract protected function validate();
24
    
25
    final public function asArray()
26
    {
27
        return [
28
            'meta' => $this->setting('meta', []),
29
            'data' => $this->data,
30
            'errors' => $this->errors,
31
        ];
32
    }
33
    
34
    final public function isSent()
35
    {
36
        return $this->request()->getMethod() === \WebServCo\Framework\Http::METHOD_POST;
37
    }
38
    
39
    final public function isValid()
40
    {
41
        return $this->validate();
42
    }
43
}
44