本文整理汇总了PHP中ZPush::GetLatestStateVersion方法的典型用法代码示例。如果您正苦于以下问题:PHP ZPush::GetLatestStateVersion方法的具体用法?PHP ZPush::GetLatestStateVersion怎么用?PHP ZPush::GetLatestStateVersion使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZPush
的用法示例。
在下文中一共展示了ZPush::GetLatestStateVersion方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: MigrationNecessary
/**
* Checks if the migration is necessary
*
* @access public
* @throws FatalMisconfigurationException
* @throws FatalNotImplementedException
* @return boolean
*/
public function MigrationNecessary()
{
try {
$this->sm = ZPush::GetStateMachine();
} catch (HTTPReturnCodeException $e) {
echo "Check states: states versions do not match and need to be migrated\n\n";
// we just try to get the statemachine again
// the exception is only thrown the first time
$this->sm = ZPush::GetStateMachine();
}
if (!$this->sm) {
throw new FatalMisconfigurationException("Could not get StateMachine from ZPush::GetStateMachine()");
}
if (!$this->sm instanceof FileStateMachine) {
throw new FatalNotImplementedException("This conversion script is only able to convert states of the FileStateMachine");
}
if ($this->sm->GetStateVersion() == ZPush::GetLatestStateVersion()) {
return false;
}
if ($this->sm->GetStateVersion() !== self::FROMVERSION || ZPush::GetLatestStateVersion() !== self::TOVERSION) {
throw new FatalNotImplementedException(sprintf("This script only converts from state version %d to %d. Currently the system is on %d and should go to %d. Please contact support.", self::FROMVERSION, self::TOVERSION, $this->sm->GetStateVersion(), ZPush::GetLatestStateVersion()));
}
// do migration
return true;
}
示例2: 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;
}