The OpenNET Project / Index page

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



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

Исходное сообщение
"Релиз языка программирования PHP 7.2"
Отправлено opennews, 30-Ноя-17 16:41 
После года разработки официально представлен (http://php.net/archive/2017.php#id2017-11-30-1) релиз языка программирования PHP 7.2 (http://php.net/). Новая ветка включает порцию новых возможностей (http://php.net/manual/en/migration72.new-features.php) и изменений (http://php.net/manual/en/migration72.incompatible.php), нарушающих совместимость.


Ключевые улучшения (http://php.net/manual/en/migration72.php) в PHP 7.2:


-  Новый тип object (http://php.net/manual/en/language.types.object.php), при помощи которого можно передавать, преобразовывать и возвращать объекты


   function test(object $obj) : object
   {
       return new SplQueue();
   }
   test(new StdClass());
   $obj = (object) array('1' => 'foo');


-  Поддержка загрузки дополнений по их имени, без явного указания расширения файла (.so или .dll) в  php.ini или при вызове функции dl();
-  Возможность переопределения абстрактных методов, когда один абстрактный  класс наследует другой абстрактный  класс.


   abstract class A
   {
       abstract function test(string $s);
   }
   abstract class B extends A
   {
      abstract function test($s) : int;
   }

-  Возможность явно не указывать типы параметров в переопределяемых методах.


   interface A
   {
       public function Test(array $input);
   }
   class B implements A
   {
       public function Test($input){} // пропущено указание типа для $input
   }

-  Интеграция (http://php.net/manual/en/book.sodium.php) в основной состав криптографической библиотеки Libsodium (https://www.opennet.ru/opennews/art.shtml?num=40674). По сравнению с OpenSSL, Libsodium предоставляют существенно более простой API (https://download.libsodium.org/doc/), совместимый с библиотекой NaCl (http://nacl.cr.yp.to/), а также применяет по умолчанию безопасные  методы шифрования и хэширования. Функции Libsodium будут доступны (https://wiki.php.net/rfc/libsodium) разработчикам на языке PHP  с префиксом "sodium_*", в отличие от ранее применяемого в  расширении pecl/libsodium (https://pecl.php.net/package/libsodium) префикса "Sodium*".

Благодаря Libsodium разработчики на PHP получили возможность использования современных криптографических средств  без необходимости установки дополнений, что позволит реализовать в web-приложениях более надёжные криптографические методы, даже в условиях использования хостинга, не допускающего установки своих дополнений. В том числе в базовой поставке  доступны цифровые подписи Ed25519, обмен ключами ECDH+Curve25519, шифрование     ChaCha20-Poly1305 и AES-256-GCM.

-  В число поддерживаемых методов хэширования паролей добавлен (http://php.net/manual/en/book.password.php) алгоритм Argon2 (https://password-hashing.net/#argon2), победитель конкурса Password Hashing Competition;

-  Удалена (https://wiki.php.net/rfc/mcrypt-viking-funeral) поддержка дополнения Mcrypt из-за прекращения развития библиотеки libmcrypt и накопления большого числа неисправленных проблем;

-  Проведена (https://wiki.php.net/rfc/improved-tls-constants) работа по приведению в порядок констант для TLS (STREAM_CRYPTO_METHOD_TLS_* = TLSv1.0 + TLSv1.1 + TLSv1.2), значения которых теперь нацелены на обеспечения лучшей безопасности. Раньше константы были настроены для обеспечения максимальной обратной совместимости и допускали применение устаревших и ненадёжных методов шифрования.

-  Возможность оставлять запятую в конце сгруппированного списка пространств имён в директиве use:


   use Foo\Bar\{
       Foo,
       Bar,
       Baz,
};


-  Строковый тип для PDO (http://php.net/manual/en/book.pdo.php) (PHP Data Objects) расширен возможностью использования символов национальных алфавитов при эмуляции предварительно формируемых запросов (prepared statement). Для совместного использования с константой PDO::PARAM_STR предложены новые парметры PDO::PARAM_STR_NATL, PDO::PARAM_STR_CHAR и  PDO::ATTR_DEFAULT_STR_PARAM.

   $db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL);


-  Реализованы дополнительные средства отладки при эмуляции предварительно формируемых запросов (prepared statement): через метод
PDOStatement::debugDumpParams() теперь можно получить сведения об отправленном в СУБД  SQL-запросе, после подстановки заменяемых значений;

-  В дополнение для взаимодействие с LDAP добавлена поддержка расширенных операций (EXOP), для работы с которыми предлагаются новые функции и константы:
    ldap_parse_exop(), ldap_exop(),  ldap_exop_passwd(),  ldap_exop_whoami(), LDAP_EXOP_START_TLS, LDAP_EXOP_MODIFY_PASSWD,    LDAP_EXOP_REFRESH, LDAP_EXOP_WHO_AM_I, LDAP_EXOP_TURN.

-  В дополнение  Sockets добавлены функции для получения информации об IP-адресе или Unix-сокете: socket_addrinfo_lookup(), socket_addrinfo_connect(),    socket_addrinfo_bind(), socket_addrinfo_explain();

-  Расширение возможностей дополнения  EXIF (http://php.net/manual/en/book.exif.php), в котором добавлена поддержка дополнительных форматов тегов, в том числе поддержка обработки специфичных тегов Samsung, DJI,    Panasonic, Sony, Pentax, Minolta, Sigma/Foveon,
    AGFA,   Kyocera,  Ricoh и  Epson.


-  В функциях pack() и unpack() добавлена поддержка типов float и double с порядком байтов как от младшего к старшему (little-endian), так и от старшего к младшему (big-endian).


URL: http://php.net/archive/2017.php#id2017-11-30-1
Новость: http://www.opennet.ru/opennews/art.shtml?num=47652

 

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



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

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