¿Cuáles son las diferencias entre PECL y PEAR?

4 minutos de lectura

Puedo ver que la biblioteca GD es para imágenes. Pero no puedo ver diferencias entre PECL y PEAR. Ambos tienen autenticación. ¿Cuáles son las principales diferencias entre dos? ¿Por qué no los combinan?

avatar de usuario
Anti Veeranna

PECL representa Biblioteca comunitaria de extensiones de PHP, tiene extensiones escritas en C, que se pueden cargar en PHP para proporcionar funcionalidad adicional. Debe tener derechos de administrador, un compilador de C y una cadena de herramientas asociada para instalar esas extensiones.

PERA es Extensión PHP y repositorio de aplicaciones, tiene bibliotecas y código escrito EN php. Aquellos que simplemente puede descargar, instalar e incluir en su código.

Entonces, sí, son similares, pero a la vez tan diferentes 🙂

  • Respuesta muy clara. Agregaría que PEAR es realmente dos cosas: es un repositorio de bibliotecas, pero también es un canal de distribución/sistema de empaque. Originalmente, el sistema de empaquetado solo distribuía el repositorio único de PEAR, pero hoy, el canal de distribución puede ser utilizado por cualquier biblioteca de terceros.

    – troelskn

    6 de septiembre de 2009 a las 11:37

  • @troelskn, ¿Llamas a eso un “canal de distribución”? ¿En qué se diferencia de una biblioteca PHP tomdickharry normal? ¿Vas a llamar a jQuery un “canal de distribución” también?

    – Pacerier

    14 de octubre de 2014 a las 5:46


  • @troelskn, en realidad jQuery y tom and harry también tienen protocolos claramente definidos. ¿Qué tiene PEAR que lo hace diferente de ellos?

    – Pacerier

    14/10/2014 a las 21:10

  • @Pacerier La última vez que miré, jQuery no tenía un administrador de paquetes. En la comunidad js, npm parece llenar este vacío en estos días (aunque ha habido otros concursantes a lo largo de los años).

    – troelskn

    16 de octubre de 2014 a las 8:55

avatar de usuario
cweiske

PECL es un repositorio de extensiones C para PHP. Esas extensiones generalmente se instalan a través de la pecl comando, que es un alias para pearcon el canal/repositorio predeterminado establecido en pecl.php.net.

PERA es varias cosas:

  1. El paquete instalador (pear command) que puede instalar paquetes desde diferentes canales (repositorios), incluido pecl.php.net. Muchos consideran al compositor el sucesor del instalador de pera.
  2. El paquete repositorio http://pear.php.net/packages.php con ~600 bibliotecas. Muchos de ellos son instalables por el compositor.
  3. un PHP estándar de codificación que está disponible con PHP_CodeSniffer.

  • ¿Siente que es más preciso/claro decir que el ecosistema PEAR incluye un estándar de codificación?

    – Zv_oDD

    1 de marzo de 2020 a las 19:27

avatar de usuario
mercurio

pear es una clase de php escrita en php Mientras que pecl son extensiones que no están escritas en php y necesitan compilarse.

PEAR como tal no es un estándar de codificación. En cambio, PEAR “sigue” un estándar de codificación establecido que se fomenta dentro de la comunidad PHP. Sin embargo, este no es el único estándar de codificación que los usuarios de PHP pueden seguir, el ZF, por ej. recomienda un estándar ligeramente diferente.

PEAR también es un estándar de codificación 😉 php_codesniffer (instalar a través de $pear install php_codesniffer) es una herramienta que escaneará su código y resaltará dónde se desvía de ese o cualquier otro estándar de codificación compatible.

avatar de usuario
Elvin

Según tengo entendido, PHP tiene módulos y marcos, siendo ambos sus bibliotecas, módulos externos, llamados extensiones, viven en su repositorio PECL, mientras que los marcos, llamados paquetes, viven en su repositorio PEAR.

Uno puede usar paquetes PEAR dentro del código PHP simplemente obteniendo los archivos de código fuente, pero las extensiones PECL deben instalarse en el sistema y habilitarse en los archivos de configuración para vincularse con el intérprete.

Además, los paquetes PEAR están escritos en PHP y son scripts de texto sin formato, mientras que las extensiones PECL están escritas en C/C++ y son binarios compilados en su forma consumible.

Las extensiones, como sugiere el nombre, extienden PHP con algo que aún no ofrece por sí mismo, mientras que los paquetes son solo una colección de código PHP, es decir. todo lo que puede hacer con PHP propiamente dicho.

Esto es paralelo a los módulos PM de Perl y las extensiones XS.


Dicho esto, mi opinión puede no ser 100% precisa, pero así es como pude resolver esto en mi mente 🙂

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad