The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Начало альфа-тестирования PHP 7. Новые выпуски PHP 5 с устра..."
Отправлено opennews, 12-Июн-15 12:06 
Доступна (http://php.net/archive/2015.php#id2015-01-11-6) для тестирования первая альфа-версия новой ветки языка программирования PHP 7, отличающейся кардинальной переработкой некоторых подсистем. Релиз запланирован (https://wiki.php.net/todo/php70#timetable) на 12 ноября.


Ключевые улучшения (https://github.com/php/php-src/blob/php-7.0.0alpha1/UPGRADING):


-  Существенное увеличение производительности, благодаря применению (https://www.opennet.ru/opennews/art.shtml?num=39724) новых методов организации работы с памятью и переходу на новые структуры хранения данных. В некоторых тестах PHP 7 до двух раз быстрее PHP 5.6;
-  Целостная поддержка 64-разрядных типов на 64-разрядных системах. В том числе возможность использования сток, размером до 2^31 байт, поддержка 64-разрядных значений integer при работе в Windows, поддержка больших файлов в 64-разрядных сборках.

-  Возможность обработки через исключения многих ошибок, ранее приводивших к принудительному завершению работы;


-  Новый оператор  "?? (https://wiki.php.net/rfc/isset_ternary)", позволяющий определить альтернативное значение, в случае если неопределён первичный объект присвоения. Например, для присвоения пустой строки, если не заполнен элемент ассоциативного массива теперь  вместо isset($_GET['mykey']) ? $_GET['mykey'] : '' можно указать $_GET['mykey'] ?? "";
-  Возможность явного определения (https://wiki.php.net/rfc/scalar_type_hints_v5) скалярных типов  int, float, string и bool для аргументов и значений функций (например, "function foo(int $abc): int").
-  Режим жесткой проверки типов, включаемый директивой "declare(strict_types=1)", при котором несоответствие типа передаваемого функции или возвращаемого функцией значения будет приводить к ошибке.
-  Новый оператор комбинированного сравнения "<a href="https://wiki.php.net/rfc/combined-comparison-operator"&... с реализацией поведения, похожего на strcmp() и version_compare(), но через использование типового  синтаксиса операторов сравнения. В частности, новый оператор позволяет не только проверить идентичность операндов, но и оценить какой из них больше другого (0 - равны, 1 - левый больше, -1 - правый больше);
-  Поддержка анонимных классов;
-  Поддержка группировки определений (https://wiki.php.net/rfc/group_use_declarations) в операторе use (например, use Doctrine\Common\Collections\Expr\{ Comparison, Value, CompositeExpression };);
-  Новый метод Closure::call();
-  Дополнительный синтакс для встраивания unicode-строк \u{xxxxxx};
-  Поддержка задания массивов констант в операторе define();
-  Возможность (https://wiki.php.net/rfc/context_sensitive_lexer) использования зарезервированных ключевых слов в новых контекстах (например, можно определить функцию forEach и она не будет пересекаться с оператором foreach);
-  Новый синтаксис "yield from выражение" для делегирования (https://wiki.php.net/rfc/generator-delegation) фукциями-генераторами операций в перемещаемые объекты и массивы.
-  В дополнение openssl добавлена поддержка TLS-расширения я ALPN (https://en.wikipedia.org/wiki/Application-Layer_Protocol_Neg... (Application-Layer Protocol Negotiation) для согласования протоколов уровня приложений, используемых для обеспечения защищённого соединения. Используется в SPDY и HTTP/2;
-  Унификация (https://wiki.php.net/rfc/uniform_variable_syntax) синтаксиса определения переменных и переход к использованию AST (https://wiki.php.net/rfc/abstract_syntax_tree) (Abstract Syntax Tree). Изменение некоторой редко используемой семантики комбинирования переменных (например, $foo->$bar['baz'] теперь интерпретируется как ($foo->$bar)['baz'], а не $foo->{$bar['baz']}). Достаточно большая порция изменений (https://github.com/php/php-src/blob/php-7.0.0alpha1/UPGRADING), нарушающих совместимость;


-  Прекращение поддержки старых и не  поддерживаемых вызовов SAPI и расширений:
sapi/aolserver,  sapi/apache
sapi/apache_hooks,
sapi/apache2filter,
sapi/caudium,
sapi/continuity,
sapi/isapi,
sapi/milter,
sapi/nsapi,
sapi/phttpd,
sapi/pi3web,
sapi/roxen ,
sapi/thttpd,
sapi/tux,
sapi/webjames,
ext/mssql и
ext/sybase_ct;


Дополнительно можно отметить выход (http://php.net/archive/2015.php) корректирующих выпусков языка программирования PHP 5.6.10, 5.5.26 и 5.4.42, в которых устранены (http://php.net/ChangeLog-5.php) восемь уязвимостей и исправлено около десяти ошибок. В функцию mail() добавлена (https://bugs.php.net/bug.php?id=68776) защита от подстановки дополнительных заголовков. В расширении FTP устранено (https://bugs.php.net/bug.php?id=69545) целочисленное переполнение, которое может привести к выполнению кода. В функции escapeshellarg устранена (https://bugs.php.net/bug.php?id=69646) уязвимость позволяющая осуществить подстановку команд операционной системы при экранировании спецсимволов в аргументах к функции system(). Две уязвимости устранены в расширении PCRE (CVE-2015-2325, CVE-2015-2326) и три в Sqlite3  (CVE-2015-3414, CVE-2015-3415, CVE-2015-3416).

URL: http://php.net/archive/2015.php#id2015-01-11-6
Новость: https://www.opennet.ru/opennews/art.shtml?num=42411

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру