mirror of
https://github.com/php/doc-de.git
synced 2026-03-24 07:12:15 +01:00
114 lines
2.9 KiB
XML
114 lines
2.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: e587d0655e426f97b3fcb431453da5030e743b23 Maintainer: nobody Status: ready -->
|
|
<!-- Reviewed: yes -->
|
|
<!-- Rev-Revision: 4c4b82965384d55f5c3efb1ffa80615acd98a737 Reviewer: samesch -->
|
|
<!-- Credits: hholzgra, simp -->
|
|
<sect1 xml:id="language.types.object">
|
|
<title>Objekte</title>
|
|
|
|
<sect2 xml:id="language.types.object.init">
|
|
<title>Initialisierung von Objekten</title>
|
|
|
|
<para>
|
|
Ein neues Objekt (Typ <type>object</type>) kann erstellt werden, indem mit
|
|
der Anweisung <literal>new</literal> eine Klasse instanziiert wird:
|
|
</para>
|
|
|
|
<example>
|
|
<title>Erstellen eines Objekts</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
class foo
|
|
{
|
|
function do_foo()
|
|
{
|
|
echo "Mache foo.";
|
|
}
|
|
}
|
|
|
|
$bar = new foo;
|
|
$bar->do_foo();
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
|
|
<simpara>
|
|
Eine ausführliche Erörterung ist im Kapitel
|
|
<link linkend="language.oop5">Klassen und Objekte</link> zu finden.
|
|
</simpara>
|
|
|
|
</sect2>
|
|
|
|
<sect2 xml:id="language.types.object.casting">
|
|
<title>Konvertierung in ein Objekt</title>
|
|
|
|
<para>
|
|
Wenn ein <type>Objekt</type> in ein <type>Objekt</type> konvertiert wird,
|
|
wird es nicht verändert. Wenn ein Wert irgendeines anderen Typs in ein
|
|
<type>Objekt</type> konvertiert wird, dann wird ein neues Exemplar der
|
|
eingebauten Klasse <classname>stdClass</classname> erstellt. Wenn der Wert
|
|
&null; war, wird das neue Exemplar leer sein. Ein <type>Array</type> wird
|
|
in ein Objekt konvertiert, indem die Schlüssel und Werte des Arrays zu den
|
|
Namen und Werten der Eigenschaften des Objekts werden. Es ist zu beachten,
|
|
dass in diesem Fall vor PHP 7.2.0 nicht auf numerische Schlüssel
|
|
zugegriffen werden konnte, es sei denn, sie wurden iteriert.
|
|
</para>
|
|
|
|
<example>
|
|
<title>Konvertierung in ein Objekt</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$obj = (object) array('1' => 'foo');
|
|
var_dump(isset($obj->{'1'})); // outputs 'bool(true)'
|
|
|
|
// Seit PHP 8.1 veraltet
|
|
var_dump(key($obj)); // outputs 'string(1) "1"'
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
|
|
<para>
|
|
Für alle anderen Werte enthält eine Member-Variable namens
|
|
<literal>scalar</literal> den Wert.
|
|
</para>
|
|
|
|
<example>
|
|
<title>Konvertierung mittels <literal>(object)</literal></title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$obj = (object) 'ciao';
|
|
echo $obj->scalar; // Ausgabe 'ciao'
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<!-- 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
|
|
-->
|