get() 공개 메소드

Get the data from the cache.
public get ( string $catalogue, string $culture, $lastmodified ) : mixed
$catalogue string The translation section.
$culture string The translation locale, e.g. "en_AU".
리턴 mixed Boolean FALSE if no cache hit. Otherwise, translation table data for the specified section and locale.
예제 #1
0
 /**
  * Load a particular message catalogue. Use read() to 
  * to get the array of messages. The catalogue loading sequence
  * is as follows
  *
  *  # [1] call getCatalogeList($catalogue) to get a list of 
  *    variants for for the specified $catalogue.
  *  # [2] for each of the variants, call getSource($variant)
  *    to get the resource, could be a file or catalogue ID.
  *  # [3] verify that this resource is valid by calling isValidSource($source)
  *  # [4] try to get the messages from the cache
  *  # [5] if a cache miss, call load($source) to load the message array
  *  # [6] store the messages to cache.
  *  # [7] continue with the foreach loop, e.g. goto [2].
  * 
  * @param string a catalogue to load
  * @return boolean true if loaded, false otherwise.	 
  * @see read()
  */
 function load($catalogue = 'messages')
 {
     $variants = $this->getCatalogueList($catalogue);
     $this->messages = array();
     foreach ($variants as $variant) {
         $source = $this->getSource($variant);
         if ($this->isValidSource($source) == false) {
             continue;
         }
         $loadData = true;
         if ($this->cache) {
             $data = $this->cache->get($variant, $this->culture, $this->getLastModified($source));
             if (is_array($data)) {
                 $this->messages[$variant] = $data;
                 $loadData = false;
             }
             unset($data);
         }
         if ($loadData) {
             $data =& $this->loadData($source);
             if (is_array($data)) {
                 $this->messages[$variant] = $data;
                 if ($this->cache) {
                     $this->cache->save($data, $variant, $this->culture);
                 }
             }
             unset($data);
         }
     }
     return true;
 }