本文整理匯總了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;
}