ホームページ  >  記事  >  CMS チュートリアル  >  アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する

アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する

王林
王林オリジナル
2023-09-01 20:25:10550ブラウズ

このシリーズでは、WordPress を使用して Web アプリケーションを構築する方法について説明します。これはコードを取り上げる技術シリーズではありませんが、フレームワーク、基礎、デザイン パターン、アーキテクチャなどのトピックを取り上げます。 シリーズの最初の記事をまだ読んでいない場合は、読むことをお勧めします。ただし、この記事の目的のために、前回の記事を次のように要約できます。

つまり、ソフトウェアはフレームワーク上に構築でき、ソフトウェアは基盤を拡張できます。

簡単に言うと、フレームワークと基盤を区別します。この 2 つの用語は、同じものではありませんが、ソフトウェアでは同じ意味でよく使用されます。 WordPress はそれ自体がアプリケーションであるため、基盤となります。それは枠組みではありません。

これを行うには、WordPress で Web アプリケーションを構築する場合、アーキテクチャを再考するか、アプリケーションの構築方法の概念モデルを再考する必要があります。

Webアプリケーションの構造


可能な限り最も高いレベルでは、Web アプリケーションは通常、次の 3 つのコンポーネントで構成されます。

データベース層

    アプリケーション層
  1. プレゼンテーション層
  2. 一般的に言えば、プレゼンテーション層はユーザーが見て操作するものです。これには、ユーザーの目の前で何かを表示するために必要なすべてのスタイル、クライアント側のコード、マークアップが含まれています。
ユーザーが何かをクリックするか、ページがデータベースから取得した情報をレンダリングするときに、アプリケーション層と対話します。

アプリケーション層は、ブラウザーおよび/またはユーザー操作からデータベースへの情報を調整する役割を果たします。場合によっては、これには、データベースへの情報の書き込み (フォーム フィールドからの情報など) やデータベースからの情報の読み取り (ユーザーのアカウント情報の取得など) が含まれます。

プレゼンテーション層がさまざまなコンポーネント (スタイル、JavaScript、マークアップなど) で構成されるのと同様に、アプリケーション層も、データの読み取りと書き込みに必要なコンポーネントなど、さまざまな異なるコンポーネントで構成される場合があります。データをデータベース システムに送信し、情報をクリーンアップし、情報を検証し、当面の問題に固有の特定のルールを適用します。

最後に、データベース層はデータが保存される場所です。ファイル システムで構成されている場合もあれば、MySQL データベースで構成されている場合もあり、「クラウド内」のデータ ストア (Amazon S3 など) などのサードパーティ ソリューションで構成されている場合もあります。

すべて抽象的です

理解すべき重要な点は、ソフトウェアでは常にある程度の抽象化レベルを扱っているということです。たとえば、私たちはデータ ストレージやデータベース レイヤーについて話しますが、それについては具体的には語っていません。アプリケーション層とプレゼンテーション層についても同様です。

複数のテーブルを持つリレーショナル データベースについて話しているのでしょうか、それともクラウド ストレージについて話しているのでしょうか?

    データベースと通信するためにアプリケーション層に接続するためにどのデータ アクセス層を使用しますか?
  • フロントエンドではどのようなフレームワークと言語を使用しますか?普通の JavaScript、jQuery、Knockout.js? CSS プリプロセッサ - LESS や Sass はどうですか?
  • もちろん、これらの質問に対する答えを今すぐ提供するつもりはありませんが、重要なのは、すべての Web アプリケーションには同様のコンポーネントが含まれていますが、各コンポーネントの詳細はプロジェクトごとに異なるということです。

WordPress コンポーネント


WordPress は、それ自体が Web アプリケーションであるため、さまざまなテクノロジーがどのように組み合わされて Web アプリケーションを形成するかを示す完璧な例です。

データベース層

はMySQLデータベースです。
  1. アプリケーション層 (WordPress自体を考慮する人もいるでしょう)はPHPで書かれており、データストアへの読み取りと書き込みというコア操作の多くを処理すると同時に、開発者がデータストアをさらに活用するためのAPIを提供します。
  2. プレゼンテーション レイヤー基本的な CSS (少なくとも現時点では)、HTML (一部のテーマは現在 HTML5 を使用しています)、jQuery、および一部のダッシュボードは Backbone.js を使用します。
  3. これは WordPress アーキテクチャですが、アプリケーション上に構築したいプロジェクトはどうなるでしょうか?それらはどのようにして同じアーキテクチャに従うのでしょうか?
  4. さて、WordPress はフレームワークではなく基盤であることを覚えておいてください。そのため、デフォルトで WordPress アーキテクチャの影響を受けます。これは、場合によっては独自のライブラリを持ち込めないという意味ではありませんが、アプリケーションやプロジェクトの構築方法に影響します。

