このページの速度 TTFB … LCP …

オープンソース · Ata

WordPressプラグインを、さらに強力に。
MVC-S構造で。

ATAは、MVCデザインパターンによって、成長し続けるコードベースを整理された保守しやすい状態に保てるよう、WordPressプラグイン開発者を支援します。

WordPressプラグイン開発者へ

すべてに、専用のフォルダーを。

ATAはすべてのプラグインに同じ予測可能な構造を与えるため、コードベースが成長しても整理された保守しやすい状態を保てます。

ATA Folder STRUCTURE

your-plugin-name/
├── app/
│   ├── apis/               # REST API endpoint classes
│   ├── controllers/        # Controller classes
│   ├── helpers/            # Global helper functions
│   ├── models/             # Data logic (database interaction)
│   │   └── structures/     # Optional: DTOs/data structure classes
│   ├── routes/             # API and custom URL definitions
│   ├── services/           # Business logic layer
│   └── views/              # View files (HTML/PHP templates)
│
├── base/                   # Base classes your app classes extend
├── config/                 # Plugin-wide configuration
├── constants/              # Custom constant definitions
├── inc/                    # Bootstrapping and initialization files
├── vendor/                 # Composer dependencies (includes the core ATA framework)
│
└── your-plugin-name.php    # The main plugin entry file

Ataの基本原則。

標準で構造化

ATAは、プラグインのさまざまな部分を論理的に分離する、あらかじめ定義されたディレクトリ構造を提供します。

オブジェクト指向ファースト

手続き型の関数ではなくクラスでコードを書くことを推奨し、コードの再利用性と整理性を高めます。

明確な関心の分離

MVCパターンのバリエーションを採用し、ロジック、データ、プレゼンテーションの各レイヤーを確実に分離します。

シンプルなルーティング

ATAには組み込みのルーターがあり、カスタムREST APIエンドポイントやカスタムURLの登録をシンプルかつ宣言的に行えます。

主な違い

MVC-Sとは?

ATAは、Model-View-Controller(MVC)パターンの派生形を推奨しています。私たちはこれを MVC-S(Model-View-Controller-Services)と呼んでいます。

コントローラー(中枢エンジン)

コントローラーは、プラグインの動作の中核です。受信したリクエストの処理、すべてのWordPressフックとフィルターの登録、アプリケーションのフロー制御を担います。シンプルなプラグインでは、コントローラーがすべてのロジックとデータアクセスを直接処理できます。より複雑なアプリケーションでは、その役割はオーケストレーターへと進化します。ビジネスロジックには サービス を、データには モデル を呼び出し、その結果をレンダリングのために ビュー へ渡します。

ビュー(プレゼンテーション層)

ビューは、HTML出力を生成するための 任意 のレイヤーです。コントローラーからデータを受け取り、レンダリングします。ビューに含めるPHPロジックは最小限にとどめ、渡されたデータの表示だけに集中すべきです。

モデル(データ層)

モデルの唯一の役割は、データベースとの直接のやり取りです。モデルクラス内では、 $this->db を通じてWordPressのデータベースオブジェクトにアクセスできます(例: $this->db->get_results(...))。このレイヤーは 任意 です。プラグインがデータベースを扱わない場合は不要です。

サービス(ロジック層)

サービス層は、プラグインの中核となるビジネスロジックを置くための、 任意ですが推奨される 場所です。ロジックがコントローラーにとって複雑になりすぎたら、サービスに切り出しましょう。これにより、コントローラーはスリムに保たれ、リクエスト処理に集中できます。

サンプルプラグイン

Polylang RestAPI Helper

polylang-restapi-helper プラグインは、ATAフレームワークの要点を押さえた、まさに理想的なサンプルです。

WordPressプラグインをATAでMVC化する方法

ドキュメント

プラグインでATAを使い始める方法、素早く、簡単に

次のサクセスストーリーは、あなたの番です。

ご不明な点はありませんか?最適な一手を打てるよう、私たちがお手伝いします。