<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/migration82.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'migration82.new-features.php',
    1 => 'Новая функциональность',
    2 => 'Новая функциональность',
  ),
  'up' => 
  array (
    0 => 'migration82.php',
    1 => 'Миграция с PHP 8.1.x на PHP 8.2.x',
  ),
  'prev' => 
  array (
    0 => 'migration82.php',
    1 => 'Миграция с PHP 8.1.x на PHP 8.2.x',
  ),
  'next' => 
  array (
    0 => 'migration82.new-functions.php',
    1 => 'Новые функции',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'appendices/migration82/new-features.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="migration82.new-features" class="sect1">
 <h2 class="title">Новая функциональность</h2>

 <div class="sect2" id="migration82.new-features.core">
  <h3 class="title">Ядро PHP</h3>

  <div class="sect3" id="migration82.new-features.core.sensitiveparameter">
   <h4 class="title">Атрибут SensitiveParameter</h4>

   <p class="para">
    Добавлен атрибут <code class="code">#[\SensitiveParameter]</code>
    для редактирования конфиденциальных данных в трассировках стека вызовов.
   </p>
  </div>

  <div class="sect3" id="migration82.new-features.core.error-log-mode-ini">
   <h4 class="title">INI-директива error_log_mode</h4>

   <p class="para">
    Добавлена INI-директива <a href="errorfunc.configuration.php#ini.error-log-mode" class="link">error_log_mode</a>,
    которая позволяет установить разрешения для файла журнала ошибок.
   </p>
  </div>

  <div class="sect3" id="migration82.new-features.core.enums-property-constant-expression">
   <h4 class="title">Свойства перечислений в константных выражениях</h4>

   <p class="para">
    Теперь можно получать свойства <a href="language.enumerations.php" class="link">перечислений</a>
    в константных выражениях.
   </p>
  </div>

  <div class="sect3" id="migration82.new-features.core.type-system">
   <h4 class="title">Улучшения системы типов</h4>

   <p class="para">
    Теперь можно использовать <span class="type"><a href="language.types.null.php" class="type null">null</a></span> и <span class="type"><a href="language.types.singleton.php" class="type false">false</a></span> как самостоятельные типы.
   </p>

   <p class="para">
    Добавлен тип <span class="type"><a href="language.types.singleton.php" class="type true">true</a></span>.
   </p>

   <p class="para">
    Теперь можно комбинировать пересечение и объединение типов.
    Тип должен быть записан в виде <abbr title="Disjunctive Normal Form">DNF</abbr>.
   </p>
  </div>

  <div class="sect3" id="migration82.new-features.core.constant-in-traits">
   <h4 class="title">Константы в трейтах</h4>

   <p class="para">
    Теперь в трейтах можно определять константы.
   </p>
  </div>

  <div class="sect3" id="migration82.new-features.core.readonly-classes">
   <h4 class="title">Классы, доступные только для чтения</h4>

   <p class="para">
    Добавлена поддержка <a href="language.oop5.basic.php#language.oop5.basic.class.readonly" class="link">readonly для классов</a>.
   </p>
  </div>

 </div>

 <div class="sect2" id="migration82.new-features.curl">
  <h3 class="title">cURL</h3>

  <p class="para">
   Добавлена опция <strong><code><a href="curl.constants.php#constant.curlinfo-effective-method">CURLINFO_EFFECTIVE_METHOD</a></code></strong>,
   которая возвращает последний использованный метод <abbr title="Hypertext Transfer Protocol">HTTP</abbr>
   в возвращаемом значении функции <span class="function"><a href="function.curl-getinfo.php" class="function">curl_getinfo()</a></span>.
  </p>

  <p class="para">
   Стало доступно <a href="migration82.constants.php#migration82.constants.curl" class="link">множество новых констант</a> из libcurl 7.62 - 7.80.
  </p>

  <p class="para">
   Добавлена функция <span class="function"><a href="function.curl_upkeep.php" class="function">curl_upkeep()</a></span> для выполнения любых проверок восстановления соединения.
  </p>
 </div>

 <div class="sect2" id="migration82.new-features.dba">
  <h3 class="title">DBA</h3>

  <p class="para">
   Драйвер LMDB теперь принимает флаги <strong><code><a href="dba.constants.php#constant.dba-lmdb-use-sub-dir">DBA_LMDB_USE_SUB_DIR</a></code></strong>
   или <strong><code><a href="dba.constants.php#constant.dba-lmdb-no-sub-dir">DBA_LMDB_NO_SUB_DIR</a></code></strong>, чтобы определить,
   должен ли он создавать подкаталог или нет при создании файла базы данных.
  </p>
 </div>

 <div class="sect2" id="migration82.new-features.oci8">
  <h3 class="title">OCI8</h3>

  <p class="para">
   Добавлены INI-директива <a href="oci8.configuration.php#ini.oci8.prefetch-lob-size" class="link">oci8.prefetch_lob_size</a>
   и функция <span class="function"><a href="function.oci-set-prefetch-lob.php" class="function">oci_set_prefetch_lob()</a></span> для настройки производительности LOB-запросов
   путём уменьшения количества обходов между PHP и базами данных Oracle при выборке LOBS.
   Её можно использовать с Oracle Database 12.2 или более поздней версией.
  </p>
 </div>

 <div class="sect2" id="migration82.new-features.openssl">
  <h3 class="title">OpenSSL</h3>

  <p class="para">
   Добавлена поддержка AEAD-алгоритма chacha20-poly1305.
  </p>
 </div>

 <div class="sect2" id="migration82.new-features.odbc">
  <h3 class="title">ODBC</h3>

  <p class="para">
   Добавлены функции <span class="function"><a href="function.odbc-connection-string-is-quoted.php" class="function">odbc_connection_string_is_quoted()</a></span>,
   <span class="function"><a href="function.odbc-connection-string-should-quote.php" class="function">odbc_connection_string_should_quote()</a></span> и <span class="function"><a href="function.odbc-connection-string-quote.php" class="function">odbc_connection_string_quote()</a></span>.
   В основном они используются внутри самих модулей ODBC и PDO_ODBC,
   но для облегчения модульного тестирования теперь доступны извне.
   Кроме этого, ими можно воспользоваться для экранирования строки из пользовательских приложений.
  </p>
 </div>

 <div class="sect2" id="migration82.new-features.pcre">
  <h3 class="title">PCRE</h3>

  <p class="para">
   Добавлена поддержка модификатора <code class="literal">n</code> (NO_AUTO_CAPTURE),
   который делает простые группы <code class="code">(xyz)</code> не перехватываемыми.
   Перехватываются только именованные группы типа <code class="code">(?&lt;name&gt;xyz)</code>.
   Это влияет только на то, какие группы перехватываются,
   по-прежнему можно использовать нумерованные ссылки на подшаблоны
   и массив совпадений по-прежнему будет содержать нумерованные результаты.
  </p>
 </div>

 <div class="sect2" id="migration82.new-features.random">
  <h3 class="title">Random</h3>

  <p class="para">
   Это новый модуль, который организует и консолидирует существующие реализации,
   связанные с генераторами случайных чисел.
   В новых и улучшенных ГСЧ устранены проблемы,
   связанные с областью их применения.
  </p>
 </div>

</div><?php manual_footer($setup); ?>