Heim > Backend-Entwicklung > PHP-Tutorial > Praxis der PHP-Microservice-Architektur

Praxis der PHP-Microservice-Architektur

王林
Freigeben: 2024-06-05 14:58:09
Original
704 Leute haben es durchsucht

Praxis der PHP-Microservice-Architektur: LEMP-Stack installieren: Linux, Nginx, MySQL und PHP installieren. Erstellen Sie eine MySQL-Datenbank: Erstellen Sie eine Datenbank zum Speichern von Daten. Composer installieren: Verwenden Sie Composer, um PHP-Abhängigkeiten zu verwalten. Erstellen Sie den Microservice: Erstellen Sie mit Symfony ein neues Composer-Projekt und konfigurieren Sie den Service. Entitäten erstellen: Definieren Sie Entitäten für die Zuordnung zu Datenbanktabellen. Erstellen Sie ein Datenbankschema: Verwenden Sie Doctrine, um ein Datenbankschema zu erstellen. Erstellen Sie einen API-Controller: Einen Controller, der Benutzeranfragen verarbeitet. Ausführen von Microservices: Starten Sie Microservices mithilfe des in PHP integrierten Servers.

Praxis der PHP-Microservice-Architektur

PHP-Microservice-Architektur in der Praxis

Einführung
Microservices ist ein Software-Architekturstil, der Anwendungen in unabhängige und skalierbare Dienste aufteilt. PHP ist eine beliebte Backend-Sprache, die sich hervorragend zum Erstellen von Microservices eignet. Dieser Artikel führt Sie durch einen praktischen Fall, um den Aufbau der PHP-Microservice-Architektur abzuschließen.

Installieren Sie den LEMP-Stack.
Zuerst müssen Sie den LEMP-Stack (Linux, Nginx, MySQL, PHP) installieren:

# Ubuntu/Debian
sudo apt update && sudo apt install nginx mysql-server php8.1

# CentOS/Fedora
sudo yum update && sudo yum install epel-release
sudo yum install nginx mariadb php81
Nach dem Login kopieren

Composer installieren
Composer ist ein PHP-Abhängigkeitsmanagement-Tool:

CREATE DATABASE micro_services;
GRANT ALL PRIVILEGES ON micro_services.* TO 'user'@'localhost' IDENTIFIED BY 'password';
Nach dem Login kopieren

Microservices erstellen
Als nächstes erstellen Sie ein neues Composer-Projekt:

sudo curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Nach dem Login kopieren

Fügen Sie den folgenden Inhalt zu config/services.yaml</code > hinzu Datei: <strong><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:bash;toolbar:false;'>composer create-project symfony/skeleton micro_services cd micro_services</pre><div class="contentsignin">Nach dem Login kopieren</div></div></strong>Erstellen Sie die Entität <code>src/Entity/User.php, die der Benutzertabelle in der Datenbank zugeordnet ist:

services:
    database.connection: # 数据库连接
        class: Doctrine\DBAL\Connection
        arguments:
            dsn: '%env(DATABASE_URL)%'
    monolog.logger: # 日志记录器
        class: Monolog\Logger
        arguments: [micro_services]
        calls:
            - [pushHandler, [new Monolog\Handler\StreamHandler('logs/dev.log')]]
Nach dem Login kopieren

Führen Sie den folgenden Befehl aus, um das Datenbankschema zu erstellen:

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="users")
 */
class User
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $email;

    // ...
}
Nach dem Login kopieren
config/services.yaml 文件:

composer dump-autoload &&
php bin/console doctrine:database:create
Nach dem Login kopieren

创建 src/Entity/User.php 实体,该实体映射到数据库中的用户表:

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Doctrine\ORM\EntityManagerInterface;

class UserController extends AbstractController
{
    /**
     * @Route("/api/users", methods={"GET"})
     */
    public function index(EntityManagerInterface $em): Response
    {
        $users = $em->getRepository(User::class)->findAll();

        return $this->json($users);
    }
}
Nach dem Login kopieren

运行以下命令来创建数据库模式:

php -S localhost:8000 public/index.php
Nach dem Login kopieren

创建 API 控制器
创建一个 API 控制器来处理用户请求:

rrreee

运行微服务
最后,启动 PHP 内置服务器来运行微服务:

rrreee

访问 http://localhost:8000/api/users

Create API-Controller🎜🎜Erstellen Sie einen API-Controller zur Verarbeitung von Benutzeranfragen:🎜rrreee🎜🎜Führen Sie den Microservice aus🎜🎜Starten Sie schließlich den in PHP integrierten Server, um den Microservice auszuführen:🎜rrreee🎜Besuchen Sie http://localhost:8000 /api /users, um die Benutzerliste abzurufen. 🎜

Das obige ist der detaillierte Inhalt vonPraxis der PHP-Microservice-Architektur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage