Home Backend Development PHP Tutorial How to use Google Cloud Pub/Sub to implement message subscription and publishing in PHP development

How to use Google Cloud Pub/Sub to implement message subscription and publishing in PHP development

Jun 25, 2023 am 09:15 AM
php development google cloud pub/sub Message subscription

Google Cloud Pub/Sub is a fully managed messaging service that allows you to reliably transfer real-time and asynchronous data between multiple applications. It is a widely used solution that caters to many use cases such as load balancing, event-driven computing, logging, notifications and analytics, etc.

In PHP development, it is also feasible to use Google Cloud Pub/Sub to implement message subscription and publishing. This article explains how to use Google Cloud Pub/Sub for messaging from a PHP application.

  1. Create Google Cloud Pub/Sub service

Before using Google Cloud Pub/Sub, you need to enable the Google Cloud Pub/Sub API on the Google Cloud Console and create a Google Cloud Pub/Sub service account.

Enable Google Cloud Pub/Sub API:

  1. Open the Google Cloud Console
  2. Select APIs and Services in the menu->Dashboard
  3. Enter "Google Cloud Pub/Sub API" in the search box and select the corresponding service
  4. Click the enable button

Create a Google Cloud Pub/Sub service account:

  1. Open the Google Cloud Console
  2. Select IAM and Management->Service Account in the left menu
  3. Click the Create Service Account button
  4. Enter the service account name and description in the pop-up window
  5. Select Pub/Sub->Pub/Sub Receiver or Pub/Sub Publisher from the role drop-down list
  6. Click the Save button
  7. In the generated service account details page, click the "Create Key" button and select the JSON format
  8. Install Google Cloud Pub/Sub SDK for PHP

Google Cloud Pub/Sub SDK for PHP is the official PHP library of Google Cloud Pub/Sub and can be used to implement messaging in PHP applications.

It is easy to install Google Cloud Pub/Sub SDK for PHP using Composer:

composer require google/cloud-pubsub
Copy after login
  1. Publishing messages

It is very easy to use Google Cloud Pub/Sub to publish messages Simple. The following code can publish a message to the topic named "example-topic":

require_once 'vendor/autoload.php';

use GoogleCloudPubSubPubSubClient;

$pubsub = new PubSubClient();

$topic = $pubsub->topic('example-topic');

$topic->publish(['data' => 'Hello, World!']);
Copy after login

In the above code, the autoloader in the "vendor/autoload.php" file is first used. Then, instantiate a PubSub client object using the "GoogleCloudPubSubPubSubClient" class.

Then, use the service account credentials created in the previous step to authorize the Pub/Sub client object. Once the client object is authorized, you can use it to operate on your topics and subscriptions.

Next, you need to use the $pubsub->topic() method to get a pointer to the topic named "example-topic". Then, use the $topic->publish() method to publish messages to the topic.

Thepublish() method accepts an array parameter, where the "data" key is used to specify the message content to be published.

  1. Subscribing to messages

To subscribe to messages, you need to create a subscription that will connect to the topic and receive all messages published by the topic.

The following code creates a subscription named "example-subscription" and subscribes to a topic named "example-topic":

require_once 'vendor/autoload.php';

use GoogleCloudPubSubPubSubClient;

$pubsub = new PubSubClient();

$topic = $pubsub->topic('example-topic');

$subscription = $topic->subscription('example-subscription');

if (!$subscription->exists()) {
    $subscription->create();
}

$messages = $subscription->pull();

foreach ($messages as $message) {
    echo $message->data() . PHP_EOL;
    $subscription->acknowledge($message);
}
Copy after login

In the above code, first use "vendor/autoload .php" file.

Then, use the "GoogleCloudPubSubPubSubClient" class to instantiate a PubSub client object.

Then, use the $pubsub->topic() method to get a pointer to the topic named "example-topic". Then, use the $topic->subscription() method to get a pointer to the subscription named "example-subscription".

If the subscription does not exist, use the $subscription->create() method to create the subscription.

Use the $subscription->pull() method to pull messages from the subscription. The $subscription->pull() method will return an array containing the returned message objects.

If a message is received, loop the message array, output the message content, and use the $subscription->acknowledge() method to confirm that the message has been consumed.

Note: The pull() method blocks until a message is received or the timeout is reached. If you want to wait for new messages, you can use the acknowledge() method to acknowledge received messages.

  1. Conclusion

