PHP マイクロサービス アーキテクチャの実践: LEMP スタックのインストール: Linux、Nginx、MySQL、および PHP をインストールします。 MySQL データベースの作成: データを保存するデータベースを作成します。 Composer をインストールする: Composer を使用して PHP の依存関係を管理します。マイクロサービスを構築する: Symfony を使用して新しい Composer プロジェクトを作成し、サービスを設定します。エンティティの作成: データベース テーブルにマッピングするためのエンティティを定義します。データベース スキーマの作成: Doctrine を使用してデータベース スキーマを作成します。 API コントローラーを作成します。ユーザーのリクエストを処理するコントローラーです。マイクロサービスの実行: PHP 組み込みサーバーを使用してマイクロサービスを開始します。
PHP マイクロサービス アーキテクチャの実践
はじめに
マイクロサービスは、アプリケーションを独立したスケーラブルなサービスに分割するソフトウェア アーキテクチャ スタイルです。 PHP は、マイクロサービスの構築に最適な人気のあるバックエンド言語です。この記事では、PHP マイクロサービス アーキテクチャの構築を完了するための実践的なケースについて説明します。
LEMP スタックをインストールします
まず、LEMP (Linux、Nginx、MySQL、PHP) スタックをインストールする必要があります:
# 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
MySQL データベースを作成します
次に、データを保存するための MySQL データベースを作成します:
CREATE DATABASE micro_services; GRANT ALL PRIVILEGES ON micro_services.* TO 'user'@'localhost' IDENTIFIED BY 'password';
Composer をインストールします
Composer は PHP 依存関係管理ツールです:
sudo curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer
マイクロサービスの構築
次に、新しい Composer プロジェクトを作成します:
composer create-project symfony/skeleton micro_services cd micro_services
次のコンテンツを config/services.yaml
に追加しますファイル: config/services.yaml
文件:
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')]]
创建 src/Entity/User.php
实体,该实体映射到数据库中的用户表:
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; // ... }
运行以下命令来创建数据库模式:
composer dump-autoload && php bin/console doctrine:database:create
创建 API 控制器
创建一个 API 控制器来处理用户请求:
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); } }
运行微服务
最后,启动 PHP 内置服务器来运行微服务:
php -S localhost:8000 public/index.php
访问 http://localhost:8000/api/users
rrreee
src/Entity/User.php
エンティティを作成します: 🎜rrreee🎜次のコマンドを実行してデータベース スキーマを作成します: 🎜rrreee🎜🎜Create API コントローラー 🎜🎜ユーザーリクエストを処理する API コントローラーを作成します: 🎜rrreee🎜🎜マイクロサービスを実行します🎜🎜最後に、PHP 組み込みサーバーを起動してマイクロサービスを実行します: 🎜rrreee🎜 http://localhost:8000 にアクセスします/api /users
を使用してユーザーリストを取得します。 🎜以上がPHP マイクロサービス アーキテクチャの実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。