本文整理汇总了PHP中ZPush::stateMachine方法的典型用法代码示例。如果您正苦于以下问题:PHP ZPush::stateMachine方法的具体用法?PHP ZPush::stateMachine怎么用?PHP ZPush::stateMachine使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZPush
的用法示例。
在下文中一共展示了ZPush::stateMachine方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: GetStateMachine
/**
* Returns the StateMachine object
* which has to be an IStateMachine implementation
*
* @access public
* @throws FatalNotImplementedException
* @throws HTTPReturnCodeException
* @return object implementation of IStateMachine
*/
public static function GetStateMachine()
{
if (!isset(ZPush::$stateMachine)) {
// the backend could also return an own IStateMachine implementation
$backendStateMachine = self::GetBackend()->GetStateMachine();
// if false is returned, use the default StateMachine
if ($backendStateMachine !== false) {
ZLog::Write(LOGLEVEL_DEBUG, "Backend implementation of IStateMachine: " . get_class($backendStateMachine));
if (in_array('IStateMachine', class_implements($backendStateMachine))) {
ZPush::$stateMachine = $backendStateMachine;
} else {
throw new FatalNotImplementedException("State machine returned by the backend does not implement the IStateMachine interface!");
}
} else {
// Initialize the default StateMachine
if (defined('STATE_MACHINE') && STATE_MACHINE == 'SQL') {
ZPush::$stateMachine = new SqlStateMachine();
} else {
ZPush::$stateMachine = new FileStateMachine();
}
}
if (ZPush::$stateMachine->GetStateVersion() !== ZPush::GetLatestStateVersion()) {
if (class_exists("TopCollector")) {
self::GetTopCollector()->AnnounceInformation("Run migration script!", true);
}
throw new HTTPReturnCodeException(sprintf("The state version available to the %s is not the latest version - please run the state upgrade script. See release notes for more information.", get_class(ZPush::$stateMachine)), HTTP_CODE_500);
}
}
return ZPush::$stateMachine;
}
示例2: GetStateMachine
/**
* Returns the StateMachine object
* which has to be an IStateMachine implementation
*
* @access public
* @return object implementation of IStateMachine
* @throws FatalNotImplementedException
*/
public static function GetStateMachine()
{
if (!isset(ZPush::$stateMachine)) {
// the backend could also return an own IStateMachine implementation
$backendStateMachine = self::GetBackend()->GetStateMachine();
// if false is returned, use the default StateMachine
if ($backendStateMachine !== false) {
ZLog::Write(LOGLEVEL_DEBUG, "Backend implementation of IStateMachine: " . get_class($backendStateMachine));
if (in_array('IStateMachine', class_implements($backendStateMachine))) {
ZPush::$stateMachine = $backendStateMachine;
} else {
throw new FatalNotImplementedException("State machine returned by the backend does not implement the IStateMachine interface!");
}
} else {
// Initialize the default StateMachine
include_once 'lib/default/filestatemachine.php';
ZPush::$stateMachine = new FileStateMachine();
}
}
return ZPush::$stateMachine;
}