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.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

UPGRADE.md

Zuletzt modifiziert: 02.04.2025, 15:02 - Dateigröße: 6.25 KiB


001  ---
002  title: Upgrade
003  ---
004   
005  This is a list of backwards compatibility (BC) breaks introduced in ProxyManager:
006   
007  # 2.0.0
008   
009   * PHP `~7.0` is now required to use ProxyManager
010   * HHVM compatibility is not guaranteed, as HHVM is not yet PHP 7 compliant
011   * All classes and interfaces now use [strict scalar type hints](http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration).
012     If you extended or implemented anything from the `ProxyManager\` namespace, you probably need to change
013     that code to adapt it to the new signature.
014   * All classes and interfaces now use [return type declarations](http://php.net/manual/en/functions.returning-values.php#functions.returning-values.type-declaration).
015     If you extended or implemented anything from the `ProxyManager\` namespace, you probably need to change
016     that code to adapt it to the new signature.
017   * ProxyManager will no longer write proxies to disk by default:
018     the [`EvaluatingGeneratorStrategy`](src/GeneratorStrategy/EvaluatingGeneratorStrategy.php) is used instead.
019     If you still want ProxyManager to write files to disk, please refer to the [tuning for production docs](docs/tuning-for-production.md)
020   * Ghost objects were entirely rewritten, for better support and improved performance. Lazy-loading is not
021     triggered by public API access, but by property access (private and public). While this is not really a BC
022     break, you are encouraged to check your applications if you rely on [ghost objects](docs/lazy-loading-ghost-object.md).
023   * If ProxyManager can't find a proxy, it will now automatically attempt to auto-generate it, regardless of
024     the settings passed to it.
025   * `ProxyManager\Configuration#setAutoGenerateProxies()` was removed. Please look for calls to this method and
026     remove them.
027   * Private properties are now also correctly handled by ProxyManager: accessing proxy state via friend classes
028     (protected or private scope) does not require any particular workarounds anymore.
029   * `ProxyManager\Version::VERSION` was removed. Please use `ProxyManager\Version::getVersion()` instead.
030   * PHP 4 style constructors are no longer supported
031   
032  # 1.0.0
033   
034  `1.0.0` is be fully compatible with `0.5.0`.
035   
036  # 0.5.0
037   
038   * The Generated Hydrator has been removed - it is now available as a separate project
039     at [Ocramius/GeneratedHydrator](https://github.com/Ocramius/GeneratedHydrator) [#65](https://github.com/Ocramius/ProxyManager/pull/65)
040   * When having a `public function __get($name)` defined (by-val) and public properties, it won't be possible to get public
041     properties by-ref while initializing the object. Either drop `__get()` or implement
042     a by-ref `& __get()` [#126](https://github.com/Ocramius/ProxyManager/pull/126)
043   * Proxies are now being always auto-generated if they could not be autoloaded by a factory. The methods
044     [`ProxyManager\Configuration#setAutoGenerateProxies()`](https://github.com/Ocramius/ProxyManager/blob/0.5.0-BETA2/src/ProxyManager/Configuration.php#L67)
045     and [`ProxyManager\Configuration#doesAutoGenerateProxies()`](https://github.com/Ocramius/ProxyManager/blob/0.5.0-BETA2/src/ProxyManager/Configuration.php#L75)
046     are now no-op and deprecated, and will be removed in the next minor
047     version [#87](https://github.com/Ocramius/ProxyManager/pull/87) [#90](https://github.com/Ocramius/ProxyManager/pull/90)
048   * 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)
049   
050  # 0.4.0
051   
052   * An optional parameter `$options` was introduced
053     in [`ProxyManager\Inflector\ClassNameInflectorInterface#getProxyClassName($className, array $options = array())`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/Inflector/ClassNameInflectorInterface.php)
054     parametrize the generated class name as of [#10](https://github.com/Ocramius/ProxyManager/pull/10)
055     and [#59](https://github.com/Ocramius/ProxyManager/pull/59)
056   * Generated hydrators no longer have constructor arguments. Any required reflection instantiation is now dealt with
057     in the hydrator internally as of [#63](https://github.com/Ocramius/ProxyManager/pull/63)
058   
059  # 0.3.4
060   
061   * Interface names are also supported for proxy generation as of [#40](https://github.com/Ocramius/ProxyManager/pull/40)
062   
063  # 0.3.3
064   
065   * [Generated hydrators](https://github.com/Ocramius/ProxyManager/tree/master/docs/generated-hydrator.md) were introduced
066   
067  # 0.3.2
068   
069   * An additional (optional) [by-ref parameter was added](https://github.com/Ocramius/ProxyManager/pull/31) 
070     to the lazy loading proxies' initializer to allow unsetting the initializer with less overhead.
071   
072  # 0.3.0
073   
074   * Dependency to [jms/cg](https://github.com/schmittjoh/cg-library) removed
075   * Moved code generation logic to [`Zend\Code`](https://github.com/zendframework/zf2)
076   * Added method [`ProxyManager\Inflector\ClassNameInflectorInterface#isProxyClassName($className)`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/Inflector/ClassNameInflectorInterface.php)
077   * The constructor of [`ProxyManager\Autoloader\Autoloader`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/Autoloader/Autoloader.php)
078     changed from `__construct(\ProxyManager\FileLocator\FileLocatorInterface $fileLocator)` to
079     `__construct(\ProxyManager\FileLocator\FileLocatorInterface $fileLocator, \ProxyManager\Inflector\ClassNameInflectorInterface $classNameInflector)`
080   * Classes implementing `CG\Core\GeneratorStrategyInterface` now implement
081     [`ProxyManager\GeneratorStrategy\GeneratorStrategyInterface`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/GeneratorStrategy/GeneratorStrategyInterface.php)
082     instead
083   * All code generation logic has been replaced - If you wrote any logic based on `ProxyManager\ProxyGenerator`, you will
084     have to rewrite it
085   
086  # 0.2.0
087   
088   * The signature of initializers to be used with proxies implementing
089     [`ProxyManager\Proxy\LazyLoadingInterface`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/Proxy/LazyLoadingInterface.php)
090     changed from:
091   
092     ```php
093     $initializer = function ($proxy, & $wrappedObject, $method, $parameters) {};
094     ```
095   
096     to
097   
098     ```php
099     $initializer = function (& $wrappedObject, $proxy, $method, $parameters) {};
100     ```
101   
102     Only the order of parameters passed to the closures has been changed.
103