ChangeEmailFormFactory::createService()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 22
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 22
rs 9.2
cc 1
eloc 12
nc 1
nop 1
1
<?php
2
namespace ZfcUser\Factory\Form;
3
4
use Zend\ServiceManager\FactoryInterface;
5
use Zend\ServiceManager\ServiceLocatorInterface;
6
use ZfcUser\Form\ChangeEmail;
7
use ZfcUser\Form\ChangeEmailFilter;
8
use ZfcUser\Options;
9
use ZfcUser\Validator\NoRecordExists;
10
11
class ChangeEmailFormFactory implements FactoryInterface
12
{
13
    /**
14
     * {@inheritDoc}
15
     */
16
    public function createService(ServiceLocatorInterface $serviceManager)
17
    {
18
        /* @var $options Options\ModuleOptions */
19
        $options = $serviceManager->get('zfcuser_module_options');
20
21
        $userMapper = $serviceManager->get('zfcuser_user_mapper');
22
23
        $emailValidator = new NoRecordExists(array(
24
            'mapper' => $userMapper,
25
            'key' => 'email',
26
        ));
27
28
        $inputFilter = new ChangeEmailFilter(
29
            $options,
30
            $emailValidator
31
        );
32
33
        $form = new ChangeEmail(null, $options);
34
        $form->setInputFilter($inputFilter);
35
36
        return $form;
37
    }
38
}
39