All notable changes to this project will be documented in this file, in reverse chronological order by release.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- zendframework/zend-code#180 adds support for PHP 7.4.
- Nothing.
- Nothing.
- Nothing.
-
zendframework/zend-code#179 fixes exception message when invalid value provided in
Laminas\Code\Generator\ValueGenerator
. -
zendframework/zend-code#180 fixes PHP 7.4 compatibility.
-
zendframework/zend-code#170 adds class constant visibility modifiers support.
-
zendframework/zend-code#169 adds the ability to define declare statements.
-
zendframework/zend-code#167 adds the ability to remove doc block of a member.
- zendframework/zend-code#166 changes omitting default property value if it is null.
- Nothing.
- Nothing.
- zendframework/zend-code#172 fixes PHP 7.4 compatibility.
- zendframework/zend-code#162 adds support for PHP 7.3.
- Nothing.
- Nothing.
- Nothing.
-
zendframework/zend-code#171 changes curly braces in array and string offset access to square brackets in order to prevent issues under the upcoming PHP 7.4 release.
-
zendframework/zend-code#164 fixes indentation in multi-level arrays generated by
ValueGenerator
.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
zendframework/zend-code#158 updates several
switch
cases to usebreak
instead ofcontinue
in order to prevent issues under the upcoming PHP 7.3 release. -
zendframework/zend-code#147 fixes the regular expression used for
@var
annotations to allow omission of the variable name. -
zendframework/zend-code#146 updates all
@return
annotations to reflect the correct types returned by each method. -
zendframework/zend-code#144 fixes the class generator such that it now resolves
setExtendedClass()
arguments to aliases provided to the generator. -
zendframework/zend-code#140 fixes
MethodScanner::setVisibility()
such that it no longer casts the provided visibility token to lower case; this fix is necessary, as the method is supposed to expect only the appropriateT_(PUBLIC|PROTECTED|PRIVATE)
token values, which are integers. -
zendframework/zend-code#140 updates the
MethodScanner::setVisibility()
method to raise a package-specificInvalidArgumentException
instead of the non-existent packageException
class when an invalid visibility is provided.
- zendframework/zend-code#131 added the ability to omit a parameter type declaration
- zendframework/zend-code#132 added a
lightweight
MethodGenerator::copyMethodSignature()
constructor that only copies the method declaration with no body nor docblock. - zendframework/zend-code#134 short array notation is now used by default for generated array values
- zendframework/zend-code#136 added the
ability to specify an
omitdefaultvalue
key when usingParameterGenerator::fromArray()
- Nothing.
- Nothing.
- zendframework/zend-code#130 Updated links to the documentation
- zendframework/zend-code#133 The default
value of a
ParameterGenerator
is always aValueGenerator
- zendframework/zend-code#112
zendframework/zend-code#110 Introduced
support for the PHP
7.2
object
type-hint - zendframework/zend-code#41 Added
VarTag
support to the docblock generators and reflectors: allows generating and parsing@var
tags. - zendframework/zend-code#113 Added
PHP
7.2
to the build matrix - zendframework/zend-code#114 Increased
minimum supported PHP version to
^7.1.0
- zendframework/zend-code#114 Upgraded
PHPUnit dependency to
^6.2.2
- zendframework/zend-code#121 Imported
global functions via
use
statements (experimenting with OpCache OPCODE inlining optimisations)
- Nothing.
- zendframework/zend-code#113 zendframework/zend-code#118 Removed HHVM support
- zendframework/zend-code#122 Removed IRC notifications for pushes/build statuses
- zendframework/zend-code#101 avoid
calling
isInternalPhpType
twice in theTypeGenerator
- zendframework/zend-code#115 Replaced assertions in the test suite with their static counterparts where applicable
- zendframework/zend-code#120 zendframework/zend-code#109 zendframework/zend-code#100 Applied Laminas coding standard to the library code
- zendframework/zend-code#119 Corrected test suite errors caused by mismatching parameter order
- zendframework/zend-code#106
- zendframework/zend-code#107 Minor typing error corrections in documentation and error messages
- zendframework/zend-code#87 support for
PHP 7.1's
void
return type declaration. - zendframework/zend-code#87 support for PHP 7.1's nullable type declarations.
- zendframework/zend-code#87 support for
PHP 7.1's
iterable
type declaration. - zendframework/zend-code#62 added
Laminas\Code\Generator\MethodGenerator#getReturnType()
accessor. - zendframework/zend-code#68 zendframework/zend-code#26 added mutators to allow removing/checking for existence of methods, properties, constants, parameters and type declarations across all the code generator API.
- zendframework/zend-code#65 continuous integration testing now checks locked, newest and oldest dependency sets.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- zendframework/zend-code#92 corrected
Laminas\Code\Scanner\ClassScanner
to detect multiple interface inheritance. - zendframework/zend-code#95 corrected
Laminas\Code\Generator\ParameterGenerator
to allow copying parameter signatures for non-optional parameters that are still nullable via a default= null
value. - zendframework/zend-code#94 corrected
Laminas\Code\Generator\ValueGenerator
so that class constants can now be generated with arrays as default value (supported since PHP 5.6).
- Nothing.
- Nothing.
- Nothing.
- zendframework/zend-code#59 fixes an issue with
detection of multiple trait
use
statements. - zendframework/zend-code#75 provides a patch to
ensure that
extends
statements qualify the parent class based on the current namespace and/or import statements.
- zendframework/zend-code#66 publishes the documentation to https://docs.laminas.dev/laminas-code/.
- Nothing.
- Nothing.
- zendframework/zend-code#61 fixes an issue with how parameter typehints were generated; previously, fully-qualified class names were not being generated with the leading backslash, causing them to attempt to resolve as if they were relative to the current namespace.
- zendframework/zend-code#69 fixes an issue with how class names under the same namespace are generated when generating typehints, extends, and implements values; they now strip the common namespace from the class name.
- zendframework/zend-code#72 fixes an issue
within the
TokenArrayScanner
when scanning closures.
- Nothing.
- Nothing.
- Nothing.
- zendframework/zend-code#52 updates several
dependency constraints:
- laminas-stdlib now allows either the 2.7 or 3.0 series, as the APIs consumed by laminas-code are compatible across versions.
- PHP now excludes the 7.0.5 release, as it has known issues in its tokenizer implementation that make the laminas-code token scanner unusable.
- zendframework/zend-code#46 updates all
generators to use
\n
for line endings in generated code, vsPHP_EOL
, ensuring cross-platform consistency.
- Nothing.
- Nothing.
- Nothing.
- zendframework/zend-code#34 method name cannot be optional when adding a method to a class generator.
- zendframework/zend-code#38 PHP_CodeSniffer was moved to dev dependencies
- zendframework/zend-code#140 updates the
MethodScanner::setVisibility()
method to raise a package-specificInvalidArgumentException
instead of the non-existent packageException
class when an invalid visibility is provided.
This section refers to breaking changes: please refer to docs/book/migration.md for migration instructions.
- Types
string
,int
,float
,bool
passed toLaminas\Code\Generator\ParameterGenerator#setType()
are no longer ignored in generated code zendframework/zend-code#30 - Types declared in DocBlocks are now ignored when creating a
Laminas\Code\Generator\ParameterGenerator
viaLaminas\Code\Generator\ParameterGenerator::fromReflection()
. zendframework/zend-code#30 - Type strings are now validated: passing an invalid type to any method in the generator API
may lead to a
Laminas\Code\Generator\InvalidArgumentException
being thrown. zendframework/zend-code#30 Laminas\Code\Generator\ParameterGenerator::$simple
was removed. zendframework/zend-code#30Laminas\Code\Generator\ParameterGenerator#$type
is now anull|Laminas\Code\Generator\TypeGenerator
: was astring
before. zendframework/zend-code#30Laminas\Code\Generator
type-hints are now always prefixed with the namespace separator\
. zendframework/zend-code#30Laminas\Code\Reflection\ParameterReflection#getType()
was renamed toLaminas\Code\Reflection\ParameterReflection#detectType()
in order to not override the inheritedReflectionParameter#getType()
, introduced in PHP 7. zendframework/zend-code#30
- PHP 7 return type hints generation support via
Laminas\Code\Generator\MethodGenerator#setReturnType()
. zendframework/zend-code#30 - PHP 7 scalar type hints generation support via
Laminas\Code\Generator\ParameterGenerator#setType()
andLaminas\Code\Generator\ParameterGenerator#getType()
. zendframework/zend-code#30 - PHP 5.6 variadic arguments support via
Laminas\Code\Generator\ParameterGenerator#setVariadic()
andLaminas\Code\Generator\ParameterGenerator#getVariadic()
. zendframework/zend-code#30 - Generation of methods returning by reference is supported via
Laminas\Code\Generator\ParameterGenerator#setReturnsReference()
. zendframework/zend-code#30
- Nothing.
Laminas\Code\ParameterGenerator::$simple
was removed. zendframework/zend-code#30
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- zendframework/zend-code#31 updated license year.
- Nothing.
- Nothing.
- Nothing.
- zendframework/zend-code#31 updated license year.
- Nothing.
- Nothing.
- Nothing.
- zendframework/zend-code#25 changes the
doctrine/common
suggestion/dev-dependency to the more specificdoctrine/annotations
package (which is what is actually consumed).
- zendframework/zend-code#12 adds the ability to
generate arrays using either long/standard syntax (
array(...)
) or short syntax ([...]
). This can be accomplished by setting the value type toValueGenerator::TYPE_ARRAY_SHORT
instead of usingTYPE_ARRAY
. Additionally, you can useTYPE_ARRAY_LONG
instead ofTYPE_ARRAY
; the two constants are synonyms. - zendframework/zend-code#11 adds the ability to
generate interfaces via the new class
Laminas\Code\Generator\InterfaceGenerator
.
- Nothing.
- Nothing.
- zendframework/zend-code#20 updates
the laminas-eventmanager dependency to
^2.6|^3.0
, and changes its internal usage to use thetriggerEventUntil()
signature.
- Nothing.
- Nothing.
- zendframework/zend-code#10 removes a development dependency on zendframework/zend-version.
- zendframework/zend-code#23 removes a
requirement on laminas/laminas-stdlib. This results in a slight change in
Laminas\Code\Generator\ValueGenerator
:setConstants()
andgetConstants()
can now receive/emit either an SPLArrayObject
orLaminas\Stdlib\ArrayObject
. Since these are functionally equivalent, however, you will experience no change in behavior.
- Nothing.