[ Index ]

PHP Cross Reference of phpBB-3.3.14-deutsch

title

Body

[close]

/vendor/ocramius/proxy-manager/src/ProxyManager/Signature/ -> ClassSignatureGenerator.php (source)

   1  <?php
   2  
   3  declare(strict_types=1);
   4  
   5  namespace ProxyManager\Signature;
   6  
   7  use Zend\Code\Generator\ClassGenerator;
   8  use Zend\Code\Generator\PropertyGenerator;
   9  
  10  /**
  11   * Applies a signature to a given class generator
  12   *
  13   * @author Marco Pivetta <ocramius@gmail.com>
  14   * @license MIT
  15   */
  16  final class ClassSignatureGenerator implements ClassSignatureGeneratorInterface
  17  {
  18      /**
  19       * @var SignatureGeneratorInterface
  20       */
  21      private $signatureGenerator;
  22  
  23      /**
  24       * @param SignatureGeneratorInterface $signatureGenerator
  25       */
  26      public function __construct(SignatureGeneratorInterface $signatureGenerator)
  27      {
  28          $this->signatureGenerator = $signatureGenerator;
  29      }
  30  
  31      /**
  32       * {@inheritDoc}
  33       *
  34       * @throws \Zend\Code\Exception\InvalidArgumentException
  35       */
  36      public function addSignature(ClassGenerator $classGenerator, array $parameters) : ClassGenerator
  37      {
  38          $classGenerator->addPropertyFromGenerator(new PropertyGenerator(
  39              'signature' . $this->signatureGenerator->generateSignatureKey($parameters),
  40              $this->signatureGenerator->generateSignature($parameters),
  41              PropertyGenerator::FLAG_STATIC | PropertyGenerator::FLAG_PRIVATE
  42          ));
  43  
  44          return $classGenerator;
  45      }
  46  }


Generated: Mon Nov 25 19:05:08 2024 Cross-referenced by PHPXref 0.7.1