public function __get($name)Inherited
$name |
wild |
public function __set($name, $value)Inherited
$name | ||
$value |
wild |
public function current()Inherited
wild |
public function key()Inherited
wild |
public function next()Inherited
wild |
public function rewind()Inherited
wild |
public function valid()Inherited
wild |
private function throwOnAttemptedIteration()Inherited
wild |
public function getPhobjectClassConstant($key, $byte_limit)Inherited
Read the value of a class constant.
This is the same as just typing self::CONSTANTNAME, but throws a more useful message if the constant is not defined and allows the constant to be limited to a maximum length.
string | $key | Name of the constant. |
int|null | $byte_limit | Maximum number of bytes permitted in the value. |
string | Value of the constant. |
public function __construct($properties)
array | $properties |
this | //Implicit.// |
public function getProperties()
wild |
public function getProperty($key, $default)
$key | ||
$default |
wild |
abstract public function validateProperties($properties)
Validate clock configuration.
map<string, | $properties | wild> Map of clock properties. |
void |
abstract public function getNextEventEpoch($last_epoch, $is_reschedule)
Get the next occurrence of this event.
This method takes two parameters: the last time this event occurred (or null if it has never triggered before) and a flag distinguishing between a normal reschedule (after a successful trigger) or an update because of a trigger change.
If this event does not occur again, return null to stop it from being rescheduled. For example, a meeting reminder may be sent only once before the meeting.
If this event does occur again, return the epoch timestamp of the next occurrence.
When performing routine reschedules, the event must move forward in time: any timestamp you return must be later than the last event. For instance, if this event triggers an invoice, the next invoice date must be after the previous invoice date. This prevents an event from looping more than once per second.
In contrast, after an update (not a routine reschedule), the next event may be scheduled at any time. For example, if a meeting is moved from next week to 3 minutes from now, the clock may reschedule the notification to occur 12 minutes ago. This will cause it to execute immediately.
int|null | $last_epoch | Last time the event occurred, or null if it has never triggered before. |
bool | $is_reschedule | True if this is a reschedule after a successful trigger. |
int|null | Next event, or null to decline to reschedule. |