| Server IP : 172.67.147.195 / Your IP : 216.73.216.216 Web Server : Apache/2 System : Linux hosting8537.lvs 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : mienphi ( 1014) PHP Version : 8.2.14 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/mienphi/public_html/wp-content/plugins/loco-translate/src/data/ |
Upload File : |
<?php
/**
* Static, read-only caching of data held in serialized files.
* Used for pre-built arrays of information such as plural forms.
*/
class Loco_data_CompiledData implements ArrayAccess, Countable, IteratorAggregate {
/**
* @var array
*/
private static $reg = [];
/**
* @var string
*/
private $name;
/**
* @var array
*/
private $data;
/**
* @param string $name
* @return self
*/
public static function get( $name ){
if( ! isset(self::$reg[$name]) ){
self::$reg[$name] = new Loco_data_CompiledData($name);
}
return self::$reg[$name];
}
/**
* Remove all cached data from memory
* @return void
*/
public static function flush(){
self::$reg = [];
}
private function __construct( $name ){
$path = 'lib/data/'.$name.'.php';
$this->data = loco_include( $path );
$this->name = $name;
}
public function destroy(){
unset( self::$reg[$this->name], $this->data );
}
#[ReturnTypeWillChange]
public function offsetGet( $k ){
return isset($this->data[$k]) ? $this->data[$k] : null;
}
#[ReturnTypeWillChange]
public function offsetExists( $k ){
return isset($this->data[$k]);
}
#[ReturnTypeWillChange]
public function offsetUnset( $k ){
throw new RuntimeException('Read only');
}
#[ReturnTypeWillChange]
public function offsetSet( $k, $v ){
throw new RuntimeException('Read only');
}
#[ReturnTypeWillChange]
public function count(){
return count($this->data);
}
/**
* Implements IteratorAggregate::getIterator
* @return ArrayIterator
*/
#[ReturnTypeWillChange]
public function getIterator(){
return new ArrayIterator( $this->data );
}
}