Option.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * Option.php UTF-8
  4. * Option
  5. *
  6. * @date : 2018/5/4 19:33
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huo\controller\option;
  13. use huo\controller\common\Base;
  14. use huo\model\option\OptionModel;
  15. use huolib\constant\OptionConst;
  16. class Option extends Base {
  17. /**
  18. * 获取配置值
  19. *
  20. * @param string $option_name 配置名
  21. * @param int $autoload 是否自动加载 1是 0否
  22. * @param bool $auto_add 是否自动添加
  23. * @param string $option_value 配置值
  24. *
  25. * @return array
  26. */
  27. public function getOptionData(
  28. $option_name = '', $autoload = OptionConst::AUTOLOAD, $auto_add = true, $option_value = ''
  29. ) {
  30. if (empty($option_name)) {
  31. return null;
  32. }
  33. $_option_name = trim($option_name);
  34. $_option_model = new OptionModel();
  35. $_option_data = $_option_model->getInfoByName($_option_name);
  36. if (empty($_option_data)) {
  37. if (true == $auto_add) {
  38. $_option_model->addOption($_option_name, $option_value, $autoload);
  39. }
  40. $_option_data = $_option_model->getInfoByName($_option_name);
  41. }
  42. if (is_string($_option_data['option_value'])) {
  43. $_option_data['option_value'] = json_decode($_option_data['option_value'], true);
  44. }
  45. return $_option_data;
  46. }
  47. /**
  48. * 保存配置值
  49. *
  50. * @param string $option_name 配置名
  51. * @param string $option_value 配置值
  52. *
  53. * @return bool|string
  54. */
  55. public function saveOptionData($option_name = '', $option_value = '') {
  56. if (empty($option_name)) {
  57. return '';
  58. }
  59. $option_name = trim($option_name);
  60. return (new OptionModel())->updateValueByName($option_value, $option_name);
  61. }
  62. /**
  63. * @param string $option_name
  64. *
  65. * @return string
  66. */
  67. public function getValueByName($option_name) {
  68. if (empty($option_name)) {
  69. return '';
  70. }
  71. $_option_name = trim($option_name);
  72. $_option_value = (new OptionModel())->getValueByName($_option_name);
  73. return $_option_value;
  74. }
  75. }