Overview

Classes

  • Syllable
  • Syllable_Cache_FileAbstract
  • Syllable_Cache_Json
  • Syllable_Cache_Serialized
  • Syllable_Hyphen_Dash
  • Syllable_Hyphen_Entity
  • Syllable_Hyphen_Soft
  • Syllable_Hyphen_Text
  • Syllable_Hyphen_ZeroWidthSpace
  • Syllable_Source_File

Interfaces

  • Syllable_Cache_Interface
  • Syllable_Hyphen_Interface
  • Syllable_Source_Interface

Functions

  • Syllable_autoloader
  • Overview
  • Class
 1: <?php
 2: 
 3:     abstract class Syllable_Cache_FileAbstract implements Syllable_Cache_Interface {
 4:         private static $language    = null;
 5:         private static $path        = null;
 6:         private static $data        = null;
 7: 
 8:         abstract protected function encode($array);
 9:         abstract protected function decode($array);
10:         abstract protected function getFilename($language);
11: 
12:         public function __construct($path) {
13:             $this->setPath($path);
14:         }
15: 
16:         public function setPath($path) {
17:             if ($path !== self::$path) {
18:                 self::$path = $path;
19:                 self::$data = null;
20:             }
21:         }
22: 
23:         private function filename() {
24:             return self::$path.'/'.$this->getFilename(self::$language);
25:         }
26: 
27:         public function open($language) {
28:             $language = strtolower($language);
29:             
30:             if (self::$language !== $language) {
31:                 self::$language = $language;                
32:                 self::$data     = null;
33: 
34:                 $file = $this->filename($language);
35:                 if (is_file($file)) {
36:                     self::$data = $this->decode(file_get_contents($file), true);
37:                 }
38:             }
39:         }
40: 
41:         public function close() {
42:             $file = $this->filename();
43:             file_put_contents($file, $this->encode(self::$data));
44:             @chmod($file, 0777);
45:         }
46:         
47:         public function __set($key, $value) {
48:             self::$data[$key] = $value;
49:         }
50: 
51:         public function __get($key) {
52:             return self::$data[$key];
53:         }
54: 
55:         public function __isset($key) {
56:             return isset(self::$data[$key]);
57:         }
58: 
59:         public function __unset($key) {
60:             unset(self::$data[$key]);
61:         }               
62:     }
API documentation generated by ApiGen