Guest User

Untitled

a guest
Jul 18th, 2018
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. <?php
  2.  
  3. /**
  4. * This form class demonstrates how to get default values for form fields
  5. * from an object with getters.
  6. * @author Gabriel Birke <birke@d-scribe.de>
  7. */
  8. class Example_Form extends Zend_Form {
  9.  
  10. // Set up the form fields
  11. function init() {
  12. $this->addElement('text', 'name', array('label' => 'Name'));
  13. $this->addElement('text', 'street', array('label' => 'Street'));
  14. $this->addElement('text', 'city', array('label' => 'City'));
  15. $this->addElement('text', 'zipcode', array('label' => 'ZIP'));
  16. $this->addElement('checkbox', 'spamLikeThereIsNoTomorrow',
  17. array('label' => 'Send me a newsletter'));
  18. $this->addElement('checkbox', 'sucker',
  19. array('label' => 'I have read the terms and conditions'));
  20. $this->addElement('submit', 'submit', array('label' => 'Order now'));
  21. }
  22.  
  23. public function setDefaultsFromObject($object)
  24. {
  25. $reflector = new ReflectionObject($object);
  26. $fields = array_keys($this->getElements());
  27. foreach($fields as $field) {
  28. $method = 'get'.ucfirst($field);
  29. if($reflector->hasMethod($method)) {
  30. $this->setDefault(
  31. $field,
  32. $reflector->getMethod($method)->invoke($object)
  33. );
  34. }
  35. }
  36. return $this; // fluent interface
  37. }
  38. }
Add Comment
Please, Sign In to add comment