Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Extending ZfcUser with Zend Framework 2

Hi I am trying to write a user registration form using ZfcUser module for Zend Framwork 2 and would like some advice on best practices when adding more user fields.

So far I have created my own module called "WbxUser" and as outlined in the modules wiki pages I have added a custom field called "userlastname" to ZfcUser's registration form by using the Event Manager in my modules bootstrap function like so.

Code:

//WbxUser.Module.php   

namespace WbxUser;

use Zend\Mvc\MvcEvent;


class Module {
    public function onBootstrap(MvcEvent $e){
        $events = $e->getApplication()->getEventManager()->getSharedManager();
        $events->attach('ZfcUser\Form\Register','init', function($e) {
            $form = $e->getTarget();
            $form->add(array(
                    'name' => 'userlastname',
                    'attributes' => array(
                            'type'  => 'text',
                    ),
                    'options' => array(
                            'label' => 'Last Name',
                    ),
            ));
            // Do what you please with the form instance ($form)
        });

        $events->attach('ZfcUser\Form\RegisterFilter','init', function($e) {
            $filter = $e->getTarget();

            $filter->add(array(
                'name'       => 'userlastname',
                'required'   => true,
                'filters'  => array(
                        array('name' => 'StripTags'),
                        array('name' => 'StringTrim'),
                ),
                'validators' => array(
                    array(
                        'name'    => 'StringLength',
                        'options' => array(
                            'min' => 3,
                            'max' => 255,
                        ),
                    ),
                ),
           ));
        });
    }

    public function getConfig(){
        return array();
    }

    public function getAutoloaderConfig(){
        return array();
    }
}

But after this I have got a bit lost on where/how to write the code to save the extra data that my new fields are gathering.

  1. Is this the event where I can fire off save routines for the additional fields https://github.com/ZF-Commons/ZfcUser/wiki/How-to-perform-a-custom-action-when-a-new-user-account-is-created

  2. Should I be writing my own WbxUser model that extends ZfcUser\Entity\User.php to add my new fields

I am a bit of a ZF and MVC noob so would be very great-full for a nudge in the write direction.

like image 792
Theo Kouzelis Avatar asked Nov 29 '12 16:11

Theo Kouzelis


1 Answers

this one seems to be a bit more intuitive

http://juriansluiman.nl/en/article/117/use-3rd-party-modules-in-zend-framework-2

like image 51
Shahin Khani Avatar answered Oct 05 '22 12:10

Shahin Khani