當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。