Download the PHP package pccomponentes/amqp without Composer

On this page you can find all versions of the php package pccomponentes/amqp. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package amqp

Utilidades para mensajería AMQP

Esta biblioteca proporciona una serie de utilidades para lidiar con sistemas de mensajería basados en el protocolo AMQP 0.9.1, y en especial con Rabbit MQ. Entre las utilidades también se incluyen adaptadores a middlewares del bus de symfony para publicar, y un comando de consola para consumir.

Las herramientas disponibles en este repositorio son en su mayoría clases de alto nivel que usan intensivamente clases de bajo nivel que trae la implementación en PHP del cliente Rabbit, que puedes encontrar en [https://github.com/php-amqplib/php-amqplib]().

Creación de exchanges, colas y binds.

Para la declaración de exchanges, colas y binds, disponemos de tres builders, que son "atajos" para las funciones de la librería ampqlib original, a excepción de , que usa .

Todos ellos disponen de métodos para ir seteando sus distintas opciones.

Para conocer qué opciones acepta cada builder, consulte:

Ejemplo de uso

Publicar mensajes en una cola

Para publicar un mensaje en una cola, se proporcionan las siguientes clases:

La clase principal requiere de una instancia de , de , y de , y proporciona un método que enviará el mensaje con el topic indicados al exchange correspondiente.

La elección de a qué exchange enviar el mensaje, y la configuración del envío, se declara con la clase , que es un atajo a de la librería original.

Por último, para facilitar la creación del mensaje , se proporciona su correspondiente , donde podrá configurar el , el , y otra multitud de parámetros, a todos los mensajes que construya y envíe la clase .

Mas información:

Ejemplo de uso:

Consumir una cola

Para consumir un mensaje en una cola, se proporcionan las siguientes clases:

La clase principal requiere de una instancia de , de y de , al que le enviará un mensaje de tipo .

La configuración de cómo consumir una cola, se delegará a , que son atajos a los métodos de la librería original y .

La interfaz será la que tu proyecto tenga que implementar, y programar allí las tareas que quieras ejecutar cuando recuperes un mensaje. Este mensaje será de tipo , que simplemente es un wrapper de que viene con métodos para hacer un ACK, NACK y REJECT sobre el mensaje de manera simple. Además proporciona un método para acceder a la clase original.

Mas información:

Ejemplo de uso

En el siguiente ejemplo, declararemos un que hará un simple de cada mensaje que consuma.

Subscriber + Message Bus

Si se requiere enviar los mensajes consumidos de una cola de rabbit, a un bus, se proporciona la clase , que es una implmenetación concreta del callback de para este fin. Mas información:

Message Bus + Publisher

Para meter un middleware que publique mensajes en una cola, tenemos dos clases auxiliares: , que es el middleware del bus de symfony, y , que es una interfaz que implementará nuestro proyecto para indicar el cómo serializar los mensajes antes de enviarlos al sistema de mensajería, y a qué topic o routing key hacerlo.

Mas información:

Comandos de consola

A continuación, se detallarán los comandos de consola que proporciona esta librería. Todos ellos dependen del componente console de Symfony. Mas información:

Por ejemplo:

Creando nuestra propia aplicación de consola

Para poder ejecutar el comando, previamente tenemos que generar una aplicación. Para ello, deberíamos crear un fichero PHP con el siguiente contenido, modificado lo necesario para adaptarlo a tu nuestro proyecto. Como será un ejecutable de consola, lo llamaremos console sin extensión, y lo pondremos en un directorio bin en la raíz de tu proyecto.

Ejecutar el comando

Para ejecutar el comando, basta con escribir en la terminal:

En él le estamos indicando al sistema que consuma 20 mensajes, y cuando no haya mensajes en la cola, quedará esperando 10 segundos como máximo, o terminarña de ejecutar.


All versions of amqp with dependencies

PHP Build Version
Package Version
Requires php Version ^7.2
php-amqplib/php-amqplib Version ^2.7
symfony/console Version ^4.1
symfony/messenger Version ^4.1
psr/log Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package pccomponentes/amqp contains the following files

Loading the files please wait ....