laminas/laminas-code
Generate, analyze, and manipulate PHP code with Laminas Code. Provides reflection utilities, code generators, docblock parsing, and class/file generation helpers for building frameworks, tooling, and meta-programming workflows.
Feature release (minor)
MethodGenerator thanks to @alexchexesFeature release (minor)
4.15.x bugfix release (patch)
Feature release (minor)
Feature release (minor)
Feature release (minor)
Feature release (minor)
Feature release (minor)
Feature release (minor)
Feature release (minor)
ParameterGenerator#setVariadic(false) with an existing default value thanks to @sakhunzaiFeature release (minor)
str_starts_with() and str_contains() where possible thanks to @fezfeztrue, false and null types thanks to @IonBazan and @saleratreadonly classes thanks to @IonBazan and @salerat4.7.x bugfix release (patch)
Feature release (minor)
Feature release (minor)
FileGenerator reference documentation to remove fromReflectedFilePath(), which was removed in 4.0.0 thanks to @flavioheleno4.5.x bugfix release (patch)
4.5.x bugfix release (patch)
Feature release (minor)
MethodGenerator::fromArray(), add MethodGenerator#returnsReference() thanks to @Ocramius4.5.0 release thanks to @Ocramiuslaminas/laminas-zendframework-bridge from suggested dependencies thanks to @PowerKiKinever type support thanks to @Ocramiuslaminas/laminas-coding-standard to 2.3.0 thanks to @derrabus4.4.x bugfix release (patch)
4.4.x bugfix release (patch)
4.4.x bugfix release (patch)
Feature release (minor)
This release improves performance of applications that include laminas/laminas-code in a significant way.
Thanks to investigation work done by @beberlei in https://github.com/laminas/laminas-zendframework-bridge/issues/83, we found that the laminas/laminas-zendframework-bridge leads to significant runtime performance overhead, but that it can be completely avoided within laminas/laminas-code.
Feature release (minor)
CHANGELOG.md to simplify release workflow thanks to @Ocramius4.2.x bugfix release (patch)
4.2.x bugfix release (patch)
Feature release (minor)
Feature release (minor)
TraitGenerator test code coverage thanks to @mchekinfalsemixednullstatic7.4Laminas\Code\Generator\ClassGenerator#generate()declare() statements
will now be generated above namespace declarations: this is to be better compliant with PSR-2, but it
may break downstream applications if these rely on the stability of code produced
by Laminas\Code\Generator\FileGenerator#generate()laminas/laminas-zendframework-bridge has been removed, and is instead to be installed optionally
by consumers of the library. If you are still migrating from zendframework/zend-code, you will
need to add it to your composer.json yourself, or directly use to Laminas\Code symbols.Scanner
and Annotation components have been removed, and with it all API that interacted with it:
Laminas\Code\Generator\FileGeneratorRegistry has been deletedLaminas\Code\Generator\FileGenerator::fromReflectedFileName() was removedLaminas\Code\Generator\FileGenerator::fromReflection() was removedLaminas\Code\NameInformation has been deletedLaminas\Code\Reflection\ReflectionInterface was marked [@internal](https://github.com/internal)Laminas\Code\Reflection\FileReflection has been deletedLaminas\Code\Generic\Prototype\PrototypeInterface was marked [@internal](https://github.com/internal)Laminas\Code\Generic\Prototype\PrototypeClassFactory was marked [@internal](https://github.com/internal)Laminas\Code\Generic\Prototype\PrototypeGenericInterface was marked [@internal](https://github.com/internal)Laminas\Code\Annotation\AnnotationInterface has been deletedLaminas\Code\Annotation\Parser\GenericAnnotationParser has been deletedLaminas\Code\Annotation\Parser\ParserInterface has been deletedLaminas\Code\Annotation\Parser\DoctrineAnnotationParser has been deletedLaminas\Code\Annotation\AnnotationManager has been deletedLaminas\Code\Annotation\AnnotationCollection has been deletedLaminas\Code\Scanner\ValueScanner has been deletedLaminas\Code\Scanner\DirectoryScanner has been deletedLaminas\Code\Scanner\DocBlockScanner#$nameInformation was removedLaminas\Code\Scanner\DocBlockScanner#$annotationManager was removedLaminas\Code\Scanner\DocBlockScanner#$annotations was removedLaminas\Code\Scanner\DocBlockScanner#getAnnotations() was removedLaminas\Code\Scanner\DocBlockScanner was marked [@internal](https://github.com/internal)Laminas\Code\Scanner\ConstantScanner has been deletedLaminas\Code\Scanner\FunctionScanner has been deletedLaminas\Code\Scanner\AnnotationScanner has been deletedLaminas\Code\Scanner\DerivedClassScanner has been deletedLaminas\Code\Scanner\ClassScanner has been deletedLaminas\Code\Scanner\AggregateDirectoryScanner has been deletedLaminas\Code\Scanner\TokenArrayScanner has been deletedLaminas\Code\Scanner\ParameterScanner has been deletedLaminas\Code\Scanner\FileScanner has been deletedLaminas\Code\Scanner\PropertyScanner has been deletedLaminas\Code\Scanner\CachingFileScanner has been deletedLaminas\Code\Scanner\ScannerInterface has been deletedLaminas\Code\Scanner\MethodScanner has been deletedLaminas\Code\Scanner\Util has been deletednext backward compatibility break release (major)
4.0.x branch against real-world applications before releasing thanks to @Ocramius3.5.0 into development branch for 4.0.x thanks to @OcramiusScanner component, removed FileReflection, removed NameInformation and made DocBlockScanner [@internal](https://github.com/internal) thanks to @Ocramius3.5.x bugfix release (patch)
next feature release (minor)
47: Start PHP 8.0 support thanks to @Slamdunk
43: QA fix for phpstan thanks to @janvernieuwe
How can I help you explore Laravel packages today?