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