March release of Phalanger 3.0
significantly enhances performance
, adds new features and fixes many issues. See following for the list of main improvements:
- New features:
- Phalanger Tools installable for Visual Studio 2011 Beta
- "filter" extension with several most used filters implemented
- DomDocument HTML parser, loadHTML() method
- mail() PHP compatible function
- PHP 5.4 T_CALLABLE token
- PHP 5.4 "callable" type hint
- PCRE: UTF32 characters in range support
- configuration supports <clear/> and <remove> within <classLibrary> configuration section
- object to string conversion cannot return null
- Items of IList and IDictionary can be set using indexer
- Dynamic wrappers (re)generated into a writable location automatically.
- InvalidSourceException reported properly as missing source file, not as an "internal error"
- incomplete class is declared at the beginning of the script if possible (to behave as PHP does)
- <location> within <phpNet> configuration node handled.
- flock() on Windows implemented
- New array data structure implementation and array optimizations.
- PCRE optimizations
- binary string comparison optimization
- static inclusion optimization
- array functions optimized
- operators optimization
For the full list of changes, see http://phalanger.codeplex.com/SourceControl/list/changesets.To enhance performance of your Phalanger powered application, make use of managed extensions, especially MySQL Managed Extension.For other information, please visit support page
- ob_gzhandler() fixed if Accept-Encoding header is invalid
- ini_get() supports 'memory_limit' and 'disable_functions'
- static PHP fields with initializer fix
- fix when ASP.NET sessions are disabled
- Autoglobal variable top-level names do not contain spaces and dots
- tmpfile() creates the file in (w+) mode
- PCRE: replacement of groups > 9 fix
- PCRE: double parenthessed group bug fix
- date( 'c' ); fixed for UTC < 0 and the hour part has two digits
- aliased foreach fix when enumerated array is modified
- ArrayIterator behaviour fix in some special cases
- Calling methods on CLR type's $this fix