[ Index ] |
PHP Cross Reference of phpBB-3.3.14-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 3 declare(strict_types=1); 4 5 namespace ProxyManager; 6 7 use ProxyManager\Autoloader\Autoloader; 8 use ProxyManager\Autoloader\AutoloaderInterface; 9 use ProxyManager\FileLocator\FileLocator; 10 use ProxyManager\GeneratorStrategy\EvaluatingGeneratorStrategy; 11 use ProxyManager\GeneratorStrategy\GeneratorStrategyInterface; 12 use ProxyManager\Inflector\ClassNameInflector; 13 use ProxyManager\Inflector\ClassNameInflectorInterface; 14 use ProxyManager\Signature\ClassSignatureGenerator; 15 use ProxyManager\Signature\ClassSignatureGeneratorInterface; 16 use ProxyManager\Signature\SignatureChecker; 17 use ProxyManager\Signature\SignatureCheckerInterface; 18 use ProxyManager\Signature\SignatureGenerator; 19 use ProxyManager\Signature\SignatureGeneratorInterface; 20 21 /** 22 * Base configuration class for the proxy manager - serves as micro disposable DIC/facade 23 * 24 * @author Marco Pivetta <ocramius@gmail.com> 25 * @license MIT 26 */ 27 class Configuration 28 { 29 const DEFAULT_PROXY_NAMESPACE = 'ProxyManagerGeneratedProxy'; 30 31 /** 32 * @var string|null 33 */ 34 protected $proxiesTargetDir; 35 36 /** 37 * @var string 38 */ 39 protected $proxiesNamespace = self::DEFAULT_PROXY_NAMESPACE; 40 41 /** 42 * @var GeneratorStrategyInterface|null 43 */ 44 protected $generatorStrategy; 45 46 /** 47 * @var AutoloaderInterface|null 48 */ 49 protected $proxyAutoloader; 50 51 /** 52 * @var ClassNameInflectorInterface|null 53 */ 54 protected $classNameInflector; 55 56 /** 57 * @var SignatureGeneratorInterface|null 58 */ 59 protected $signatureGenerator; 60 61 /** 62 * @var SignatureCheckerInterface|null 63 */ 64 protected $signatureChecker; 65 66 /** 67 * @var ClassSignatureGeneratorInterface|null 68 */ 69 protected $classSignatureGenerator; 70 71 public function setProxyAutoloader(AutoloaderInterface $proxyAutoloader) : void 72 { 73 $this->proxyAutoloader = $proxyAutoloader; 74 } 75 76 public function getProxyAutoloader() : AutoloaderInterface 77 { 78 return $this->proxyAutoloader 79 ?: $this->proxyAutoloader = new Autoloader( 80 new FileLocator($this->getProxiesTargetDir()), 81 $this->getClassNameInflector() 82 ); 83 } 84 85 public function setProxiesNamespace(string $proxiesNamespace) : void 86 { 87 $this->proxiesNamespace = $proxiesNamespace; 88 } 89 90 public function getProxiesNamespace() : string 91 { 92 return $this->proxiesNamespace; 93 } 94 95 public function setProxiesTargetDir(string $proxiesTargetDir) : void 96 { 97 $this->proxiesTargetDir = $proxiesTargetDir; 98 } 99 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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Mon Nov 25 19:05:08 2024 | Cross-referenced by PHPXref 0.7.1 |