Fuente: https://github.com/chamilo/chamilo-lms/releases/download/v1.11.40/chamilo-1.11.40.zip sha256: 1cf4bf2cc7bae1ef1a1eff643235db1d552f78ddf4b6dd1e2d2dac9868679439 Snapshot independiente (rama huerfana); diffable vs 1.11.38. vendor incluido.
21 lines
1.5 KiB
Markdown
21 lines
1.5 KiB
Markdown
---
|
|
title: Generator strategies
|
|
---
|
|
|
|
# Generator strategies
|
|
|
|
ProxyManager allows you to generate classes based on generator strategies and a
|
|
given `Zend\Code\Generator\ClassGenerator` as of
|
|
the [interface of a generator strategy](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/GeneratorStrategy/GeneratorStrategyInterface.php).
|
|
|
|
Currently, 3 generator strategies are shipped with ProxyManager:
|
|
|
|
* [`ProxyManager\GeneratorStrategy\BaseGeneratorStrategy`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/GeneratorStrategy/BaseGeneratorStrategy.php),
|
|
which simply retrieves the string representation of the class from `ClassGenerator`
|
|
* [`ProxyManager\GeneratorStrategy\EvaluatingGeneratorStrategy`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/GeneratorStrategy/EvaluatingGeneratorStrategy.php),
|
|
which calls `eval()` upon the generated class code before returning it. This is useful in cases
|
|
where you want to generate multiple classes at runtime
|
|
* [`ProxyManager\GeneratorStrategy\FileWriterGeneratorStrategy`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/GeneratorStrategy/FileWriterGeneratorStrategy.php),
|
|
which accepts a [`ProxyManager\FileLocator\FileLocatorInterface`](https://github.com/Ocramius/ProxyManager/blob/master/src/ProxyManager/FileLocator/FileLocatorInterface.php)
|
|
instance as constructor parameter, and based on it, writes the generated class to a file before returning its code.
|