Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
TempStoreException example
public
function
set
(
$key
,
$value
)
{
if
(
!
$this
->lockBackend->
acquire
(
$key
)
)
{
$this
->lockBackend->
wait
(
$key
)
;
if
(
!
$this
->lockBackend->
acquire
(
$key
)
)
{
throw
new
TempStoreException
(
"Couldn't acquire lock to update item '
$key
' in '{
$this
->storage->
getCollectionName
(
)
}
' temporary storage."
)
;
}
}
$value
=
(object)
[
'owner' =>
$this
->owner,
'data' =>
$value
,
'updated' =>
(int)
$this
->requestStack->
getMainRequest
(
)
->server->
get
(
'REQUEST_TIME'
)
,
]
;
$this
->
ensureAnonymousSession
(
)
;
$this
->storage->
setWithExpire
(
$key
,
$value
,
$this
->expire
)
;
$this
->lockBackend->
release
(
$key
)
;
}
$this
->
startSession
(
)
;
$session
=
$this
->requestStack->
getCurrentRequest
(
)
->
getSession
(
)
;
if
(
!
$session
->
has
(
'core.tempstore.private.owner'
)
)
{
$session
->
set
(
'core.tempstore.private.owner', Crypt::
randomBytesBase64
(
)
)
;
}
}
$key
=
$this
->
createkey
(
$key
)
;
if
(
!
$this
->lockBackend->
acquire
(
$key
)
)
{
$this
->lockBackend->
wait
(
$key
)
;
if
(
!
$this
->lockBackend->
acquire
(
$key
)
)
{
throw
new
TempStoreException
(
"Couldn't acquire lock to update item '
$key
' in '{
$this
->storage->
getCollectionName
(
)
}
' temporary storage."
)
;
}
}
$value
=
(object)
[
'owner' =>
$this
->
getOwner
(
)
,
'data' =>
$value
,
'updated' =>
(int)
$this
->requestStack->
getMainRequest
(
)
->server->
get
(
'REQUEST_TIME'
)
,
]
;
$this
->storage->
setWithExpire
(
$key
,
$value
,
$this
->expire
)
;
$this
->lockBackend->
release
(
$key
)
;
}