|
| 1 | +<?xml version="1.0" encoding="utf-8"?> |
| 2 | +<!-- $Revision$ --> |
| 3 | +<!-- EN-Revision: 99916949eb29e72ffa97be78170e2439db69dae9 Maintainer: mumumu Status: ready --> |
| 4 | +<refentry xml:id="function.get-error-handler" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> |
| 5 | + <refnamediv> |
| 6 | + <refname>get_error_handler</refname> |
| 7 | + <refpurpose>ユーザー定義のエラーハンドラ関数を取得する</refpurpose> |
| 8 | + </refnamediv> |
| 9 | + |
| 10 | + <refsect1 role="description"> |
| 11 | + &reftitle.description; |
| 12 | + <methodsynopsis> |
| 13 | + <type class="union"><type>callable</type><type>null</type></type><methodname>get_error_handler</methodname> |
| 14 | + <void/> |
| 15 | + </methodsynopsis> |
| 16 | + <simpara> |
| 17 | + 存在する場合に、現在のエラーハンドラ関数を返します。 |
| 18 | + </simpara> |
| 19 | + </refsect1> |
| 20 | + |
| 21 | + <refsect1 role="parameters"> |
| 22 | + &reftitle.parameters; |
| 23 | + &no.function.parameters; |
| 24 | + </refsect1> |
| 25 | + |
| 26 | + <refsect1 role="returnvalues"> |
| 27 | + &reftitle.returnvalues; |
| 28 | + <simpara> |
| 29 | + (もしあれば)現在定義済みのエラーハンドラを返します。 |
| 30 | + 組み込みのエラーハンドラを使っている場合は、&null; を返します。 |
| 31 | + </simpara> |
| 32 | + <simpara> |
| 33 | + 返されたエラーハンドラは、 |
| 34 | + <function>set_error_handler</function> に渡された callable そのものです。 |
| 35 | + </simpara> |
| 36 | + </refsect1> |
| 37 | + |
| 38 | + <refsect1 role="examples"> |
| 39 | + &reftitle.examples; |
| 40 | + <example> |
| 41 | + <title><function>get_error_handler</function> の例</title> |
| 42 | + <programlisting role="php"> |
| 43 | +<![CDATA[ |
| 44 | +<?php |
| 45 | +
|
| 46 | +$handler = function (int $errno, string $errstr, ?string $errfile, ?int $errline) { |
| 47 | + echo "Error: " . $errstr . "\n"; |
| 48 | +}; |
| 49 | +
|
| 50 | +var_dump(get_error_handler()); // NULL |
| 51 | +
|
| 52 | +set_error_handler($handler); |
| 53 | +
|
| 54 | +var_dump(get_error_handler() === $handler); // bool(true) |
| 55 | +
|
| 56 | +?> |
| 57 | +]]> |
| 58 | + </programlisting> |
| 59 | + </example> |
| 60 | + </refsect1> |
| 61 | + |
| 62 | + <refsect1 role="notes"> |
| 63 | + &reftitle.notes; |
| 64 | + <tip> |
| 65 | + <simpara> |
| 66 | + PHP 8.5.0 より前のバージョンでは、 |
| 67 | + この関数の機能は以下のような polyfill で提供できます: |
| 68 | + </simpara> |
| 69 | + <informalexample> |
| 70 | + <programlisting role="php"> |
| 71 | +<![CDATA[ |
| 72 | +<?php |
| 73 | +if (!function_exists('get_error_handler')) { |
| 74 | + function noop_error_handler() { |
| 75 | + } |
| 76 | + function get_error_handler(): ?callable { |
| 77 | + $handler = set_error_handler('noop_error_handler'); |
| 78 | + restore_error_handler(); |
| 79 | + return $handler; |
| 80 | + } |
| 81 | +} |
| 82 | +?> |
| 83 | +]]> |
| 84 | + </programlisting> |
| 85 | + </informalexample> |
| 86 | + </tip> |
| 87 | + </refsect1> |
| 88 | + |
| 89 | + <refsect1 role="seealso"> |
| 90 | + &reftitle.seealso; |
| 91 | + <simplelist> |
| 92 | + <member><function>error_reporting</function></member> |
| 93 | + <member><function>set_error_handler</function></member> |
| 94 | + <member><function>restore_error_handler</function></member> |
| 95 | + <member><function>trigger_error</function></member> |
| 96 | + <member><link linkend="errorfunc.constants">エラーレベル定数</link></member> |
| 97 | + </simplelist> |
| 98 | + </refsect1> |
| 99 | +</refentry> |
| 100 | +<!-- Keep this comment at the end of the file |
| 101 | +Local variables: |
| 102 | +mode: sgml |
| 103 | +sgml-omittag:t |
| 104 | +sgml-shorttag:t |
| 105 | +sgml-minimize-attributes:nil |
| 106 | +sgml-always-quote-attributes:t |
| 107 | +sgml-indent-step:1 |
| 108 | +sgml-indent-data:t |
| 109 | +indent-tabs-mode:nil |
| 110 | +sgml-parent-document:nil |
| 111 | +sgml-default-dtd-file:"~/.phpdoc/manual.ced" |
| 112 | +sgml-exposed-tags:nil |
| 113 | +sgml-local-catalogs:nil |
| 114 | +sgml-local-ecat-files:nil |
| 115 | +End: |
| 116 | +vim600: syn=xml fen fdm=syntax fdl=2 si |
| 117 | +vim: et tw=78 syn=sgml |
| 118 | +vi: ts=1 sw=1 |
| 119 | +--> |
0 commit comments