PHPReleased the first beta version of PHP 5.5, which incorporates the Zend Optimizer +

Introduced the first beta version of the new large branch programming language interpreter PHP 5.5, which adds new language constructs, removing obsolete features and integrated Zend Optimizer +. PHP 5.5 release is expected in a few months.

New features include PHP 5.5:

– The composition is enabled for caching and optimizing bytecode Zend Optimizer +, previously shipped with a proprietary package Zend Server, but recently translated by Zend Technologies in the category of free software projects. Zend Optimizer + provides a means to accelerate the execution of scripts in PHP, with the technique of the opcode cache and the use of additional optimizations. Precompiled code scripts cached in shared memory, thus avoiding the execution stage to read from disk, parsing and compiling source code scripts when you restart.

– In addition, Zend Optimizer + includes additional optimization techniques to generate bytecode, which allows for acceleration and a more rapid implementation of bytecode. Compared to competitive systems APC, Zend Optimizer + wins in performance by an average of 5-20%, provides better compatibility with various branches and possibilities of language PHP, and provides a means for detecting data corruption (for example, an incorrectly written PHP-functions the language C).

– Added new API for hashing passwords, providing developers make mistakes and easier to use high-level functions to generate and verify the validity of passwords for hashes. The main difference between the new API is that it takes on the generation of robust hashes, hiding from the developer operation manual instructions and salt-and select the hash algorithm (default Bcrypt). Creating hash kept to implement “$ hash = password_hash ($ password, PASSWORD_DEFAULT);”, and check the call “password_verify ($ password, $ hash)”. As the reason for the introduction of a new API called the careless attitude of many developers to generate salt-s and universal choice for unstable sorting hashing algorithms;

– Support coroutines (coroutine) and generator (generator), provides a simple and does not require a way to implement the iterator pattern;

– Support empowers block exemptions try / catch keyword “finally”, performed after completion of the block try, which ensures that the specified section finally code is executed in the last after all other exception handlers;

– Support instructions list () inside the foreach (), which allows you to organize does not require the creation of separate time variables bust ranges cover;

– Opportunity dereferencing constants for strings and arrays;

– Improved module ext / intl with means internationalization

– The ability to use empty () and isset () on the result of the function and arbitrary expressions (for example, empty (foo ()));

– Stop supporting Windows XP and Windows 2003;

– Withdrawal of support of deprecated features: php_logo_guid (), php_egg_logo_guid (), php_real_logo_guid (), zend_logo_guid ();

– Added method Generator :: throw ();

– Implemented a series of new features to enhance cURL;

– Added support for Max-Age attribute to setcookie ();

– Support the use of empty () to the function call, and expressions. For example, empty (foo ());

– Support system trace Systemtap platform Linux;

– Optimization of access to temporary variables and compiled at VM, thereby reducing the number of memory by 8%;

– Extension ext / mysql deprecated, instead, use the MySQLi or PDO_MySQL;

– Added php.ini option to change the path to the temporary directory PHP;

– Added features mysqli_begin_transaction () / mysqli :: begin_transaction ();

– Implemented all options mysqli_commit () / mysqli_rollback (), which can be used with START TRANSACTION, COMMIT, and ROLLBACK in MySQL 5.6;

– Added features wrappers recvmsg () and sendmsg () for ext / sockets;

-Added functions array_column, which returns the requested column from a multidimensional array;

– The ability to use non-scalar iterator as a key in the loop foreach (eg, “foreach ($ iter as $ k => $ v)”);

– Added support for changing the name of the process through the CLI / CLI-Server SAPI function cli_set_process_title ($ title).

Related link:

Zend Optimizer + is approved for inclusion in PHP 5.5