<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/migration73.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'migration73.deprecated.php',
    1 => 'PHP 7.3.x で推奨されなくなる機能',
    2 => 'PHP 7.3.x で推奨されなくなる機能',
  ),
  'up' => 
  array (
    0 => 'migration73.php',
    1 => 'PHP 7.2.x から PHP 7.3.x への移行',
  ),
  'prev' => 
  array (
    0 => 'migration73.incompatible.php',
    1 => '下位互換性のない変更点',
  ),
  'next' => 
  array (
    0 => 'migration73.other-changes.php',
    1 => 'その他の変更',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'appendices/migration73/deprecated.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="migration73.deprecated" class="sect1">
 <h2 class="title">PHP 7.3.x で推奨されなくなる機能</h2>

 <div class="sect2" id="migration73.deprecated.core">
  <h3 class="title">PHP コア</h3>

  <div class="sect3" id="migration73.deprecated.core.ci-constant">
   <h4 class="title">大文字小文字を区別しない定数</h4>

   <p class="para">
    大文字小文字を区別せず、定数を宣言することは推奨されません。
    <span class="function"><a href="function.define.php" class="function">define()</a></span> 関数の第3引数に <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>
    を渡すと、推奨されない警告が生成されるようになりました。宣言された定数と異なるケースで定数を使うことも推奨されません。
   </p>
  </div>

  <div class="sect3" id="migration73.deprecated.core.assert">
   <h4 class="title">名前空間の中で assert() 関数の宣言</h4>

   <p class="para">
    名前空間の中で <code class="literal">assert()</code>
    と呼ばれる関数を宣言することは推奨されません。 <span class="function"><a href="function.assert.php" class="function">assert()</a></span>
    関数は
    PHPエンジンによって特別扱いされることが意図されているため、名前空間の中で同じ関数を宣言されると、一貫しない振る舞いに繋がる可能性があるからです。
   </p>
  </div>

  <div class="sect3" id="migration73.deprecated.core.string-search">
   <h4 class="title">文字列でない needle 引数による文字列の探索</h4>

   <p class="para">
    文字列でない needle 引数で文字列検索関数を使うことは推奨されません。
    将来的には、needle 引数は ASCII
    コードポイントではなく、文字列として解釈されるようになります。
    あなたが意図する振る舞いに応じて、明示的に needle 引数を文字列にキャストするか、
    <span class="function"><a href="function.chr.php" class="function">chr()</a></span> 関数を明示的に呼び出すべきです。
    影響を受ける関数は以下のとおりです:
    <ul class="itemizedlist">
     <li class="listitem">
      <span class="simpara"><span class="function"><a href="function.strpos.php" class="function">strpos()</a></span></span>
     </li>
     <li class="listitem">
      <span class="simpara"><span class="function"><a href="function.strrpos.php" class="function">strrpos()</a></span></span>
     </li>
     <li class="listitem">
      <span class="simpara"><span class="function"><a href="function.stripos.php" class="function">stripos()</a></span></span>
     </li>
     <li class="listitem">
      <span class="simpara"><span class="function"><a href="function.strripos.php" class="function">strripos()</a></span></span>
     </li>
     <li class="listitem">
      <span class="simpara"><span class="function"><a href="function.strstr.php" class="function">strstr()</a></span></span>
     </li>
     <li class="listitem">
      <span class="simpara"><span class="function"><a href="function.strchr.php" class="function">strchr()</a></span></span>
     </li>
     <li class="listitem">
      <span class="simpara"><span class="function"><a href="function.strrchr.php" class="function">strrchr()</a></span></span>
     </li>
     <li class="listitem">
      <span class="simpara"><span class="function"><a href="function.stristr.php" class="function">stristr()</a></span></span>
     </li>
    </ul>
   </p>
  </div>

  <div class="sect3" id="migration73.deprecated.core.strip-tags-streaming">
   <h4 class="title">string.strip_tags ストリームフィルタ</h4>

   <p class="para">

    <span class="function"><a href="function.fgetss.php" class="function">fgetss()</a></span> 関数と <a href="filters.string.php" class="link">strip_tags ストリームフィルタ</a>
    は推奨されません。
    このことは <span class="methodname"><a href="splfileobject.fgetss.php" class="methodname">SplFileObject::fgetss()</a></span>
    メソッドと <span class="function"><a href="function.gzgetss.php" class="function">gzgetss()</a></span> 関数にも影響します。
   </p>
  </div>

 </div>

 <div class="sect2" id="migration73.deprecated.filter">
  <h3 class="title">データのフィルタリング</h3>

  <p class="para">
   <strong><code><a href="filter.constants.php#constant.filter-flag-scheme-required">FILTER_FLAG_SCHEME_REQUIRED</a></code></strong> や
   <strong><code><a href="filter.constants.php#constant.filter-flag-host-required">FILTER_FLAG_HOST_REQUIRED</a></code></strong>
   を明示的に使うことは推奨されなくなりました。これらは
   <strong><code><a href="filter.constants.php#constant.filter-validate-url">FILTER_VALIDATE_URL</a></code></strong> に含まれています。
  </p>
 </div>

 <div class="sect2" id="migration73.deprecated.image">
  <h3 class="title">画像処理と GD</h3>

  <p class="para">
   <span class="function"><a href="function.image2wbmp.php" class="function">image2wbmp()</a></span> 関数は推奨されなくなりました。
  </p>
 </div>

 <div class="sect2" id="migration72.deprecated.intl">
  <h3 class="title">国際化関数</h3>

  <p class="para">
   PHP が ICU バージョン56以上とリンクされた状態で <strong><code>Normalizer::NONE</code></strong>
   を使うと、推奨されない警告が発生するようになりました。
  </p>
 </div>

 <div class="sect2" id="migration73.deprecated.mbstring">
  <h3 class="title">マルチバイト文字列</h3>

  <p class="para">
   以下のドキュメントに記されていない <code class="literal">mbereg_*()</code>
   エイリアスは推奨されなくなりました。 対応する
   <code class="literal">mb_ereg_*()</code> 関数を使ってください。
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mbregex_encoding()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mbereg()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mberegi()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mbereg_replace()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mberegi_replace()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mbsplit()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mbereg_match()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mbereg_search()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mbereg_search_pos()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mbereg_search_regs()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mbereg_search_init()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mbereg_search_getregs()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mbereg_search_getpos()</strong></span></span> 
    </li>
    <li class="listitem">
     <span class="simpara"><span class="function"><strong>mbereg_search_setpos()</strong></span></span> 
    </li>
   </ul>
  </p>
 </div>

 <div class="sect2" id="migration73.deprecated.pdo-odbc">
  <h3 class="title">ODBC と DB2 関数 (PDO_ODBC)</h3>

  <p class="para">
   ini 設定 <a href="ref.pdo-odbc.php#ini.pdo-odbc.db2-instance-name" class="link">pdo_odbc.db2_instance_name</a>
   は正式に推奨されなくなりました。ドキュメントでは、PHP 5.1.1
   以降から推奨されないとされていました。
  </p>
 </div>

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