ライブラリや拡張性などについては後ほど詳しく説明しますが、まず最初に、今日では アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する (および MVVM の他のバリエーションやモデル、ビューなど) パラダイムがすべてであることに注意することが重要です。しかし、WordPress

はこの規則に従っていません。

これが良いことなのか悪いことなのかについては賛否両論ありますが、それがこの記事の目的ではありません。代わりに、WordPress はモデルビュー コントロール パネルではなくイベント駆動モデルを使用していることに注目してください。

これを行うには、イベント駆動型モデルがどのように機能するかを理解し、WordPress フックがどのように機能するかを明確に理解し、アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する やその他の使用するパラダイムから WordPress の管理方法に考え方を移行する方法を理解することが重要です。その情報。

イベントドリブンとはどういう意味ですか?

イベント駆動型アプリケーションの例を見る前に、アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する パラダイムに従うことが何を意味するのかを確認してみましょう。

  • まず、ビューをデモンストレーションとして使用します。ユーザーは情報を表示し、ユーザー インターフェイスを操作します。
  • 次に、コントローラーはモデルとビューの間で情報を調整します。これらはユーザーのアクションに応答し、モデルから情報を取得してビューに転送します。
  • その後、モデルはデータベース内のデータを表します。これはさまざまな方法で実行できますが、最も一般的な方法の 1 つは、データベース内のデータをオブジェクト リレーショナル モデルにマップして、データがオブジェクトの形式で表現されるようにすることです。

アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する モデル全体は次のとおりです:

アーキテクチャの再考: Web アプリケーション開発に WordPress を使用するアーキテクチャの再考: Web アプリケーション開発に WordPress を使用するアーキテクチャの再考: Web アプリケーション開発に WordPress を使用する

アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する图标题>

さて、イベント駆動型アプリケーションは、同じコンポーネントの一部を持つことができます。つまり、ビューとモデル、またはビューとデータ オブジェクトを持つことができますが、フロントエンドからの情報を調整するコントローラー バックエンドを必ずしも備えているわけではありません。バックエンドです。

これに対して、イベント駆動型プログラミングは「何かが起こる」という前提で動作します。したがって、WordPress の専門用語では、Actions は「アクション」と呼ばれます (もちろんフィルターもありますが、これについてはすぐに説明します)。

WordPress はフックを提供します。フックは実際には独自の機能を導入できる実行ポイントであり、WordPress が「このイベント が発生したとき、 これらの関数 をトリガーする必要がある」と認識します。ここで、これらの関数は、私たちが提供するものとして定義されています。

実のところ、フィルターは同じように機能しますが、目的は異なります。簡単に言うと、フィルターは、実行のためにアプリケーションに戻る前に、何らかの方法 (コンテンツの追加、先頭への追加、削除、更新など) でデータを操作する操作です。

それでは、これはどのように見えるでしょうか?

アーキテクチャの再考: Web アプリケーション開発に WordPress を使用するアーキテクチャの再考: Web アプリケーション開発に WordPress を使用するアーキテクチャの再考: Web アプリケーション開発に WordPress を使用する

###活動###

特に複雑なことはありませんね?

それでは、新しいアーキテクチャとは何でしょうか?

この記事の主な目的は、イベント駆動型プログラミングと、特に WordPress 上で Web アプリケーションを構築するための取り組みを調整する方法について考えさせることです。

つまり、私たちは、

イベント

、または「何かが起こった」という事実の観点から考えて、いつ自分の行動を適切に差し挟むべきかを知る必要があります。これについては次回の投稿で詳しく説明しますが、この特定の投稿から皆さんに理解していただきたい点は、何かが アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する (または次に人気のあるパラダイム) ではないからといって、それが意味を持つわけではないということです。アプリケーション開発には適していません。 それぞれのパターンとアーキテクチャには長所と短所があり、そのすべてが Web アプリケーションの構築に成功します。

###次...###

このシリーズの次の記事では、WordPress で Web アプリケーションを構築する際にフックがどのように重要な役割を果たすかを詳しく見ていき、その後、WordPress が提供するいくつかの機能について見ていきます。 ( すべての種類の Web アプリケーションにとって信頼できる選択肢ではありません。

以上がアーキテクチャの再考: Web アプリケーション開発に WordPress を使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。