Verzeichnisstruktur phpBB-3.3.15
- Veröffentlicht
- 28.08.2024
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 |
Configuration.php
001 <?php
002
003 declare(strict_types=1);
004
005 namespace ProxyManager;
006
007 use ProxyManager\Autoloader\Autoloader;
008 use ProxyManager\Autoloader\AutoloaderInterface;
009 use ProxyManager\FileLocator\FileLocator;
010 use ProxyManager\GeneratorStrategy\EvaluatingGeneratorStrategy;
011 use ProxyManager\GeneratorStrategy\GeneratorStrategyInterface;
012 use ProxyManager\Inflector\ClassNameInflector;
013 use ProxyManager\Inflector\ClassNameInflectorInterface;
014 use ProxyManager\Signature\ClassSignatureGenerator;
015 use ProxyManager\Signature\ClassSignatureGeneratorInterface;
016 use ProxyManager\Signature\SignatureChecker;
017 use ProxyManager\Signature\SignatureCheckerInterface;
018 use ProxyManager\Signature\SignatureGenerator;
019 use ProxyManager\Signature\SignatureGeneratorInterface;
020
021 /**
022 * Base configuration class for the proxy manager - serves as micro disposable DIC/facade
023 *
024 * @author Marco Pivetta <ocramius@gmail.com>
025 * @license MIT
026 */
027 class Configuration
028 {
029 const DEFAULT_PROXY_NAMESPACE = 'ProxyManagerGeneratedProxy';
030
031 /**
032 * @var string|null
033 */
034 protected $proxiesTargetDir;
035
036 /**
037 * @var string
038 */
039 protected $proxiesNamespace = self::DEFAULT_PROXY_NAMESPACE;
040
041 /**
042 * @var GeneratorStrategyInterface|null
043 */
044 protected $generatorStrategy;
045
046 /**
047 * @var AutoloaderInterface|null
048 */
049 protected $proxyAutoloader;
050
051 /**
052 * @var ClassNameInflectorInterface|null
053 */
054 protected $classNameInflector;
055
056 /**
057 * @var SignatureGeneratorInterface|null
058 */
059 protected $signatureGenerator;
060
061 /**
062 * @var SignatureCheckerInterface|null
063 */
064 protected $signatureChecker;
065
066 /**
067 * @var ClassSignatureGeneratorInterface|null
068 */
069 protected $classSignatureGenerator;
070
071 public function setProxyAutoloader(AutoloaderInterface $proxyAutoloader) : void
072 {
073 $this->proxyAutoloader = $proxyAutoloader;
074 }
075
076 public function getProxyAutoloader() : AutoloaderInterface
077 {
078 return $this->proxyAutoloader
079 ?: $this->proxyAutoloader = new Autoloader(
080 new FileLocator($this->getProxiesTargetDir()),
081 $this->getClassNameInflector()
082 );
083 }
084
085 public function setProxiesNamespace(string $proxiesNamespace) : void
086 {
087 $this->proxiesNamespace = $proxiesNamespace;
088 }
089
090 public function getProxiesNamespace() : string
091 {
092 return $this->proxiesNamespace;
093 }
094
095 public function setProxiesTargetDir(string $proxiesTargetDir) : void
096 {
097 $this->proxiesTargetDir = $proxiesTargetDir;
098 }
099
100 public function getProxiesTargetDir() : string
101 {
102 return $this->proxiesTargetDir ?: $this->proxiesTargetDir = sys_get_temp_dir();
103 }
104
105 public function setGeneratorStrategy(GeneratorStrategyInterface $generatorStrategy) : void
106 {
107 $this->generatorStrategy = $generatorStrategy;
108 }
109
110 public function getGeneratorStrategy() : GeneratorStrategyInterface
111 {
112 return $this->generatorStrategy
113 ?: $this->generatorStrategy = new EvaluatingGeneratorStrategy();
114 }
115
116 public function setClassNameInflector(ClassNameInflectorInterface $classNameInflector) : void
117 {
118 $this->classNameInflector = $classNameInflector;
119 }
120
121 public function getClassNameInflector() : ClassNameInflectorInterface
122 {
123 return $this->classNameInflector
124 ?: $this->classNameInflector = new ClassNameInflector($this->getProxiesNamespace());
125 }
126
127 public function setSignatureGenerator(SignatureGeneratorInterface $signatureGenerator) : void
128 {
129 $this->signatureGenerator = $signatureGenerator;
130 }
131
132 public function getSignatureGenerator() : SignatureGeneratorInterface
133 {
134 return $this->signatureGenerator ?: $this->signatureGenerator = new SignatureGenerator();
135 }
136
137 public function setSignatureChecker(SignatureCheckerInterface $signatureChecker) : void
138 {
139 $this->signatureChecker = $signatureChecker;
140 }
141
142 public function getSignatureChecker() : SignatureCheckerInterface
143 {
144 return $this->signatureChecker
145 ?: $this->signatureChecker = new SignatureChecker($this->getSignatureGenerator());
146 }
147
148 public function setClassSignatureGenerator(ClassSignatureGeneratorInterface $classSignatureGenerator) : void
149 {
150 $this->classSignatureGenerator = $classSignatureGenerator;
151 }
152
153 public function getClassSignatureGenerator() : ClassSignatureGeneratorInterface
154 {
155 return $this->classSignatureGenerator
156 ?: new ClassSignatureGenerator($this->getSignatureGenerator());
157 }
158 }
159