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.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. if (isset($json["{{ column.name.camel_upper }}"])) {
  22. $dbo->set{{ column.name.camel_upper }}($json["{{ column.name.camel_upper }}"]);
  23. }
  24. {% endfor %}
  25. return $dbo;
  26. }
  27. public static function generateSample()
  28. {
  29. $dbo = new {{ dbo_name.camel_upper }}();
  30. {% for column in columns %}
  31. $dbo->set{{ column.name.camel_upper }}({% if column.data_type.php.as_it == "double" %}42.42{%
  32. elseif column.data_type.php.as_it == "integer" %}42{%
  33. elseif column.data_type.php.as_it == "boolean" %}true{%
  34. else %}"sample string"{% endif %});
  35. {% endfor %}
  36. return $dbo;
  37. }
  38. {% for column in columns %}
  39. /**
  40. * @var {{ column.data_type.php.as_it }}
  41. */
  42. protected $_{{ column.name.camel_lower }};
  43. public function get{{ column.name.camel_upper }}()
  44. {
  45. return $this->_{{ column.name.camel_lower }};
  46. }
  47. public function set{{ column.name.camel_upper }}($value)
  48. {
  49. $this->_{{ column.name.camel_lower }} = $value;
  50. }
  51. {% endfor %}
  52. }