Verzeichnisstruktur phpBB-3.2.0


Veröffentlicht
06.01.2017

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.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

MemcachedProfilerStorage.php

Zuletzt modifiziert: 09.10.2024, 12:56 - Dateigröße: 2.72 KiB


001  <?php
002   
003  /*
004   * This file is part of the Symfony package.
005   *
006   * (c) Fabien Potencier <fabien@symfony.com>
007   *
008   * For the full copyright and license information, please view the LICENSE
009   * file that was distributed with this source code.
010   */
011   
012  namespace Symfony\Component\HttpKernel\Profiler;
013   
014  @trigger_error('The '.__NAMESPACE__.'\MemcachedProfilerStorage class is deprecated since Symfony 2.8 and will be removed in 3.0. Use FileProfilerStorage instead.', E_USER_DEPRECATED);
015   
016  /**
017   * Memcached Profiler Storage.
018   *
019   * @author Andrej Hudec <pulzarraider@gmail.com>
020   *
021   * @deprecated Deprecated since Symfony 2.8, to be removed in Symfony 3.0.
022   *             Use {@link FileProfilerStorage} instead.
023   */
024  class MemcachedProfilerStorage extends BaseMemcacheProfilerStorage
025  {
026      /**
027       * @var \Memcached
028       */
029      private $memcached;
030   
031      /**
032       * Internal convenience method that returns the instance of the Memcached.
033       *
034       * @return \Memcached
035       *
036       * @throws \RuntimeException
037       */
038      protected function getMemcached()
039      {
040          if (null === $this->memcached) {
041              if (!preg_match('#^memcached://(?(?=\[.*\])\[(.*)\]|(.*)):(.*)$#', $this->dsn, $matches)) {
042                  throw new \RuntimeException(sprintf('Please check your configuration. You are trying to use Memcached with an invalid dsn "%s". The expected format is "memcached://[host]:port".', $this->dsn));
043              }
044   
045              $host = $matches[1] ?: $matches[2];
046              $port = $matches[3];
047   
048              $memcached = new \Memcached();
049   
050              // disable compression to allow appending
051              $memcached->setOption(\Memcached::OPT_COMPRESSION, false);
052   
053              $memcached->addServer($host, $port);
054   
055              $this->memcached = $memcached;
056          }
057   
058          return $this->memcached;
059      }
060   
061      /**
062       * Set instance of the Memcached.
063       *
064       * @param \Memcached $memcached
065       */
066      public function setMemcached($memcached)
067      {
068          $this->memcached = $memcached;
069      }
070   
071      /**
072       * {@inheritdoc}
073       */
074      protected function getValue($key)
075      {
076          return $this->getMemcached()->get($key);
077      }
078   
079      /**
080       * {@inheritdoc}
081       */
082      protected function setValue($key, $value, $expiration = 0)
083      {
084          return $this->getMemcached()->set($key, $value, time() + $expiration);
085      }
086   
087      /**
088       * {@inheritdoc}
089       */
090      protected function delete($key)
091      {
092          return $this->getMemcached()->delete($key);
093      }
094   
095      /**
096       * {@inheritdoc}
097       */
098      protected function appendValue($key, $value, $expiration = 0)
099      {
100          $memcached = $this->getMemcached();
101   
102          if (!$result = $memcached->append($key, $value)) {
103              return $memcached->set($key, $value, $expiration);
104          }
105   
106          return $result;
107      }
108  }
109