mirror of
https://github.com/php/doc-es.git
synced 2026-03-25 16:02:13 +01:00
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@337037 c90b9560-bf6c-de11-be94-00142212c4b1
193 lines
8.3 KiB
XML
193 lines
8.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: 0217894fbce17470601932352a1a8358d40fdf33 Maintainer: seros Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
|
|
<book xml:id="book.phar" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<?phpdoc extension-membership="core" ?>
|
|
<title>Phar</title>
|
|
|
|
<!-- {{{ preface -->
|
|
<preface xml:id="intro.phar">
|
|
&reftitle.intro;
|
|
<para>
|
|
La extensión phar proporciona una manera de colocar aplicaciones PHP enteras dentro de un único fichero
|
|
llamado "phar" (PHP Archive) para una distribución e instalación sencillas.
|
|
Además de proporcionar este servicio, la extensión phar también provee de un método de abstracción
|
|
de formato de fichero para crear y manipular ficheros tar y zip a través de la
|
|
clase <classname>PharData</classname>, tal como
|
|
PDO proporciona una interfaz unificada para acceder a diferentes bases de datos. A diferencia de PDO,
|
|
la cual no puede realizar conversiones entre bases de datos diferentes, Phar también realiza conversiones entre los
|
|
formatos de ficheros tar, zip phar con una sencilla línea de código. Véase
|
|
<function>Phar::convertToExecutable</function> para un ejemplo.
|
|
</para>
|
|
<para>
|
|
¿Qué es phar? Lo archivos Phar están mejor caracterizados como una forma conveniente de agrupar
|
|
varios ficheros en un único fichero. Como tal, un archvo phar proporciona una forma para
|
|
distribuir una aplicación PHP completa en un único fichero y ejecutarla desde ese mismo fichero
|
|
sin necesidad de extraerlo en el disco. Además, los archivos phar pueden ser
|
|
ejecutados por PHP fácilmente al igual que cualquier otro fichero, tanto desde la línea de comandos como desde
|
|
un servidor web. Phar a web server. Phar es como una memoria USB para aplicaciones PHP.
|
|
</para>
|
|
<para>
|
|
Phar implementa esta funcionalidad a través de una <link linkend="book.stream">Envoltura
|
|
de Flujo</link>. Normalmente, para utilizar un fichero externo dentro de un script de PHP, se
|
|
debería usar <function>include</function>
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Utilizar un fichero externo</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
include '/ruta/al/fichero/externo.php';
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Puede considerarse que PHP traduce realemte
|
|
<literal>/ruta/al/fichero/externo.php</literal> a una
|
|
envoltura de flujo como <literal>file:///ruta/al/fichero/externo.php</literal>, y bajo
|
|
la cubierta de hecho hace uso de funciones de flujo de envolturas de flujo de ficheros para
|
|
acceder a todos los ficheros locales.
|
|
</para>
|
|
<para>
|
|
Para utilizar un fichero llamado <literal>fichero.php</literal> contenido en un archivo phar
|
|
<literal>/ruta/a/miphar.phar</literal>,
|
|
la sintaxis es muy similar a la sintaxis <literal>file://</literal> de arriba.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Utilizar un fichero dentro de un archivo phar</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
include 'phar:///ruta/a/miphar.phar/fichero.php';
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
De hecho, se puede tratar un archivo phar exactamente como si fuera un disco externo, usando
|
|
cualquiera de las funciones relacionadas con <function>fopen</function>, <function>opendir</function> y
|
|
funciones relacionadas con <function>mkdir</function> para leer, cambiar, o crear nuevos ficheros
|
|
y directorios dentro del archivo phar. Esto permite que aplicaciones de PHP completas
|
|
sean distribuidas en un único fichero y ejecutarlas directamente desde ese fichero.
|
|
</para>
|
|
<para>
|
|
El uso más común de un archivo phar es distribuir una aplicación completa
|
|
en un único fichero. Por ejemplo, el Instalador de PEAR que se incluye con las versiones
|
|
de PHP está distribuido como un archivo phar. Para usar un archivo phar distribuido
|
|
de esta forma, se puede ejecutar en línea de comandos o mediante un servidor web.
|
|
</para>
|
|
<para>
|
|
Los archivos phar pueden ser distribuidos como archivos <literal>tar</literal>,
|
|
<literal>zip</literal>, o como formato de fichero <literal>phar</literal> personalizado
|
|
diseñado específicamente por la extensión phar. Cada formato de fichero tiene sus ventajas
|
|
y desventajas. Los formatos de fichero tar y zip se pueden leer o extraer mediante cualquier
|
|
herramienta de terceros que pueda leer el formato, pero necesia la extensión phar para ejecutarlo
|
|
con PHP. El formato de fichero phar es personalizado y único para la extensión phar,
|
|
y sólo puede ser creado por la extensión phar o el paquete de PEAR
|
|
<link xlink:href="&url.pear.package;PHP_Archive">PHP_Archive</link>, pero tiene la
|
|
ventaja de que las apliaciones creadas en este formato se ejecutarán incluso si la extensión
|
|
phar no está habilitada.
|
|
</para>
|
|
<para>
|
|
En otras palabra, incluso con la extensión phar deshabilitada, se puede ejecutar o incluir
|
|
un archivo basado en phar. El acceso a ficheros dentro de un archivo phar solamente es
|
|
posible con la extesnión phar a menos que el archivo phar fuese creado por PHP_Archive.
|
|
</para>
|
|
<para>
|
|
La extensión phar también es capaz de convertir un archivo phar desde los formatos de fichero tar a zip o
|
|
a phar en un único comando:
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Convertir un archivo phar, desde phar al formato de fichero tar</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$phar = new Phar('miphar.phar');
|
|
$pgz = $phar->convertToExecutable(Phar::TAR, Phar::GZ); // crea miphar.phar.tar.gz
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Phar puede comprimir ficheros individuales o un archivo entero
|
|
usando la compresión <link linkend="book.zlib">gzip</link> o
|
|
la <link linkend="book.bzip2">bzip2</link>, y puede verificar la integridad
|
|
del archivo automáticamente a través del uso de las signaturas
|
|
MD5, SHA-1, SHA-256 o SHA-512.
|
|
</para>
|
|
<para>
|
|
Por último, la extensión Phar se preocupa de la seguridad, y deshabilita el acceso a la escritura
|
|
de archivos phar ejecutables de manera predeterminada, y requiere la deshabilitación a nivel de sistema del ajuste
|
|
<literal>phar.readonly</literal> de php.ini para crear o
|
|
modificar archivos phar. Los archivos tar y zip normales sin una rutina de interoperabilidad ejecutable
|
|
siempre pueden ser creador o modificados utilizando la clase <classname>PharData</classname>.
|
|
</para>
|
|
<para>
|
|
Si está creando aplicaciones para su distribución, le interesará leer
|
|
<link linkend="phar.creating">Cómo crear Archivos Phar</link>. Si desea
|
|
más información de las diferencias entre los tres formatos de ficheros que soporta phar,
|
|
debería leer <link linkend="phar.fileformat">Phar, Tar y Zip</link>.
|
|
</para>
|
|
<para>
|
|
Si usa aplicaciones phar, existen consejos útiles en
|
|
<link linkend="phar.using">Cómo utilizar archivos Phar</link>
|
|
</para>
|
|
<para>
|
|
La palabra <literal>phar</literal> es una composición de <literal>PHP</literal> y
|
|
<literal>Archive</literal> y está basada indirectamente
|
|
en el familiar <literal>jar</literal> (Java Archive) para los desarrolladores Java.
|
|
</para>
|
|
<para>
|
|
La implementación de archivos Phar está basada en el paquete de PEAR
|
|
<link xlink:href="&url.pear.package;PHP_Archive">PHP_Archive</link>, y
|
|
los detalles de implementación son similares, aunque la extensión Phar
|
|
es mucho más potente. Además, la extensión Phar permite a la mayoría de las aplicaciones
|
|
de PHP ejecutarse sin modificaciones, mientras que los archivos phar basados en PHP_Archive
|
|
a menudo requieren una extensa modificiación para que funcionen.
|
|
</para>
|
|
</preface>
|
|
<!-- }}} -->
|
|
|
|
&reference.phar.setup;
|
|
&reference.phar.constants;
|
|
&reference.phar.using;
|
|
&reference.phar.creating;
|
|
&reference.phar.fileformat;
|
|
&reference.phar.Phar;
|
|
&reference.phar.PharData;
|
|
&reference.phar.PharFileInfo;
|
|
&reference.phar.PharException;
|
|
|
|
</book>
|
|
|
|
<!-- 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
|
|
-->
|
|
|