本文整理汇总了PHP中TYPO3\Flow\Object\ObjectManagerInterface::setInstance方法的典型用法代码示例。如果您正苦于以下问题:PHP ObjectManagerInterface::setInstance方法的具体用法?PHP ObjectManagerInterface::setInstance怎么用?PHP ObjectManagerInterface::setInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TYPO3\Flow\Object\ObjectManagerInterface
的用法示例。
在下文中一共展示了ObjectManagerInterface::setInstance方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: resume
/**
* Resumes an existing session, if any.
*
* @return integer If a session was resumed, the inactivity of since the last request is returned
* @api
*/
public function resume()
{
if ($this->started === false && $this->canBeResumed()) {
$this->sessionIdentifier = $this->sessionCookie->getValue();
$this->response->setCookie($this->sessionCookie);
$this->started = true;
$sessionObjects = $this->storageCache->get($this->storageIdentifier . md5('TYPO3_Flow_Object_ObjectManager'));
if (is_array($sessionObjects)) {
foreach ($sessionObjects as $object) {
if ($object instanceof ProxyInterface) {
$objectName = $this->objectManager->getObjectNameByClassName(get_class($object));
if ($this->objectManager->getScope($objectName) === ObjectConfiguration::SCOPE_SESSION) {
$this->objectManager->setInstance($objectName, $object);
$this->objectManager->get(\TYPO3\Flow\Session\Aspect\LazyLoadingAspect::class)->registerSessionInstance($objectName, $object);
}
}
}
} else {
// Fallback for some malformed session data, if it is no array but something else.
// In this case, we reset all session objects (graceful degradation).
$this->storageCache->set($this->storageIdentifier . md5('TYPO3_Flow_Object_ObjectManager'), array(), array($this->storageIdentifier), 0);
}
$lastActivitySecondsAgo = $this->now - $this->lastActivityTimestamp;
$this->lastActivityTimestamp = $this->now;
return $lastActivitySecondsAgo;
}
}