public function onBootstrap(MVCEvent $e) { $eventManager = $e->getApplication()->getEventManager(); $em = $eventManager->getSharedManager(); $em->attach('ZfcUser\\Form\\RegisterFilter', 'init', function ($e) { $filter = $e->getTarget(); // do your form filtering here }); // custom form fields $em->attach('ZfcUser\\Form\\Register', 'init', function ($e) { /* @var $form \ZfcUser\Form\Register */ $form = $e->getTarget(); $form->add(array('name' => 'firstName', 'options' => array('label' => 'Name'), 'attributes' => array('type' => 'text'))); $form->add(array('name' => 'phoneno', 'options' => array('label' => 'Phone no'), 'attributes' => array('type' => 'number'))); $form->add(array('name' => 'country', 'options' => array('label' => 'Country'), 'attributes' => array('type' => 'text'))); }); // here's the storage bit $zfcServiceEvents = $e->getApplication()->getServiceManager()->get('zfcuser_user_service')->getEventManager(); $zfcServiceEvents->attach('register', function ($e) { $form = $e->getParam('form'); $user = $e->getParam('user'); /* @var $user \SamUser\Entity\User */ $user->setPhoneno($form->get('firstName')->getValue()); $user->setPhoneno($form->get('phoneno')->getValue()); $user->setCountry($form->get('country')->getValue()); }); // you can even do stuff after it stores $zfcServiceEvents->attach('register.post', function ($e) { /*$user = $e->getParam('user');*/ }); }
/** * unbinds (delete) one or all events * * @access public * @static * @param string $sEvent eventname<br /> * deletes the given event.<br /> * if this parameter not is set, *all* events are going to be deleted * * @return boolean success */ public static function UNBIND($sEvent) { $aBacktrace = debug_backtrace(); $sDebug = ''; isset($aBacktrace[0]['file']) ? $sDebug .= $aBacktrace[0]['file'] : FALSE; isset($aBacktrace[0]['line']) ? $sDebug .= ', ' . $aBacktrace[0]['line'] : FALSE; isset($aBacktrace[0]['class']) ? $sDebug .= ' > ' : FALSE; if (!isset(self::$aEvent[$sEvent])) { Event::addToRegistry('UNBIND', 'UNBIND: All Events deleted --> called in: ' . $sDebug); self::$aEvent = array(); Log::WRITE('UNBIND: All Events deleted --> called in: ' . $sDebug); return true; } Event::addToRegistry('UNBIND', 'UNBIND: Event `' . $sEvent . '` deleted --> called in: ' . $sDebug); self::$aEvent[$sEvent] = NULL; unset(self::$aEvent[$sEvent]); Log::WRITE('UNBIND: Event `' . $sEvent . '` deleted --> called in: ' . $sDebug); return true; }