MediaWiki  1.34.0
Wikimedia\ParamValidator\TypeDef\TimestampDef Class Reference

Type definition for timestamp types. More...

Inheritance diagram for Wikimedia\ParamValidator\TypeDef\TimestampDef:
Collaboration diagram for Wikimedia\ParamValidator\TypeDef\TimestampDef:

Public Member Functions

 __construct (Callbacks $callbacks, array $options=[])
 
 stringifyValue ( $name, $value, array $settings, array $options)
 Convert a value to a string representation. More...
 
 validate ( $name, $value, array $settings, array $options)
 Validate the value. More...
 
- Public Member Functions inherited from Wikimedia\ParamValidator\TypeDef
 __construct (Callbacks $callbacks)
 
 describeSettings ( $name, array $settings, array $options)
 "Describe" a settings array More...
 
 getEnumValues ( $name, array $settings, array $options)
 Get the values for enum-like parameters. More...
 
 getValue ( $name, array $settings, array $options)
 Get the value from the request. More...
 
 normalizeSettings (array $settings)
 Normalize a settings array. More...
 

Public Attributes

const PARAM_TIMESTAMP_FORMAT = 'param-timestamp-format'
 (string|int) Timestamp format to return from validate() More...
 

Protected Attributes

string int $defaultFormat
 
int $stringifyFormat
 
- Protected Attributes inherited from Wikimedia\ParamValidator\TypeDef
Callbacks $callbacks
 

Detailed Description

Type definition for timestamp types.

This uses the wikimedia/timestamp library for parsing and formatting the timestamps.

The result from validate() is a ConvertibleTimestamp by default, but this may be changed by both a constructor option and a PARAM constant.

ValidationException codes:

  • 'badtimestamp': The timestamp is not valid. No data, but the TimestampException is available via Exception::getPrevious().
  • 'unclearnowtimestamp': Non-fatal. The value is the empty string or "0". Use 'now' instead if you really want the current timestamp. No data.
Since
1.34 @unstable

Definition at line 29 of file TimestampDef.php.

Constructor & Destructor Documentation

◆ __construct()

Wikimedia\ParamValidator\TypeDef\TimestampDef::__construct ( Callbacks  $callbacks,
array  $options = [] 
)
Parameters
Callbacks$callbacks
array$optionsOptions:
  • defaultFormat: (string|int) Default for PARAM_TIMESTAMP_FORMAT. Default if not specified is 'ConvertibleTimestamp'.
  • stringifyFormat: (int) Format to use for stringifyValue(). Default is TS_ISO_8601.

Definition at line 57 of file TimestampDef.php.

References Wikimedia\ParamValidator\TypeDef\$callbacks.

Member Function Documentation

◆ stringifyValue()

Wikimedia\ParamValidator\TypeDef\TimestampDef::stringifyValue (   $name,
  $value,
array  $settings,
array  $options 
)

Convert a value to a string representation.

This is intended as the inverse of getValue() and validate(): this should accept anything returned by those methods or expected to be used as PARAM_DEFAULT, and if the string from this method is passed in as client input or PARAM_DEFAULT it should give equivalent output from validate().

Parameters
string$nameParameter name being converted.
mixed$valueParameter value being converted. Do not pass null.
array$settingsParameter settings array.
array$optionsOptions array.
Returns
string|null Return null if there is no representation of $value reasonably satisfying the description given.

Reimplemented from Wikimedia\ParamValidator\TypeDef.

Definition at line 94 of file TimestampDef.php.

◆ validate()

Wikimedia\ParamValidator\TypeDef\TimestampDef::validate (   $name,
  $value,
array  $settings,
array  $options 
)

Validate the value.

When ParamValidator is processing a multi-valued parameter, this will be called once for each of the supplied values. Which may mean zero calls.

When getValue() returned null, this will not be called.

Parameters
string$nameParameter name being validated.
mixed$valueValue to validate, from getValue().
array$settingsParameter settings array.
array$optionsOptions array. Note the following values that may be set by ParamValidator:
  • values-list: (string[]) If defined, values of a multi-valued parameter are being processed (and this array holds the full set of values).
Returns
mixed Validated value
Exceptions
ValidationExceptionif the value is invalid

Reimplemented from Wikimedia\ParamValidator\TypeDef.

Definition at line 64 of file TimestampDef.php.

References Wikimedia\ParamValidator\TypeDef\TimestampDef\$defaultFormat, and Wikimedia\ParamValidator\TypeDef\TimestampDef\PARAM_TIMESTAMP_FORMAT.

Member Data Documentation

◆ $defaultFormat

string int Wikimedia\ParamValidator\TypeDef\TimestampDef::$defaultFormat
protected

◆ $stringifyFormat

int Wikimedia\ParamValidator\TypeDef\TimestampDef::$stringifyFormat
protected

Definition at line 47 of file TimestampDef.php.

◆ PARAM_TIMESTAMP_FORMAT

const Wikimedia\ParamValidator\TypeDef\TimestampDef::PARAM_TIMESTAMP_FORMAT = 'param-timestamp-format'

(string|int) Timestamp format to return from validate()

Values include:

  • 'ConvertibleTimestamp': A ConvertibleTimestamp object.
  • 'DateTime': A PHP DateTime object
  • One of ConvertibleTimestamp's TS_* constants.

This does not affect the format returned by stringifyValue().

Definition at line 41 of file TimestampDef.php.

Referenced by Wikimedia\ParamValidator\TypeDef\TimestampDef\validate().


The documentation for this class was generated from the following file: