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