1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-24 15:22:14 +01:00
Files
archived-doc-de/reference/info/functions/assert-options.xml
Martin Samesch 3245f0095d Sync with EN
2023-10-09 20:30:53 +02:00

297 lines
8.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: ada1d79de35239334b68d0120b011530e31244ff Maintainer: cmb Status: ready -->
<refentry xml:id="function.assert-options" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>assert_options</refname>
<refpurpose>Setzt oder liefert Assert-Optionen</refpurpose>
</refnamediv>
<refsynopsisdiv>
&warn.deprecated.function-8-3-0;
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>assert_options</methodname>
<methodparam><type>int</type><parameter>option</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
<function>assert_options</function> ermöglicht es, die verschiedenen
<function>assert</function>-Optionen zu setzen, oder abzufragen, welche
Optionen gesetzt sind.
</para>
<note>
<simpara>
Von der Verwendung von <function>assert_options</function> wird abgeraten;
stattdessen sollten die &php.ini;-Optionen
<link linkend="ini.zend.assertions">zend.assertions</link> und
<link linkend="ini.assert.exception">assert.exception</link> durch
<function>ini_set</function> und <function>ini_get</function> gesetzt bzw.
gelesen werden.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>option</parameter></term>
<listitem>
<para>
<table>
<title>Assert-Optionen</title>
<tgroup cols="4">
<thead>
<row>
<entry>Option</entry>
<entry>INI-Option</entry>
<entry>Standardwert</entry>
<entry>Beschreibung</entry>
</row>
</thead>
<tbody>
<row>
<entry>ASSERT_ACTIVE</entry>
<entry>assert.active</entry>
<entry>1</entry>
<entry>
Aktiviert die <function>assert</function>-Überprüfung.
</entry>
</row>
<row>
<entry>ASSERT_EXCEPTION</entry>
<entry>assert.exception</entry>
<entry>1</entry>
<entry>
Löst für jede fehlgeschlagene Assertion einen
<classname>AssertionError</classname> aus
</entry>
</row>
<row>
<entry>ASSERT_WARNING</entry>
<entry>assert.warning</entry>
<entry>1</entry>
<entry>
Gibt eine PHP-Warnung für jede fehlgeschlagene Überprüfung aus.
</entry>
</row>
<row>
<entry>ASSERT_BAIL</entry>
<entry>assert.bail</entry>
<entry>0</entry>
<entry>
Beendet das Programm bei fehlgeschlagener Überprüfung.
</entry>
</row>
<row>
<entry>ASSERT_QUIET_EVAL</entry>
<entry>assert.quiet_eval</entry>
<entry>0</entry>
<entry>
Unterdrückt die Fehlerausgabe während der Überprüfung. Entfernt in
PHP 8.0.0.
</entry>
</row>
<row>
<entry>ASSERT_CALLBACK</entry>
<entry>assert.callback</entry>
<entry>(&null;)</entry>
<entry>
Die Funktion, die bei fehlgeschlagener Überprüfung aufgerufen
wird.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Ein optionaler neuer Wert für die Option.
</para>
<para>
Die Callback-Funktion, die per <constant>ASSERT_CALLBACK</constant>
oder <link linkend="ini.assert.callback">assert.callback</link> gesetzt
wurde, sollte folgende Signatur haben:
<methodsynopsis role="procedural">
<type>void</type><methodname>assert_callback</methodname>
<methodparam><type>string</type><parameter>file</parameter></methodparam>
<methodparam><type>int</type><parameter>line</parameter></methodparam>
<methodparam><type class="union"><type>string</type><type>null</type></type><parameter>assertion</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>description</parameter></methodparam>
</methodsynopsis>
<variablelist>
<varlistentry>
<term><parameter>file</parameter></term>
<listitem>
<simpara>
Die Datei, in der <function>assert</function> aufgerufen wurde.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>line</parameter></term>
<listitem>
<simpara>
Die Zeile, in der <function>assert</function> aufgerufen wurde.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>assertion</parameter></term>
<listitem>
<simpara>
Vor PHP 8.0.0 die Assertion, die an <function>assert</function>
übergeben wurde, aber nur wenn die Assertion als Zeichenkette
angegeben wird (ist die Assertion eine boolesche Bedingung, dann
ist dieser Parameter eine leere Zeichenkette). Seit PHP 8.0.0 ist
dieser Parameter immer &null;.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>description</parameter></term>
<listitem>
<simpara>
Die Beschreibung, die an <function>assert</function> übergeben
wurde.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
</variablelist>
Die Übergabe einer leeren Zeichenkette als <parameter>value</parameter>
setzt den Assert-Callback zurück.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Gibt die Einstellung der gesetzten Optionen zurück.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Wenn <parameter>option</parameter> keine gültige Option ist, wird ein
<classname>ValueError</classname> ausgelöst.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.3.0</entry>
<entry>
<function>assert_option</function> ist nun veraltet.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Wenn <parameter>option</parameter> keine gültige Option ist, wird ein
<classname>ValueError</classname> ausgelöst; zuvor wurde &false;
zurückgegeben.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>assert_options</function>-Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
// Das ist unsere Funktion zur Behandlung von
// fehlgeschlagenen Überprüfungen
function assert_failure($file, $line, $assertion, $message)
{
echo "Die Assertion $assertion in $file in Zeile $line schlug fehl: $message";
}
// Das ist unsere Testfunktion
function test_assert($parameter)
{
assert(is_bool($parameter));
}
// Wir setzen unsere Assert-Optionen
assert_options(ASSERT_ACTIVE, true);
assert_options(ASSERT_BAIL, true);
assert_options(ASSERT_WARNING, false);
assert_options(ASSERT_CALLBACK, 'assert_failure');
// Wir führen eine Überprüfung durch, die fehlschlägt
test_assert(1);
// Dies wird nie erreicht, weil ASSERT_BAIL
// true ist
echo 'Unerreicht';
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>assert</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->