Release of Phalanger - PHP compiler&runtime for .NET - improves and fixes PHP language compatibility. See
http://www.php-compiler.net/blog/2013/phalanger-3-0-updates-for-march-2013 for more details.
Continue at
http://phalangermysql.codeplex.com/ for MySQL extension and MySQL PDO driver.
Setup package contains latest version of Phalanger Tools for Visual Studio.
new features
- PHP 5.4 function call array dereference (experimental)
- PHP 5.4 Binary number format
- PHP 5.5 boolval() implemented
- added more extensions
- SplFileObject stub
- ArrayObject stub
- "Etc/GMT-0", "Etc/UTC" timezones added
- API for session_name($newname)
- catch() passes ScriptDiedException thru (exception thrown by die; or exit; cannot be catch by PHP code now)
- ReflectionClass::implementsInterface()
- PDO::MYSQL_ constants
- readdir, closedir, rewinddir with parameterless overloads
- ReflectionClass::getConstants() available
fixes
- using of reserved PHP keywords as qualified names (abstract, resource, array)
- PHPDocBlock allows @var to have variable name and variable type in different orders
- SimpleXmlElement - conversion of single attribute to bool and array fix
- SimpleXMLElement Create from attribute fix
- SimpleXMLElement.ToString returns content of the element
- unserialize() with an empty string returns FALSE without warning
- sessionregenerateid(true) does not clear $_SESSION variable
- "files" session handler fix for data > 8kB
- session id of empty session is not lost
- Zip: reading file content fix
- glob() returns paths with \ slashes on Windows
- PDOStatement prepare parameters - fix when duplicit parameters specified
- Type compilation fix; class implementing interface and extending another class that implements the same interface but not implements its methods fix
- fast&proper is_numeric(); not causing PHP exceptions; not reporting bool/null/.. as numbers; not causing conversion of an object to a number
- PDO overloads fix, converting DB values to PHP types
- PDO closes pending reader before commit properly
- PDO closes pending reader when starting new transaction
- handling NULL in some library functions properly
- PDO fixes; overloads fixes; FETCH_COLUMN support
- Finilizing objects fix
- fopen "a" mode causes a missing file to be created
- PDOStatement::execute() overload fix
- SQLitePDODriver.Quote() properly encloses value in single quotes
- PDO::construct overload fix
- PDOException constructor implemented to work with Phalanger
- ExtManager compilable; readded missing method to Core
optimization
- SimpleXmlElement.ToBoolean(), avoids Create(), avoids creating dummy enumerator
- <Mediator> helper methods removed
- methods on $this called directly if possible (method mus be: final, private, final class or no parameters)
- Class constants compiled as CLR constant (Literal) if possible (not static readonly field)
- singleton EmptyEnumerator when PhpHashtable is empty
- PDO DB connection management uses PhpResource internally