mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-23 22:52:12 +01:00
109 lines
2.7 KiB
XML
109 lines
2.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: e587d0655e426f97b3fcb431453da5030e743b23 Maintainer: leonardolara Status: ready --><!-- CREDITS: royopa, diegopires, fabioluciano, geekcom, marcosmarcolin, leonardolara -->
|
|
<sect1 xml:id="language.types.object">
|
|
<title>Objetos</title>
|
|
|
|
<sect2 xml:id="language.types.object.init">
|
|
<title>Inicialização de objetos</title>
|
|
|
|
<para>
|
|
Para criar um novo <type>object</type>, utilize a instrução <literal>new</literal>
|
|
para instanciar uma classe:
|
|
</para>
|
|
|
|
<example>
|
|
<title>Construção de objeto</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
class foo
|
|
{
|
|
function do_foo()
|
|
{
|
|
echo "Fazendo foo.";
|
|
}
|
|
}
|
|
|
|
$bar = new foo;
|
|
$bar->do_foo();
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
|
|
<simpara>
|
|
Para uma discussão completa, veja o capítulo
|
|
<link linkend="language.oop5">Classes e Objetos</link>.
|
|
</simpara>
|
|
|
|
</sect2>
|
|
|
|
<sect2 xml:id="language.types.object.casting">
|
|
<title>Convertendo para objetos</title>
|
|
|
|
<para>
|
|
Se um <type>object</type> é convertido para um <type>object</type>, ele não é
|
|
modificado. Se um valor de qualquer outro tipo é convertido para um
|
|
<type>object</type>, uma nova instância da classe interna <classname>stdClass</classname>
|
|
é criada. Se o valor for &null;, a nova instância será vazia.
|
|
Um <type>array</type> é convertido para um <type>object</type> com as propriedades
|
|
nomeadas pelas chaves e os valores correspondentes, com exceção de chaves numéricas
|
|
que ficarão inacessíveis a menos que sejam iteradas.
|
|
</para>
|
|
|
|
<example>
|
|
<title>Convertendo para um objeto</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$obj = (object) array('1' => 'foo');
|
|
var_dump(isset($obj->{'1'})); // exibe 'bool(true)'
|
|
|
|
// Descontinuado a partir do PHP 8.1
|
|
var_dump(key($obj)); // exibe 'string(1) "1"'
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
|
|
<para>
|
|
Para qualquer outro valor, uma propriedade chamada
|
|
<literal>scalar</literal> conterá o valor.
|
|
</para>
|
|
|
|
<example>
|
|
<title>Conversão com <literal>(object)</literal></title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$obj = (object) 'ciao';
|
|
echo $obj->scalar; // exibe '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
|
|
-->
|