Releases: nette/php-generator
Releases · nette/php-generator
Released version 3.6.5
- PhpNamespace: added
resolveName()
- Extractor: fixed extracting attributes #98
PhpNamespace::addUse()
ignores names in current namespace #96- Dumper: improved encoding of strings
BLOG POST: https://blog.nette.org/en/phpgenerator-3-6-news-from-php-8-1-and-more
Released version 3.6.4
- use-statements for functions & constants
- ClassType: method names are case insensitive
- PhpNamespace: class and function names are case-insensitive
- PhpNamespace:
addUse()
&simplifyName()
is case-insensitive PhpNamespace::simplifyName()
fixed collision when alias already exists- PhpNamespace: improved collision checking between class and alias
PhpNamespace::addUse()
removed parameter $aliasOut (BC break)PhpNamespace::addUse()
simplified aliases generation- Factory: supports 'new' in parameters
- accept numeric array keys when validating types #91
Released version 3.6.2
- Printer: added property $wrapLength #55 #56
getType()
,getReturnType()
: added option $asObject that returns Nette\Utils\Type- Factory: constant values are tagged for resolving
- Resolving of names in body & literals #85
- "use Trait" can have comments #90
- added TraitUse, represents use-statement
PhpNamespace::simplifyType()
supports generics like Foo<A, B>
PhpNamespace::unresolveName()
renamed tosimplifyName()
Helpers::unindent()
fixed when level = 0Dumper::format()
placeholder ? must not be followed by \w- Dumper: added $indentation
- Dumper: refactoring
- Printer: refactoring, added property $dumper
- Printer: refactoring, added property $namespace
- Revert "Dumper: dumps Closure as PHP code" (BC break)
PhpNamespace::addUse()
added validation- checks reserved class names
- added validator for types
- added Property and Parameter validation
- improved validation error messages
- Escapes */ in comments
Released version 3.6.1
- added
ClassType::fromCode()
&PhpFile::fromCode()
#79 - Factory::fromClassReflection() added option to materialize traits or not #89
- PhpFile, PhpNamespace: can contain functions [Closes #80]
- PhpFile: added
getClasses()
- Factory: generates trait resolutions
- ClassType: constants are 'public' by default
- Dumper: prints closures as func(...) in PHP 8.1
Released version 3.6.0
- support for PHP 8.1
- added support for enums
- added support for intersection types foo&bar
- added support for final constants
- added support for readonly properties
- added 'never' built-in type
- Literal: accepts parameters
- Dumper: can dump static Closure
- ClassType: setInterface() & setTrait() replaced with interface() & trait() factories
- requires PHP 7.2
Released version 3.5.4 (EOL)
- Dumper: dumps Closure as PHP code
- type '?xyz' sets nullable flag
- Printer: prints
fn()
without space
Branch 3.5 is no longer supported
Released version 3.5.3
Released version 3.5.2
Released version 3.5.0
Supports all new PHP 8 features!
- implemented support for PHP 8 attributes
- implemented support for PHP 8 union types
- implemented PHP 8 constructor property promotion
- Factory: supports attributes in PHP 8
- Dumper::format() syntax ...? now supports named parameters (possible BC break)
- Printer: prints trailing comma in parameter lists when PHP 8 syntax is used
- Factory: loads method bodies from traits
- PhpFile::addNamespace() accepts PhpNamespace object (#68)
BLOG POST https://blog.nette.org/en/news-in-phpgenerator-3-5
Released version 3.4.1 (EOL)
- PHP-safe indentation replaced with Helpers::
unindent()
because requires too much memory - Factory: fix method bodies import #61 (#62)
- Factory::
extractBody()
replaces multi-line & HEREDOC strings with single-line - Printer: added $returnTypeColon #63
- Printer: added $linesBetweenProperties #60
- added support for PHP 8.0 types mixed, static, false, null
This is the last 3.4.x release.