当前位置: 首页>>代码示例>>PHP>>正文


PHP StorageInterface::setTags方法代码示例

本文整理汇总了PHP中Zend\Cache\Storage\StorageInterface::setTags方法的典型用法代码示例。如果您正苦于以下问题:PHP StorageInterface::setTags方法的具体用法?PHP StorageInterface::setTags怎么用?PHP StorageInterface::setTags使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Zend\Cache\Storage\StorageInterface的用法示例。


在下文中一共展示了StorageInterface::setTags方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testTagable

 public function testTagable()
 {
     if (!$this->_storage instanceof TaggableInterface) {
         $this->markTestSkipped("Storage doesn't implement TaggableInterface");
     }
     $this->assertSame(array(), $this->_storage->setItems(array('key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3')));
     $this->assertTrue($this->_storage->setTags('key1', array('tag1a', 'tag1b')));
     $this->assertTrue($this->_storage->setTags('key2', array('tag2a', 'tag2b')));
     $this->assertTrue($this->_storage->setTags('key3', array('tag3a', 'tag3b')));
     $this->assertFalse($this->_storage->setTags('missing', array('tag')));
     // return tags
     $tags = $this->_storage->getTags('key1');
     $this->assertInternalType('array', $tags);
     sort($tags);
     $this->assertSame(array('tag1a', 'tag1b'), $tags);
     // this should remove nothing
     $this->assertTrue($this->_storage->clearByTags(array('tag1a', 'tag2a')));
     $this->assertTrue($this->_storage->hasItem('key1'));
     $this->assertTrue($this->_storage->hasItem('key2'));
     $this->assertTrue($this->_storage->hasItem('key3'));
     // this should remove key1 and key2
     $this->assertTrue($this->_storage->clearByTags(array('tag1a', 'tag2b'), true));
     $this->assertFalse($this->_storage->hasItem('key1'));
     $this->assertFalse($this->_storage->hasItem('key2'));
     $this->assertTrue($this->_storage->hasItem('key3'));
     // this should remove key3
     $this->assertTrue($this->_storage->clearByTags(array('tag3a', 'tag3b'), true));
     $this->assertFalse($this->_storage->hasItem('key1'));
     $this->assertFalse($this->_storage->hasItem('key2'));
     $this->assertFalse($this->_storage->hasItem('key3'));
 }
开发者ID:ninahuanca,项目名称:zf2,代码行数:31,代码来源:CommonAdapterTest.php

示例2: getItemsByPage

 /**
  * Returns the items for a given page.
  *
  * @param integer $pageNumber
  * @return mixed
  */
 public function getItemsByPage($pageNumber)
 {
     $pageNumber = $this->normalizePageNumber($pageNumber);
     if ($this->cacheEnabled()) {
         $data = self::$cache->getItem($this->_getCacheId($pageNumber));
         if ($data) {
             return $data;
         }
     }
     $offset = ($pageNumber - 1) * $this->getItemCountPerPage();
     $items = $this->adapter->getItems($offset, $this->getItemCountPerPage());
     $filter = $this->getFilter();
     if ($filter !== null) {
         $items = $filter->filter($items);
     }
     if (!$items instanceof Traversable) {
         $items = new ArrayIterator($items);
     }
     if ($this->cacheEnabled()) {
         $cacheId = $this->_getCacheId($pageNumber);
         self::$cache->setItem($cacheId, $items);
         self::$cache->setTags($cacheId, array($this->_getCacheInternalId()));
     }
     return $items;
 }
开发者ID:nuklehed,项目名称:zf2,代码行数:31,代码来源:Paginator.php

示例3: addItem

 /**
  * Ajoute un item au cache et le tag avec "id:nomId" de l'utilisateur connecté.
  * @param type $key
  * @param type $data
  */
 protected function addItem($key, $data)
 {
     $auth = $this->service->get('zfcuser_auth_service');
     $tag = $auth->hasIdentity() ? $auth->getIdentity()->getId() . ':' . $auth->getIdentity()->getUsername() : "undefined";
     $this->cache->addItem($key, $data);
     $this->cache->setTags($key, array($tag));
 }
开发者ID:antarus,项目名称:mystra-pve,代码行数:12,代码来源:AbstractClient.php

示例4: testTaggableFunctionsOnEmptyStorage

 /**
  * @group 6878
  */
 public function testTaggableFunctionsOnEmptyStorage()
 {
     if (!$this->_storage instanceof TaggableInterface) {
         $this->markTestSkipped("Storage doesn't implement TaggableInterface");
     }
     $this->assertFalse($this->_storage->setTags('unknown', ['no']));
     $this->assertFalse($this->_storage->getTags('unknown'));
     $this->assertTrue($this->_storage->clearByTags(['unknown']));
 }
开发者ID:MehrAlsNix,项目名称:zf-couchbase2,代码行数:12,代码来源:CommonAdapterTest.php

示例5: getActiveModulesList

 /**
  * Get active modules list
  *
  * @return array
  */
 public function getActiveModulesList()
 {
     // generate cache name
     $cacheName = CacheUtility::getCacheName(self::CACHE_MODULES_ACTIVE);
     // check data in cache
     if (null === ($modulesList = $this->staticCacheInstance->getItem($cacheName))) {
         $select = $this->select();
         $select->from('application_module')->columns(['id', 'name'])->where(['status' => self::MODULE_STATUS_ACTIVE])->order('id');
         $statement = $this->prepareStatementForSqlObject($select);
         $resultSet = new ResultSet();
         $resultSet->initialize($statement->execute());
         foreach ($resultSet as $module) {
             $modulesList[$module->id] = $module->name;
         }
         // save data in cache
         $this->staticCacheInstance->setItem($cacheName, $modulesList);
         $this->staticCacheInstance->setTags($cacheName, [self::CACHE_MODULES_DATA_TAG]);
     }
     return $modulesList;
 }
开发者ID:esase,项目名称:dream-cms,代码行数:25,代码来源:ApplicationAbstractBase.php

示例6: onKernelResponse

 /**
  * Triggered after controller and view calls
  *
  * @param FilterResponseEvent $event
  */
 public function onKernelResponse(FilterResponseEvent $event)
 {
     $request = $event->getRequest();
     $response = $event->getResponse();
     if ($event->getRequestType() === HttpKernelInterface::MASTER_REQUEST && $request->isMethodSafe()) {
         $key = $this->getKeyFromRequest($request);
         $response->setLastModified(new \DateTime());
         // If no cache request header exists - do nothing
         if ($request->isNoCache() || !$response->isSuccessful()) {
             return;
             //TODO redirects cache
         }
         // If response does not exists - put it to cache
         if (!$this->storage->hasItem($key)) {
             $response->setTtl($this->storage->getOptions()->getTtl());
             $data = ['content' => $response->getContent(), 'status' => $response->getStatusCode(), 'headers' => $response->headers->all()];
             $this->storage->addItem($key, $data);
             if ($this->storage instanceof TaggableInterface) {
                 $this->storage->setTags($key, $tags);
             }
         }
     }
 }
开发者ID:sunnyct,项目名称:silexcmf,代码行数:28,代码来源:HttpKernelListener.php


注:本文中的Zend\Cache\Storage\StorageInterface::setTags方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。