PageRenderTime 41ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/Orgup/Common/Modifiers/Split.php

https://bitbucket.org/llxff/orgupframework
PHP | 66 lines | 47 code | 12 blank | 7 comment | 4 complexity | bfd2a1aae636902b3911f8b5c8af6da7 MD5 | raw file
  1. <?php
  2. /**
  3. * Created by JetBrains PhpStorm.
  4. * User: ll
  5. * Date: 26.11.11
  6. * Time: 16:13
  7. * To change this template use File | Settings | File Templates.
  8. */
  9. namespace Orgup\Common\Modifiers;
  10. use \Orgup\Common\Modifier;
  11. class Split extends Modifier
  12. {
  13. public $from;
  14. public $concat = ' ';
  15. public $fields;
  16. protected function createResult()
  17. {
  18. $result = '';
  19. $this->fields = $this->getFields();
  20. $fieldsCount = sizeof($this->fields);
  21. for($i = 0; $i < $fieldsCount; $i++)
  22. {
  23. $Route = $this->getRoute();
  24. $Route->set_object($this->object);
  25. $Route->Modify($this->reflectedProperty());
  26. $Route->suppress_warnings = $this->suppress_warnings;
  27. $Route->name = $this->fields[$i];
  28. $routeResult = trim($Route->getResult());
  29. $result .= $routeResult;
  30. $this->object->setCustomProperty($this->fields[$i], $routeResult, true);
  31. if($i < $fieldsCount - 1)
  32. {
  33. $result .= $this->concat;
  34. }
  35. }
  36. return $result;
  37. }
  38. private function getFields()
  39. {
  40. $fields = explode('|' , $this->fields);
  41. return $fields;
  42. }
  43. public function getRoute()
  44. {
  45. if($this->from == 'Post')
  46. {
  47. return new Post();
  48. }
  49. else
  50. {
  51. return new Get();
  52. }
  53. }
  54. }