LMPX.COM |
Home | Linux | Mysql | PHP | XML | ||
|
|
|||
From: Leonardo Boshell Date: Thu Jul 17 05:12:51 2008 Subject: cvs: phpdoc-es /language/types null.xml object.xml pseudo-types.xml resource.xml type-juggling.xml
lboshell Thu Jul 17 11:12:51 2008 UTC
Added files:
/phpdoc-es/language/types null.xml object.xml pseudo-types.xml
resource.xml type-juggling.xml
Log:
Nuevos documentos de acuerdo a la organizacion bajo language/types/
http://cvs.php.net/viewvc.cgi/phpdoc-es/language/types/null.xml?view=markup&rev=1.1
Index: phpdoc-es/language/types/null.xml
+++ phpdoc-es/language/types/null.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.4 Maintainer: lboshell Status: ready -->
<sect1 xml:id="language.types.null">
<title>NULL</title>
<para>
El valor especial &null; representa una variable que no tiene valor.
&null; es el único valor posible del tipo <type>NULL</type>.
</para>
<note>
<simpara>
El tipo <type>null</type> se introdujo en PHP 4.
</simpara>
</note>
<para>
Una variable es considerada como <type>null</type> si:
</para>
<itemizedlist>
<listitem>
<para>
se le ha asignado la constante &null;.
</para>
</listitem>
<listitem>
<para>
no ha sido definida con valor alguno.
</para>
</listitem>
<listitem>
<para>
ha sido eliminada con <function>unset</function>.
</para>
</listitem>
</itemizedlist>
<sect2 xml:id="language.types.null.syntax">
<title>Sintaxis</title>
<para>
Existe un solo valor de tipo <type>null</type>, y ese es la palabra clave
&null;, insensible a mayúsculas y minúsculas.
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$var = NULL;
?>
]]>
</programlisting>
</informalexample>
<para>
Vea también las funciones <function>is_null</function> y
<function>unset</function>.
</para>
</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:"../../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
-->
http://cvs.php.net/viewvc.cgi/phpdoc-es/language/types/object.xml?view=markup&rev=1.1
Index: phpdoc-es/language/types/object.xml
+++ phpdoc-es/language/types/object.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.4 Maintainer: lboshell Status: ready -->
<sect1 xml:id="language.types.object">
<title>Objetos</title>
<sect2 xml:id="language.types.object.init">
<title>Inicialización de Objetos</title>
<para>
Para crear un nuevo valor de tipo <type>object</type>, use la sentencia
<literal>new</literal> para instanciar una clase:
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
class foo
{
function hacer_foo()
{
echo "Haciendo foo.";
}
}
$bar = new foo;
$bar->hacer_foo();
?>
]]>
</programlisting>
</informalexample>
<simpara>
Para una discusión completa, refiérase al capítulo <link
linkend="language.oop">Clases y Objetos</link>.
</simpara>
</sect2>
<sect2 xml:id="language.types.object.casting">
<title>Conversión a objeto</title>
<para>
Si un objeto es convertido a un objeto, éste no es modificado. Si un
valor de cualquier otro tipo es convertido a objeto, una nueva instancia
de la clase interna <literal>stdClass</literal> es creada. Si el valor
era &null;, la nueva instancia estará vacía. Los valores
<type>array</type> son convertidos a <type>object</type> usando las
claves de la matriz como nombres de propiedades y con sus valores
correspondientes. Para cualquier otro valor, una variable miembro llamada
<literal>scalar</literal> contendrá el valor.
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$obj = (object) 'ciao';
echo $obj->scalar; // imprime 'ciao'
?>
]]>
</programlisting>
</informalexample>
</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:"../../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
-->
http://cvs.php.net/viewvc.cgi/phpdoc-es/language/types/pseudo-types.xml?view=markup&rev=1.1
Index: phpdoc-es/language/types/pseudo-types.xml
+++ phpdoc-es/language/types/pseudo-types.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.3 Maintainer: lboshell Status: ready -->
<sect1 xml:id="language.pseudo-types">
<title>Pseudo-tipos y variables usadas en esta documentación</title>
<sect2 xml:id="language.types.mixed">
<title>mixed</title>
<para>
<literal>mixed</literal> indica que un parámetro puede aceptar múltiples
tipos (pero no necesariamente todos).
</para>
<para>
<function>gettype</function>, por ejemplo, aceptará todos los tipos PHP,
mientras que <function>str_replace</function> aceptará cadenas y
matrices.
</para>
</sect2>
<sect2 xml:id="language.types.number">
<title>number</title>
<para>
<literal>number</literal> indica que un parámetro puede ser
<type>integer</type> o <type>float</type>.
</para>
</sect2>
<sect2 xml:id="language.types.callback">
<title>callback</title>
<para>
Algunas funciones como <function>call_user_func</function> o
<function>usort</function> aceptan llamadas de retorno definidas por el
usuario como parámetro. Las funciones tipo llamada de retorno no sólo
pueden ser funciones simples, también pueden ser métodos de objetos,
incluyendo métodos estáticos de clase.
</para>
<para>
Una función de PHP es pasada simplemente usando su nombre como una
cadena. Cualquier función interna o definida por el usuario puede ser
usada, con la excepción de construcciones del lenguaje tales como:
<function>array</function>, <function>echo</function>,
<function>empty</function>, <function>eval</function>,
<function>exit</function>, <function>isset</function>,
<function>list</function>, <function>print</function> o
<function>unset</function>.
</para>
<para>
Un método de un objeto instanciado es pasado como una matriz que contiene
un objeto como el elemento con el índice 0 y un nombre de método en el
índice 1.
</para>
<para>
Los métodos estáticos de clase pueden ser pasados también sin instanciar
un objeto de esa clase al pasar el nombre de clase en lugar de un objeto
como el elemento con índice 0.
</para>
<para>
Además de la creación de funciones comunes definidas por el usuario,
<function>create_function</function> puede ser usada para crear una
función de llamada de retorno anónima.
</para>
<example>
<title>
Ejemplos de funciones tipo llamada de retorno
</title>
<programlisting role="php">
<![CDATA[
<?php
// Una llamada de retorno de ejemplo
function mi_llamada_de_retorno() {
echo '¡Hola mundo!';
}
// Un método como llamada de retorno de ejemplo
class MiClase {
function miMetodoDeRetorno() {
echo '¡Hola Mundo!';
}
}
// Tipo 1: Llamada de retorno simple
call_user_func('mi_llamada_de_retorno');
// Tipo 2: Llamada de método estático de clase
call_user_func(array('MiClase', 'miMetodoDeRetorno'));
// Tipo 3: Llamada a un metodo de objeto
$obj = new MiClase();
call_user_func(array($obj, 'miMetodoDeRetorno'));
// Tipo 4: Llamada a un método estático de clase (A partir de PHP 5.2.3)
call_user_func('MiClase::miMetodoDeRetorno');
// Tipo 5: Llamada relativa a método estático de clase (A partir de PHP 5.3.0)
class A {
public static function quien() {
echo "A\n";
}
}
class B extends A {
public static function quien() {
echo "B\n";
}
}
call_user_func(array('B', 'parent::quien')); // A
?>
]]>
</programlisting>
</example>
<note>
<simpara>
En PHP4, era necesario usar una referencia para crear una llamada de
retorno que apuntara al objeto real, y no a una copia de éste. Para más
detalles, vea <link linkend="language.references">Referencias
Explicadas</link>.
</simpara>
</note>
</sect2>
<sect2 xml:id="language.types.void">
<title>void</title>
<para>
<literal>void</literal> como tipo de retorno quiere decir que el valor de
retorno no tiene utilidad. <literal>void</literal> en una lista de
parámetros quiere decir que la función no recibe ningún parámetro.
</para>
</sect2>
<sect2 xml:id="language.types.dotdotdot">
<title>...</title>
<para>
<parameter>$...</parameter> en los prototipos de funciones quiere decir
<literal>y así sucesivamente</literal>. Este nombre de variable es usado
cuando una función puede recibir un número ilimitado de argumentos.
</para>
</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:"../../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
-->
http://cvs.php.net/viewvc.cgi/phpdoc-es/language/types/resource.xml?view=markup&rev=1.1
Index: phpdoc-es/language/types/resource.xml
+++ phpdoc-es/language/types/resource.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.4 Maintainer: lboshell Status: ready -->
<sect1 xml:id="language.types.resource">
<title>Recursos</title>
<para>
Un valor tipo <type>resource</type> es una variable especial, que contiene
una referencia a un recurso externo. Los recursos son creados y usados por
funciones especiales. Vea el <link linkend="resource">apéndice</link> para
un listado de todas estas funciones y los tipos <type>resource</type>
correspondientes.
</para>
<note>
<simpara>
El tipo <type>resource</type> fue introducido en PHP 4
</simpara>
</note>
<para>
Vea también la función <function>get_resource_type</function>.
</para>
<sect2 xml:id="language.types.resource.casting">
<title>Conversión a recurso</title>
<para>
Dado que las variables <type>resource</type> contienen gestores
especiales a archivos abiertos, conexiones con bases de datos, áreas de
pintura de imágenes y cosas por el estilo, la conversión a tipo
<type>resource</type> carece de sentido.
</para>
</sect2>
<sect2 xml:id="language.types.resource.self-destruct">
<title>Liberación de recursos</title>
<para>
Gracias al sistema de conteo de referencias introducido con el Motor Zend
de PHP 4, un recurso que ya no es referenciado es detectado
automáticamente, y es liberado por el recolector de basura. Por esta
razón, rara vez se necesita liberar la memoria manualmente.
</para>
<note>
<simpara>
Los enlaces persistentes con bases de datos son una excepción a esta
regla. Ellos <emphasis>no</emphasis> son destruidos por el recolector de
basura. Vea también la sección sobre <link
linkend="features.persistent-connections">conexiones persistentes</link>
para más información.
</simpara>
</note>
</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:"../../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
-->
http://cvs.php.net/viewvc.cgi/phpdoc-es/language/types/type-juggling.xml?view=markup&rev=1.1
Index: phpdoc-es/language/types/type-juggling.xml
+++ phpdoc-es/language/types/type-juggling.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.4 Maintainer: lboshell Status: ready -->
<sect1 xml:id="language.types.type-juggling">
<title>Manipulación de Tipos</title>
<simpara>
PHP no requiere (o soporta) la definición explícita de tipos en la
declaración de variables; el tipo de una variable es determinado por el
contexto en el que la variable es usada. Lo que quiere decir que si asigna
un valor tipo <type>string</type> a la variable
<parameter>$var</parameter>, <parameter>$var</parameter> se convierte en
una cadena. Si luego asigna un valor <type>integer</type> a
<parameter>$var</parameter>, ésta se convierte en un entero.
</simpara>
<para>
Un ejemplo de la conversión automática de tipos de PHP es el operador de
adición '+'. Si cualquiera de los operandos es un valor
<type>float</type>, entonces ambos operandos son evaluados como flotantes,
y el resultado será un flotante. De lo contrario, los operandos serán
interpretados como enteros, y el resultado será también un entero. Note
que esto <emphasis>no</emphasis> modifica los tipos de los operandos como
tal; el único cambio está en la forma como los operandos son evaluados y
en el tipo de la expresión misma.
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$foo = "0"; // $foo es una cadena (ASCII 48)
$foo += 2; // $foo es ahora un entero (2)
$foo = $foo + 1.3; // $foo es ahora un flotante (3.3)
$foo = 5 + "10 Cerditos"; // $foo es entero (15)
$foo = 5 + "10 Cerdos"; // $foo es entero (15)
?>
]]>
<!-- bad example, no real operator (must be used with variable, modifies it too)
$foo++; // $foo is the string "1" (ASCII 49)
TODO: explain ++/- - behaviour with strings
examples:
++'001' = '002'
++'abc' = 'abd'
++'xyz' = 'xza'
++'9.9' = '9.0'
++'-3' = '-4'
- -'9' = 8 (integer!)
- -'5.5' = '5.5'
- -'-9' = -10 (integer)
- -'09' = 8 (integer)
- -'abc' = 'abc'
-->
</programlisting>
</informalexample>
<simpara>
Si los dos últimos ejemplos lucen extraños, consulte <link
linkend="language.types.string.conversion">Conversión de cadenas a
números</link>.
</simpara>
<simpara>
Para forzar a que una variable sea evaluada como de cierto tipo, consulte
la sección sobre <link linkend="language.types.typecasting">Moldeamiento
de tipos</link>. Si desea cambiar el tipo de una variable, vea la función
<function>settype</function>.
</simpara>
<para>
Para probar cualquiera de los ejemplos en esta sección, use la función
<function>var_dump</function>.
</para>
<note>
<para>
El comportamiento de una conversión automática a matriz no se encuentra
definido en el momento.
</para>
<para>
Asimismo, ya que PHP soporta el uso de índices en cadenas por medio de
desplazamientos usando la misma sintaxis que la indexación de matrices,
el siguiente ejemplo permanece válido para todas las versiones de PHP:
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$a = 'carro'; // $a es una cadena
$a[0] = 'b'; // $a sigue siendo una cadena
echo $a; // barro
?>
]]>
</programlisting>
</informalexample>
<para>
Vea la sección titulada <link
linkend="language.types.string.substr">Acceso a cadenas por
caracter</link> para más información.
</para>
</note>
<sect2 xml:id="language.types.typecasting">
<title>Moldeamiento de Tipos</title>
<para>
El moldeamiento de tipos en PHP funciona de forma muy similar a como
ocurre en C: el nombre del tipo deseado es escrito entre paréntesis antes
de la variable a ser moldeada.
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$foo = 10; // $foo es un entero
$bar = (boolean) $foo; // $bar es un booleano
?>
]]>
</programlisting>
</informalexample>
<para>
Los moldeamientos permitidos son:
</para>
<itemizedlist>
<listitem>
<simpara>(int), (integer) - moldeamiento a <type>integer</type></simpara>
</listitem>
<listitem>
<simpara>(bool), (boolean) - moldeamiento a <type>boolean</type></simpara>
</listitem>
<listitem>
<simpara>(float), (double), (real) - moldeamiento a <type>float</type></simpara>
</listitem>
<listitem>
<simpara>(string) - moldeamiento a <type>string</type></simpara>
</listitem>
<listitem>
<simpara>(binary) - moldeamiento a <type>string</type> binario (PHP 6)</simpara>
</listitem>
<listitem>
<simpara>(array) - moldeamiento a <type>array</type></simpara>
</listitem>
<listitem>
<simpara>(object) - moldeamiento a <type>object</type></simpara>
</listitem>
</itemizedlist>
<para>
El moldeamiento (binary) y el soporte del prefijo b fueron agregados en
PHP 5.2.1
</para>
<para>
Note que las tabulaciones y los espacios son permitidos al interior de
los paréntesis, así que las siguientes expresiones son funcionalmente
equivalentes:
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$foo = (int) $bar;
$foo = ( int ) $bar;
?>
]]>
</programlisting>
<para>
Moldeamiento de cadenas literales y variables a cadenas binarias:
</para>
<programlisting role="php">
<![CDATA[
<?php
$binario = (binary)$cadena;
$binario = b"cadena binaria";
?>
]]>
</programlisting>
</informalexample>
<note>
<para>
En lugar de moldear una variable a cadena, puede también rodear la
variable con comillas dobles.
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$foo = 10; // $foo es un entero
$cad = "$foo"; // $cad es una cadena
$fst = (string) $foo; // $fst es también una cadena
// Esto imprime "son lo mismo"
if ($fst === $cad) {
echo "son lo mismo";
}
?>
]]>
</programlisting>
</informalexample>
</note>
<para>
Puede que no sea obvio qué sucede exactamente cuando se moldea entre
ciertos tipos. Para más información, consulte las secciones:
</para>
<itemizedlist>
<listitem>
<simpara>
<link linkend="language.types.boolean.casting">Conversión a booleano</link>
</simpara>
</listitem>
<listitem>
<simpara>
<link linkend="language.types.integer.casting">Conversión a entero</link>
</simpara>
</listitem>
<listitem>
<simpara>
<link linkend="language.types.float.casting">Conversión a flotante</link>
</simpara>
</listitem>
<listitem>
<simpara>
<link linkend="language.types.string.casting">Conversión a cadena</link>
</simpara>
</listitem>
<listitem>
<simpara>
<link linkend="language.types.array.casting">Conversión a matriz</link>
</simpara>
</listitem>
<listitem>
<simpara>
<link linkend="language.types.object.casting">Conversión a objeto</link>
</simpara>
</listitem>
<listitem>
<simpara>
<link linkend="language.types.resource.casting">Conversión a recurso</link>
</simpara>
</listitem>
<listitem>
<simpara>
<link linkend="types.comparisons">Las tablas de comparación de tipos</link>
</simpara>
</listitem>
</itemizedlist>
</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:"../../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
-->
| Navigate in group php.doc.es at sever news.php.net | |
| Previous | Next |
| © No Copyright You are free to use Anything |
Site Maintained by PHP Developer
Powered By PHP Consultants |