[ Index ]

PHP Cross Reference of phpBB-3.3.14-deutsch

title

Body

[close]

/vendor/ocramius/proxy-manager/ -> UPGRADE.md (source)

   1  ---
   2  title: Upgrade
   3  ---
   4  
   5  This is a list of backwards compatibility (BC) breaks introduced in ProxyManager:
   6  
   7  # 2.0.0
   8  
   9   * PHP `~7.0` is now required to use ProxyManager
  10   * HHVM compatibility is not guaranteed, as HHVM is not yet PHP 7 compliant
  11   * All classes and interfaces now use [strict scalar type hints](http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration).
  12     If you extended or implemented anything from the `ProxyManager\` namespace, you probably need to change
  13     that code to adapt it to the new signature.
  14   * All classes and interfaces now use [return type declarations](http://php.net/manual/en/functions.returning-values.php#functions.returning-values.type-declaration).
  15     If you extended or implemented anything from the `ProxyManager\` namespace, you probably need to change
  16     that code to adapt it to the new signature.
  17   * ProxyManager will no longer write proxies to disk by default:
  18     the [`EvaluatingGeneratorStrategy`](src/GeneratorStrategy/EvaluatingGeneratorStrategy.php) is used instead.
  19     If you still want ProxyManager to write files to disk, please refer to the [tuning for production docs](docs/tuning-for-production.md)
  20   * Ghost objects were entirely rewritten, for better support and improved performance. Lazy-loading is not
  21     triggered by public API access, but by property access (private and public). While this is not really a BC
  22     break, you are encouraged to check your applications if you rely on [ghost objects](docs/lazy-loading-ghost-object.md).
  23   * If ProxyManager can't find a proxy, it will now automatically attempt to auto-generate it, regardless of
  24     the settings passed to it.
  25   * `ProxyManager\Configuration#setAutoGenerateProxies()` was removed. Please look for calls to this method and
  26     remove them.
  27   * Private properties are now also correctly handled by ProxyManager: accessing proxy state via friend classes
  28     (protected or private scope) does not require any particular workarounds anymore.
  29   * `ProxyManager\Version::VERSION` was removed. Please use `ProxyManager\Version::getVersion()` instead.
  30   * PHP 4 style constructors are no longer supported
  31  
  32  # 1.0.0
  33  
  34  `1.0.0` is be fully compatible with `0.5.0`.
  35  
  36  # 0.5.0
  37  
  38   * The Generated Hydrator has been removed - it is now available as a separate project
  39     at [Ocramius/GeneratedHydrator](https://github.com/Ocramius/GeneratedHydrator) [#65](https://github.com/Ocramius/ProxyManager/pull/65)
  40   * When having a `public function __get($name)` defined (by-val) and public properties, it won't be possible to get public
  41     properties by-ref while initializing the object. Either drop `__get()` or implement
  42     a by-ref `& __get()` [#126](https://github.com/Ocramius/ProxyManager/pull/126)
  43   * Proxies are now being always auto-generated if they could not be autoloaded by a factory. The methods
  44     [`ProxyManager\Configuration#setAutoGenerateProxies()`](https://github.com/Ocramius/ProxyManager/blob/0.5.0-BETA2/src/ProxyManager/Configuration.php#L67)
  45     and [`ProxyManager\Configuration#doesAutoGenerateProxies()`](https://github.com/Ocramius/ProxyManager/blob/0.5.0-BETA2/src/ProxyManager/Configuration.php#L75)
  46     are now no-op and deprecated, and will be removed in the next minor
  47     version [#87](https://github.com/Ocramius/ProxyManager/pull/87) [#90](https://github.com/Ocramius/ProxyManager/pull/90)
  48   * Proxy public properties defaults are now set before initialization [#116](https://github.com/Ocramius/ProxyManager/pull/116) [#122](https://github.com/Ocramius/ProxyManager/pull/122)
  49  
  50  # 0.4.0
  51  
  52   * An optional parameter `$options` was introduced
  53     in [`ProxyManager\Inflector\ClassNameInflectorInterface#getProxyClassName($className, array $options = array())`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/Inflector/ClassNameInflectorInterface.php)
  54     parametrize the generated class name as of [#10](https://github.com/Ocramius/ProxyManager/pull/10)
  55     and [#59](https://github.com/Ocramius/ProxyManager/pull/59)
  56   * Generated hydrators no longer have constructor arguments. Any required reflection instantiation is now dealt with
  57     in the hydrator internally as of [#63](https://github.com/Ocramius/ProxyManager/pull/63)
  58  
  59  # 0.3.4
  60  
  61   * Interface names are also supported for proxy generation as of [#40](https://github.com/Ocramius/ProxyManager/pull/40)
  62  
  63  # 0.3.3
  64  
  65   * [Generated hydrators](https://github.com/Ocramius/ProxyManager/tree/master/docs/generated-hydrator.md) were introduced
  66  
  67  # 0.3.2
  68  
  69   * An additional (optional) [by-ref parameter was added](https://github.com/Ocramius/ProxyManager/pull/31) 
  70     to the lazy loading proxies' initializer to allow unsetting the initializer with less overhead.
  71  
  72  # 0.3.0
  73  
  74   * Dependency to [jms/cg](https://github.com/schmittjoh/cg-library) removed
  75   * Moved code generation logic to [`Zend\Code`](https://github.com/zendframework/zf2)
  76   * Added method [`ProxyManager\Inflector\ClassNameInflectorInterface#isProxyClassName($className)`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/Inflector/ClassNameInflectorInterface.php)
  77   * The constructor of [`ProxyManager\Autoloader\Autoloader`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/Autoloader/Autoloader.php)
  78     changed from `__construct(\ProxyManager\FileLocator\FileLocatorInterface $fileLocator)` to
  79     `__construct(\ProxyManager\FileLocator\FileLocatorInterface $fileLocator, \ProxyManager\Inflector\ClassNameInflectorInterface $classNameInflector)`
  80   * Classes implementing `CG\Core\GeneratorStrategyInterface` now implement
  81     [`ProxyManager\GeneratorStrategy\GeneratorStrategyInterface`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/GeneratorStrategy/GeneratorStrategyInterface.php)
  82     instead
  83   * All code generation logic has been replaced - If you wrote any logic based on `ProxyManager\ProxyGenerator`, you will
  84     have to rewrite it
  85  
  86  # 0.2.0
  87  
  88   * The signature of initializers to be used with proxies implementing
  89     [`ProxyManager\Proxy\LazyLoadingInterface`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/Proxy/LazyLoadingInterface.php)
  90     changed from:
  91  
  92     ```php
  93     $initializer = function ($proxy, & $wrappedObject, $method, $parameters) {};
  94     ```
  95  
  96     to
  97  
  98     ```php
  99     $initializer = function (& $wrappedObject, $proxy, $method, $parameters) {};
 100     ```
 101  
 102     Only the order of parameters passed to the closures has been changed.


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