web-dev-qa-db-ja.com

Wordpressとイベントドリブンプログラミング - それは何についてですか?

私はこれがnotがオブジェクト指向プログラミングに対する関数型/手続き型プログラミングについての議論を復活させるつもりであることを非常に明確に述べたいと思います。それについては、WPSE上でもネット上でも多くのことが述べられています。

しかし少し前に、私はWordpressのプログラミングの基礎についての議論のいくつかを読んでいて、私は何かを読んでいます - 残念ながら当時それをブックマークしていなかったのでこのような:

Wordpressの使用に関する魅力的なことの1つは、プログラミングのイベントドリブンパラダイムに基づいてさらに機能していることです。

私が理解していることから イベント駆動型プログラミング はこの文脈ではほとんど同義語から シグナル または データフロー)-プログラミング。さらに - おそらく最も単純化しすぎて - おそらく明らかな主な特徴は、メソッドの基本として hooks - actions および filters - を使用することです。

ここまでは順調ですね。十分に簡単に思えますが、私はコンピュータサイエンスのバックグラウンドから来ているわけではないので、言うべきことがもっとあると確信しています。私は本当にいくつかの入力に興味を持っています。それは特別なパラダイムですか?それは他のものとどのように関連していますか?それは基本原則ですか、それとも単なる追加ですか。

1つの明確な答えを持つ1つの質問に答えるのではなく、明らかにルールに違反しているのですが、これは一度だけ許されるでしょう。

7
Nicolai

まず最初に、プログラミングでparadigm Wordが何を意味するのかを明確にしましょう。それは、私たちが特定のケース/問題/状況を特定の方法で扱うという合意に達したことを意味します。

例えば、私たちは足の乗客が私たちの国で緑色の信号で道路を渡るべきであるという合意に至りました。これは私たちの緑色の光パラダイムです。他の国では上げられた手で道路を横断することに同意することができます。それは彼らの上げられた手パラダイムです。お互いに、彼らはただ存在していて、そして足の乗客はどちらかのパラダイムを使うか、または彼自身の私が欲しい時はいつでも道路を横切るパラダイムを作ることができる。

同じ状況がプログラミングにもあります。パラダイムとは、特定の方法でアプリケーションを開発したり、特定のアプローチを使用したりするための一連の規則または合意のことです。これ以上何もない。

さて、WordPressとイベントドリブンのパラダイムに戻りましょう。このパラダイムはWordPressシステム全体の一部にすぎません。このパラダイムは、アクションとフィルタのフックが非常に重要なアプローチであるサードパーティの拡張によってコアを拡張する方法/規則の束を設定します。このパラダイムは拡張可能性のケース/問題/状況だけをカバーし、これはWordPressによって使用されるパラダイムだけではなく、コアのものの一つであることに注意してください。

それで全部です。もちろん、あなたはあなた自身の- 私が望むようにプラグイン/テーマを書くパラダイムを使うことができ、それに満足している:)

8
Eugene Manuilov

記事を書いているevent driven paradigmでは Observer Pattern を意図していると思います。

そしてWordPressでは、 Plugins Api を介して処理されます。私はもっ​​と言うべきことがあるとは思わない。

2
gmazzap

Wordpressはそれが書かれている言語の制限のためにイベント駆動型であり、それがそのように設計されているからではありません。

最も人気のあるWebサーバはイベント駆動型であり、そのまま使用できるPHPユーティリティは他の方法で動作するためのユーティリティがほとんどありません(なし?)。 wordpressはPHPに依存しているので、他にはあり得ません。

WordPressプラグインとテーマOTOHのPHP部分は、コアによって「送信される」「イベント」によって駆動されるイベントとして設計されるべきです。 JSコードもイベント駆動型ですが、イベントは実際のユーザーによって引き起こされるものに過ぎません(ただし、ワードプレスのJSコードの中には抽象化して独自のイベントを発生させるものもあります)。

1
Mark Kaplun
1
Bivek J.