mirror of
https://github.com/php/doc-es.git
synced 2026-03-23 23:12:09 +01:00
294 lines
9.5 KiB
XML
294 lines
9.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 0e618211e53c66f33762be225a4d57c08ef4b2f7 Maintainer: PhilDaiguille Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
<!-- CREDITS: DavidA -->
|
|
|
|
<chapter xml:id="language.basic-syntax" xmlns="http://docbook.org/ns/docbook" annotations="interactive">
|
|
<title>La sintaxis básica</title>
|
|
<sect1 xml:id="language.basic-syntax.phptags">
|
|
<title>Etiquetas PHP</title>
|
|
<para>
|
|
Cuando PHP procesa un fichero, reconoce las etiquetas de apertura y
|
|
de cierre, <literal><?php</literal> y <literal>?></literal>, para
|
|
definir los límites de la ejecución del código PHP. El contenido fuera de
|
|
las etiquetas es ignorado por el analizador PHP, permitiendo a PHP integrarse
|
|
de manera transparente en diversos tipos de documentos.
|
|
</para>
|
|
|
|
<para>
|
|
Un carácter de espacio (espacio, tabulación, o nueva línea) debe seguir
|
|
<literal><?php</literal> para asegurar una separación correcta de los tokens.
|
|
Omitir este espacio en blanco resultará en un error de sintaxis.
|
|
</para>
|
|
|
|
<para>
|
|
PHP incluye también la etiqueta corta echo <literal><?=</literal>,
|
|
que es un atajo para <code><?php echo</code>.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Etiquetas de apertura y cierre PHP</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
1. <?php echo 'Si se desea integrar código PHP en documentos XHTML o XML, utilice estas etiquetas'; ?>
|
|
|
|
2. Se puede utilizar la etiqueta corta para <?= 'escribir este texto' ?>.
|
|
Es equivalente a <?php echo 'escribir este texto' ?>.
|
|
|
|
3. <? echo 'este código está entre etiquetas cortas'; ?>
|
|
El siguiente código <?= 'texto' ?> es un atajo para <? echo 'texto' ?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Las etiquetas cortas (tercer ejemplo) están disponibles por omisión,
|
|
pero pueden ser desactivadas a través de la opción
|
|
<link linkend="ini.short-open-tag">short_open_tag</link>
|
|
del fichero de configuración &php.ini;, o están desactivadas por omisión si PHP
|
|
es compilado con la opción <option>--disable-short-tags</option>.
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
Como las etiquetas cortas pueden ser desactivadas, se recomienda utilizar
|
|
solo las etiquetas normales (<code><?php ?></code> y
|
|
<code><?= ?></code>) para maximizar la compatibilidad.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
|
|
<para>
|
|
Si un fichero termina con código PHP, es preferible no colocar
|
|
la etiqueta de cierre al final del fichero. Esto permite evitar olvidar
|
|
un espacio o una nueva línea después de la etiqueta de cierre de PHP, lo cual
|
|
causaría efectos no deseados ya que PHP comenzará a mostrar la salida,
|
|
lo cual no es a menudo el caso deseado.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Fichero que contiene solo código PHP</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo "Hola mundo\n";
|
|
|
|
// ... más código
|
|
|
|
echo "Última instrucción\n";
|
|
|
|
// el script termina aquí, sin la etiqueta de cierre PHP
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="language.basic-syntax.phpmode">
|
|
<title>Escape desde HTML</title>
|
|
<para>
|
|
Todo lo que se encuentra fuera de un par de etiquetas de apertura/cierre
|
|
es ignorado por el analizador PHP, lo que permite tener ficheros PHP
|
|
mezclando contenidos. Esto permite a PHP estar contenido en documentos
|
|
HTML, para crear por ejemplo plantillas.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Integrar PHP en HTML</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<p>Esto será ignorado por PHP y mostrado en el navegador.</p>
|
|
<?php echo 'Mientras que esto será analizado por PHP.'; ?>
|
|
<p>Esto también será ignorado por PHP y mostrado en el navegador.</p>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Esto funciona como se espera porque cuando el intérprete PHP encuentra
|
|
la etiqueta de cierre ?>, simplemente comienza a mostrar lo que encuentra (a excepción de la nueva línea que es inmediatamente seguida: ver
|
|
la <link linkend="language.basic-syntax.instruction-separation">instrucción
|
|
de separación</link>) hasta que encuentre otra etiqueta de apertura
|
|
incluso si PHP se encuentra en medio de una instrucción condicional, en cuyo caso,
|
|
el intérprete determinará la condición a tener en cuenta antes de tomar una decisión sobre lo que debe ser mostrado.
|
|
Ver el siguiente ejemplo.
|
|
</para>
|
|
<para>
|
|
Uso de estructuras con condiciones
|
|
<example>
|
|
<title>Escape avanzado usando condiciones</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php if ($expression == true): ?>
|
|
Esto será mostrado si la expresión es verdadera.
|
|
<?php else: ?>
|
|
De lo contrario, esto será mostrado.
|
|
<?php endif; ?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
En este ejemplo, PHP ignorará los bloques donde la condición no se cumpla,
|
|
incluso si están fuera de las etiquetas de apertura/cierre de PHP. PHP
|
|
los ignorará según la condición ya que el intérprete PHP pasará
|
|
los bloques que contienen lo que no se cumple por la condición.
|
|
</para>
|
|
<para>
|
|
Para mostrar grandes bloques de texto, es más eficiente salir
|
|
del modo de análisis de PHP en lugar de enviar el texto a través de la función
|
|
<function>echo</function> o
|
|
<function>print</function>.
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
Si PHP está integrado en un documento XML o XHTML, la etiqueta PHP
|
|
estándar <code><?php ?></code> debe ser utilizada para mantener la conformidad con los estándares.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="language.basic-syntax.instruction-separation">
|
|
<title>Separación de instrucciones</title>
|
|
<para>
|
|
Al igual que en C o en Perl, PHP requiere que las instrucciones sean terminadas
|
|
por un punto y coma al final de cada instrucción. La etiqueta
|
|
de cierre de un bloque de código PHP implica automáticamente un punto y coma;
|
|
por lo tanto, no es necesario utilizar un punto y coma
|
|
para terminar la última línea de un bloque PHP. La etiqueta de cierre
|
|
de un bloque incluye el carácter de nueva línea seguido inmediatamente si uno
|
|
está presente.
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>Ejemplo que muestra que la etiqueta de cierre incluye la nueva línea que sigue</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php echo "Algún texto"; ?>
|
|
Sin nueva línea
|
|
<?= "Pero nueva línea ahora" ?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
Algún textoSin nueva línea
|
|
Pero nueva línea ahora
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>Ejemplos de entrada y salida del analizador PHP</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo 'Esto es una prueba\n';
|
|
?>
|
|
|
|
<?php echo 'Esto es una prueba\n' ?>
|
|
|
|
<?php echo 'Omitimos la última etiqueta de cierre\n';
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
La etiqueta de cierre de un bloque PHP al final de un fichero es opcional,
|
|
y a veces es útil omitirla cuando se utiliza la función
|
|
<function>include</function> o
|
|
la función <function>require</function>,
|
|
ya que los espacios no deseados no aparecerán al final de los ficheros, y así,
|
|
siempre se podrán agregar encabezados a la respuesta más tarde. Esto es útil
|
|
también si se desea utilizar la visualización del búfer y no se desea ver espacios en blanco añadidos al final de las partes generadas por los ficheros
|
|
incluidos.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</sect1>
|
|
<sect1 xml:id="language.basic-syntax.comments">
|
|
<title>Comentarios</title>
|
|
<para>
|
|
PHP soporta los comentarios de tipo C, C++ y Shell Unix (también
|
|
llamado estilo Perl). Por ejemplo :
|
|
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Comentarios</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo 'Esto es una prueba\n'; // Esto es un comentario de una sola línea, estilo c++
|
|
/* Esto es un comentario de
|
|
varias líneas */
|
|
echo 'Esto es otra prueba\n';
|
|
echo 'Y una prueba final\n'; # Esto es un comentario de una sola línea estilo shell
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<simpara>
|
|
Los comentarios de una sola línea solo comentan hasta el final
|
|
de la línea del bloque PHP actual.
|
|
Esto significa que el código HTML después de <literal>// ... ?></literal>
|
|
o después de <literal># ... ?></literal> SERÁ mostrado:
|
|
?> terminará el modo PHP y volverá al modo HTML, y
|
|
<literal>//</literal> o <literal>#</literal> no influirá en ello.
|
|
</simpara>
|
|
<para>
|
|
<example>
|
|
<title>Los comentarios van hasta el final de la línea</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<h1>Esto es un ejemplo <?php # echo 'simple';?></h1>
|
|
<p>La línea anterior mostrará 'Esto es un ejemplo'.</p>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<simpara>
|
|
Los comentarios estilo 'C' comentan hasta que se encuentre el primer <literal>*/</literal>.
|
|
Se debe tener cuidado con los comentarios estilo 'C' anidados en grandes bloques cuando se comentan.
|
|
</simpara>
|
|
<para>
|
|
<example>
|
|
<title>Los comentarios de tipo C</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/*
|
|
echo 'Esto es una prueba'; /* Este comentario causará un problema */
|
|
*/
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</sect1>
|
|
</chapter>
|
|
|
|
<!-- 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:
|
|
-->
|