In PHP development, it is very easy to use Google Cloud Pub/Sub to implement message subscription and publishing. Simply use the Google Cloud Pub/Sub SDK for PHP library and follow the steps above to integrate Google Cloud Pub/Sub in your application.

In addition, Google Cloud Pub/Sub provides many advanced functions, such as using subscription filters to filter messages, setting the expiration time and retention time of messaging tasks, etc., which can be used according to actual conditions.

The above is the detailed content of How to use Google Cloud Pub/Sub to implement message subscription and publishing in PHP development. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use Memcache in PHP development? How to use Memcache in PHP development? Nov 07, 2023 pm 12:49 PM

In web development, we often need to use caching technology to improve website performance and response speed. Memcache is a popular caching technology that can cache any data type and supports high concurrency and high availability. This article will introduce how to use Memcache in PHP development and provide specific code examples. 1. Install Memcache To use Memcache, we first need to install the Memcache extension on the server. In CentOS operating system, you can use the following command

Describe the SOLID principles and how they apply to PHP development. Describe the SOLID principles and how they apply to PHP development. Apr 03, 2025 am 12:04 AM

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to use PHP to develop an online tutoring service platform How to use PHP to develop an online tutoring service platform Oct 28, 2023 am 09:01 AM

How to use PHP to develop an online tutoring service platform. With the rapid development of the Internet, online tutoring service platforms have attracted more and more people's attention and demand. Parents and students can easily find suitable tutors through such a platform, and tutors can also better demonstrate their teaching abilities and advantages. This article will introduce how to use PHP to develop an online tutoring service platform. First, we need to clarify the functional requirements of the platform. An online tutoring service platform needs to have the following basic functions: Registration and login system: users can

How to implement version control and code collaboration in PHP development? How to implement version control and code collaboration in PHP development? Nov 02, 2023 pm 01:35 PM

How to implement version control and code collaboration in PHP development? With the rapid development of the Internet and the software industry, version control and code collaboration in software development have become increasingly important. Whether you are an independent developer or a team developing, you need an effective version control system to manage code changes and collaborate. In PHP development, there are several commonly used version control systems to choose from, such as Git and SVN. This article will introduce how to use these tools for version control and code collaboration in PHP development. The first step is to choose the one that suits you

Java development experience sharing from scratch: building a message subscription system Java development experience sharing from scratch: building a message subscription system Nov 20, 2023 pm 04:02 PM

As a very popular programming language, Java has always been favored by everyone. When I first started learning Java development, I once encountered a problem-how to build a message subscription system. In this article, I will share my experience in building a message subscription system from scratch, hoping to be helpful to other Java beginners. Step 1: Choose a suitable message queue To build a message subscription system, you first need to choose a suitable message queue. The more popular message queues currently on the market include ActiveMQ,

How to use PHP to develop the coupon function of the ordering system? How to use PHP to develop the coupon function of the ordering system? Nov 01, 2023 pm 04:41 PM

How to use PHP to develop the coupon function of the ordering system? With the rapid development of modern society, people's life pace is getting faster and faster, and more and more people choose to eat out. The emergence of the ordering system has greatly improved the efficiency and convenience of customers' ordering. As a marketing tool to attract customers, the coupon function is also widely used in various ordering systems. So how to use PHP to develop the coupon function of the ordering system? 1. Database design First, we need to design a database to store coupon-related data. It is recommended to create two tables: one

How to use PHP to develop the member points function of the grocery shopping system? How to use PHP to develop the member points function of the grocery shopping system? Nov 01, 2023 am 10:30 AM

How to use PHP to develop the member points function of the grocery shopping system? With the rise of e-commerce, more and more people choose to purchase daily necessities online, including grocery shopping. The grocery shopping system has become the first choice for many people, and one of its important features is the membership points system. The membership points system can attract users and increase their loyalty, while also providing users with an additional shopping experience. In this article, we will discuss how to use PHP to develop the membership points function of the grocery shopping system. First, we need to create a membership table to store users

How to improve search engine rankings with PHP cache development How to improve search engine rankings with PHP cache development Nov 07, 2023 pm 12:56 PM

How to improve search engine rankings through PHP cache development Introduction: In today's digital era, the search engine ranking of a website is crucial to the website's traffic and exposure. In order to improve the ranking of the website, an important strategy is to reduce the loading time of the website through caching. In this article, we'll explore how to improve search engine rankings by developing caching with PHP and provide concrete code examples. 1. The concept of caching Caching is a technology that stores data in temporary storage so that it can be quickly retrieved and reused. for net

See all articles