Verzeichnisstruktur phpBB-3.1.0
- Veröffentlicht
- 27.10.2014
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
eaccelerator.php
001 <?php
002 /**
003 *
004 * This file is part of the phpBB Forum Software package.
005 *
006 * @copyright (c) phpBB Limited <https://www.phpbb.com>
007 * @license GNU General Public License, version 2 (GPL-2.0)
008 *
009 * For full copyright and license information, please see
010 * the docs/CREDITS.txt file.
011 *
012 */
013
014 namespace phpbb\cache\driver;
015
016 /**
017 * ACM for eAccelerator
018 * @todo Missing locks from destroy() talk with David
019 */
020 class eaccelerator extends \phpbb\cache\driver\memory
021 {
022 var $extension = 'eaccelerator';
023 var $function = 'eaccelerator_get';
024
025 var $serialize_header = '#phpbb-serialized#';
026
027 /**
028 * {@inheritDoc}
029 */
030 function purge()
031 {
032 foreach (eaccelerator_list_keys() as $var)
033 {
034 // @todo Check why the substr()
035 // @todo Only unset vars matching $this->key_prefix
036 eaccelerator_rm(substr($var['name'], 1));
037 }
038
039 parent::purge();
040 }
041
042 /**
043 * {@inheritDoc}
044 */
045 function tidy()
046 {
047 eaccelerator_gc();
048
049 set_config('cache_last_gc', time(), true);
050 }
051
052 /**
053 * Fetch an item from the cache
054 *
055 * @access protected
056 * @param string $var Cache key
057 * @return mixed Cached data
058 */
059 function _read($var)
060 {
061 $result = eaccelerator_get($this->key_prefix . $var);
062
063 if ($result === null)
064 {
065 return false;
066 }
067
068 // Handle serialized objects
069 if (is_string($result) && strpos($result, $this->serialize_header . 'O:') === 0)
070 {
071 $result = unserialize(substr($result, strlen($this->serialize_header)));
072 }
073
074 return $result;
075 }
076
077 /**
078 * Store data in the cache
079 *
080 * @access protected
081 * @param string $var Cache key
082 * @param mixed $data Data to store
083 * @param int $ttl Time-to-live of cached data
084 * @return bool True if the operation succeeded
085 */
086 function _write($var, $data, $ttl = 2592000)
087 {
088 // Serialize objects and make them easy to detect
089 $data = (is_object($data)) ? $this->serialize_header . serialize($data) : $data;
090
091 return eaccelerator_put($this->key_prefix . $var, $data, $ttl);
092 }
093
094 /**
095 * Remove an item from the cache
096 *
097 * @access protected
098 * @param string $var Cache key
099 * @return bool True if the operation succeeded
100 */
101 function _delete($var)
102 {
103 return eaccelerator_rm($this->key_prefix . $var);
104 }
105 }
106