このシリーズでは、WordPress を使用して Web アプリケーションを構築する方法について説明します。これはコードを取り上げる技術シリーズではありませんが、フレームワーク、基礎、デザイン パターン、アーキテクチャなどのトピックを取り上げます。 シリーズの最初の記事をまだ読んでいない場合は、読むことをお勧めします。ただし、この記事の目的のために、前回の記事を次のように要約できます。
つまり、ソフトウェアはフレームワーク上に構築でき、ソフトウェアは基盤を拡張できます。
これを行うには、WordPress で Web アプリケーションを構築する場合、アーキテクチャを再考するか、アプリケーションの構築方法の概念モデルを再考する必要があります。簡単に言うと、フレームワークと基盤を区別します。この 2 つの用語は、同じものではありませんが、ソフトウェアでは同じ意味でよく使用されます。 WordPress はそれ自体がアプリケーションであるため、基盤となります。それは枠組みではありません。
Webアプリケーションの構造
データベース層
アプリケーション層は、ブラウザーおよび/またはユーザー操作からデータベースへの情報を調整する役割を果たします。場合によっては、これには、データベースへの情報の書き込み (フォーム フィールドからの情報など) やデータベースからの情報の読み取り (ユーザーのアカウント情報の取得など) が含まれます。
プレゼンテーション層がさまざまなコンポーネント (スタイル、JavaScript、マークアップなど) で構成されるのと同様に、アプリケーション層も、データの読み取りと書き込みに必要なコンポーネントなど、さまざまな異なるコンポーネントで構成される場合があります。データをデータベース システムに送信し、情報をクリーンアップし、情報を検証し、当面の問題に固有の特定のルールを適用します。
最後に、データベース層はデータが保存される場所です。ファイル システムで構成されている場合もあれば、MySQL データベースで構成されている場合もあり、「クラウド内」のデータ ストア (Amazon S3 など) などのサードパーティ ソリューションで構成されている場合もあります。
すべて抽象的です
理解すべき重要な点は、ソフトウェアでは常にある程度の抽象化レベルを扱っているということです。たとえば、私たちはデータ ストレージやデータベース レイヤーについて話しますが、それについては具体的には語っていません。アプリケーション層とプレゼンテーション層についても同様です。
複数のテーブルを持つリレーショナル データベースについて話しているのでしょうか、それともクラウド ストレージについて話しているのでしょうか?
WordPress コンポーネント
データベース層
はMySQLデータベースです。ライブラリや拡張性などについては後ほど詳しく説明しますが、まず最初に、今日では アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する (および MVVM の他のバリエーションやモデル、ビューなど) パラダイムがすべてであることに注意することが重要です。しかし、WordPress
はこの規則に従っていません。これが良いことなのか悪いことなのかについては賛否両論ありますが、それがこの記事の目的ではありません。代わりに、WordPress はモデルビュー コントロール パネルではなくイベント駆動モデルを使用していることに注目してください。
これを行うには、イベント駆動型モデルがどのように機能するかを理解し、WordPress フックがどのように機能するかを明確に理解し、アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する やその他の使用するパラダイムから WordPress の管理方法に考え方を移行する方法を理解することが重要です。その情報。
イベントドリブンとはどういう意味ですか?
イベント駆動型アプリケーションの例を見る前に、アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する パラダイムに従うことが何を意味するのかを確認してみましょう。
アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する モデル全体は次のとおりです:
さて、イベント駆動型アプリケーションは、同じコンポーネントの一部を持つことができます。つまり、ビューとモデル、またはビューとデータ オブジェクトを持つことができますが、フロントエンドからの情報を調整するコントローラー バックエンドを必ずしも備えているわけではありません。バックエンドです。
これに対して、イベント駆動型プログラミングは「何かが起こる」という前提で動作します。したがって、WordPress の専門用語では、Actions は「アクション」と呼ばれます (もちろんフィルターもありますが、これについてはすぐに説明します)。
WordPress はフックを提供します。フックは実際には独自の機能を導入できる実行ポイントであり、WordPress が「このイベント が発生したとき、 これらの関数 をトリガーする必要がある」と認識します。ここで、これらの関数は、私たちが提供するものとして定義されています。
実のところ、フィルターは同じように機能しますが、目的は異なります。簡単に言うと、フィルターは、実行のためにアプリケーションに戻る前に、何らかの方法 (コンテンツの追加、先頭への追加、削除、更新など) でデータを操作する操作です。
それでは、これはどのように見えるでしょうか?
それでは、新しいアーキテクチャとは何でしょうか?
つまり、私たちは、
イベント、または「何かが起こった」という事実の観点から考えて、いつ自分の行動を適切に差し挟むべきかを知る必要があります。これについては次回の投稿で詳しく説明しますが、この特定の投稿から皆さんに理解していただきたい点は、何かが アーキテクチャの再考: Web アプリケーション開発に WordPress を使用する (または次に人気のあるパラダイム) ではないからといって、それが意味を持つわけではないということです。アプリケーション開発には適していません。 それぞれのパターンとアーキテクチャには長所と短所があり、そのすべてが Web アプリケーションの構築に成功します。
###次...###
このシリーズの次の記事では、WordPress で Web アプリケーションを構築する際にフックがどのように重要な役割を果たすかを詳しく見ていき、その後、WordPress が提供するいくつかの機能について見ていきます。 ( すべての種類の Web アプリケーションにとって信頼できる選択肢ではありません。以上がアーキテクチャの再考: Web アプリケーション開発に WordPress を使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。