1. <?php
  2. /**
  3. * Generates configuration for log entry validation checks with limited memory usage.
  4. *
  5. * @param array $fields An array of fields to validate.
  6. * @param array $validationRules An array of validation rules for each field.
  7. *
  8. * @return string Configuration string.
  9. */
  10. function generateLogValidationConfig(array $fields, array $validationRules): string
  11. {
  12. $config = '{\n';
  13. foreach ($fields as $field) {
  14. $config .= ' "' . $field . '"},\n';
  15. }
  16. $config .= ',\n';
  17. foreach ($validationRules as $field => $rules) {
  18. $config .= ' ' . $field . ': [' . json_encode($rules) . '],\n';
  19. }
  20. $config .= '}\n';
  21. return $config;
  22. }
  23. // Example usage:
  24. /*
  25. $fields = ['user_id', 'timestamp', 'action', 'message'];
  26. $validationRules = [
  27. 'user_id' => ['type' => 'integer', 'required' => true],
  28. 'timestamp' => ['type' => 'string', 'format' => 'unix'],
  29. 'action' => ['type' => 'string', 'allowed_values' => ['login', 'logout', 'post', 'get']],
  30. 'message' => ['type' => 'string', 'max_length' => 255]
  31. ];
  32. $config = generateLogValidationConfig($fields, $validationRules);
  33. echo $config;
  34. */
  35. ?>

Add your comment