You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

dbo.php.twig 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. {{ "<?php" }}
  2. /**
  3. * AUTO GENERATED BY LUTICATE GENERATOR
  4. * ANY CHANGES WILL BE OVERWRITTEN
  5. */
  6. namespace {{ dbo_namespace.as_it }};
  7. use Luticate\Utils\LuDbo;
  8. class {{ dbo_name.camel_upper }} extends LuDbo {
  9. public function jsonSerialize()
  10. {
  11. return array(
  12. {% for column in columns %}
  13. "{{ column.name.camel_upper }}" => $this->_{{ column.name.camel_lower }}{{ loop.last ? "" : "," }}
  14. {% endfor %}
  15. );
  16. }
  17. public static function jsonDeserialize($json)
  18. {
  19. $dbo = new {{ dbo_name.camel_upper }}();
  20. {% for column in columns %}
  21. $dbo->set{{ column.name.camel_upper }}($json["{{ column.name.camel_upper }}"]);
  22. {% endfor %}
  23. return $dbo;
  24. }
  25. public static function generateSample()
  26. {
  27. $dbo = new {{ dbo_name.camel_upper }}();
  28. {% for column in columns %}
  29. $dbo->set{{ column.name.camel_upper }}({% if column.data_type.php.as_it == "double" %}42.42{%
  30. elseif column.data_type.php.as_it == "integer" %}42{%
  31. elseif column.data_type.php.as_it == "boolean" %}true{%
  32. else %}"sample string"{% endif %});
  33. {% endfor %}
  34. return $dbo;
  35. }
  36. {% for column in columns %}
  37. /**
  38. * @var {{ column.data_type.php.as_it }}
  39. */
  40. protected $_{{ column.name.camel_lower }};
  41. public function get{{ column.name.camel_upper }}()
  42. {
  43. return $this->_{{ column.name.camel_lower }};
  44. }
  45. public function set{{ column.name.camel_upper }}($value)
  46. {
  47. $this->_{{ column.name.camel_lower }} = $value;
  48. }
  49. {% endfor %}
  50. }