本文整理匯總了PHP中Container::push方法的典型用法代碼示例。如果您正苦於以下問題:PHP Container::push方法的具體用法?PHP Container::push怎麽用?PHP Container::push使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Container
的用法示例。
在下文中一共展示了Container::push方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: persist
/**
* {@inheritdoc}
*/
public function persist(ConnectionInterface $connection, Container $container)
{
$entities = $container->state(Container::STATE_NEW);
if ($entities->size() === 0) {
return;
}
$entities->foreach(function (IdentityInterface $identity, $entity) {
$this->dispatcher->dispatch(Events::PRE_PERSIST, new PersistEvent($identity, $entity));
});
$connection->execute($this->queryFor($entities));
$entities->foreach(function (IdentityInterface $identity, $entity) use($container) {
$container->push($identity, $entity, Container::STATE_MANAGED);
$this->changeset->use($identity, $this->extractor->extract($entity));
$this->dispatcher->dispatch(Events::POST_PERSIST, new PersistEvent($identity, $entity));
});
}
示例2: persist
/**
* {@inheritdoc}
*/
public function persist(ConnectionInterface $connection, Container $container)
{
$entities = $container->state(Container::STATE_TO_BE_REMOVED)->foreach(function (IdentityInterface $identity, $object) {
$this->dispatcher->dispatch(Events::PRE_REMOVE, new RemoveEvent($identity, $object));
});
if ($entities->size() === 0) {
return;
}
$connection->execute($this->queryFor($entities));
$entities->foreach(function (IdentityInterface $identity, $object) use($container) {
$container->push($identity, $object, Container::STATE_REMOVED);
$this->changeset->use($identity, new Collection([]));
//in case the identity is reused later on
$this->dispatcher->dispatch(Events::POST_REMOVE, new RemoveEvent($identity, $object));
});
}
示例3: terminate
/**
* Call the push method of the Alert Container object, which will get the
* messages in array format (raw), and persist them using the Alert Handler
* implementation.
*
* @param $request
* @param $response
*/
public function terminate($request, $response)
{
$this->alert->push();
}