[ Index ]

PHP Cross Reference of phpBB-3.2.11-deutsch

title

Body

[close]

/vendor/ocramius/proxy-manager/examples/ -> virtual-proxy.php (source)

   1  <?php
   2  
   3  require_once  __DIR__ . '/../vendor/autoload.php';
   4  
   5  use ProxyManager\Factory\LazyLoadingValueHolderFactory;
   6  
   7  class Foo
   8  {
   9      public function __construct()
  10      {
  11          sleep(5);
  12      }
  13  
  14      public function doFoo()
  15      {
  16          echo "Foo!";
  17      }
  18  }
  19  
  20  $startTime = microtime(true);
  21  $factory   = new LazyLoadingValueHolderFactory();
  22  
  23  for ($i = 0; $i < 1000; $i += 1) {
  24      $proxy = $factory->createProxy(
  25          'Foo',
  26          function (& $wrappedObject, $proxy, $method, $parameters, & $initializer) {
  27              $initializer   = null;
  28              $wrappedObject = new Foo();
  29  
  30              return true;
  31          }
  32      );
  33  }
  34  
  35  var_dump('time after 1000 instantiations: ' . (microtime(true) - $startTime));
  36  
  37  $proxy->doFoo();
  38  
  39  var_dump('time after single call to doFoo: ' . (microtime(true) - $startTime));


Generated: Wed Nov 11 20:33:01 2020 Cross-referenced by PHPXref 0.7.1