示例#1
0
 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');*/
     });
 }
示例#2
0
文件: Event.php 项目: gueff/mymvc
 /**
  * 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;
 }