it-swarm-ja.tech

Joomlaで軽量のajax呼び出しを行う方法はありますか?

Joomlaで軽量のajax呼び出しを行いたい(必要なのは、基本的にはcurl呼び出しを行うphpスクリプトだけです)。現在、コンポーネントコントローラータスク(com_home、com_widgitなど)でこれを行っています。

これは、Joomlaをロードすることにより、多くの不要なオーバーヘッドを引き起こしています。パフォーマンステストでは、curl呼び出しを含むプレーンなphpスクリプトがjoomlaコントローラを使用するよりも桁違いに速いことが示されています。

私はcom_ajaxを調べましたが、私がコンポーネント開発者なので、私が何を求めているのかはわかりません。 http://docs.joomla.org/Using_Joomla_Ajax_Interface

If you are a component developer, you do not need to use com_ajax to implement Ajax functionality in it. You can do so directly in your component.

私はサーバーにもアクセスでき、Joomlaの外でajax呼び出しを行うこともできますが、ハックのように思われるので、可能であればJoomlaを使用します。

Joomlaで軽量のAjax呼び出しを行う方法はありますか?

2
ContextSwitch

コンポーネントを呼び出す最も軽量な方法で考えると、Joomla内で実行しているため、CMSが初期化されるまで待つ必要があります。 (そうでない場合は、外部スクリプトを探しています)

  • 利用可能なすべてのコアイベントに続いて、呼び出しに応答して残りの実行を停止するプラグインを作成できます。たとえば、onAfterInitialise
  • また、次のイベントのいずれかで実行することもできます。 onAfterRoutehttp://docs.joomla.org/Plugin/Events
  • あなたはコンポーネント開発者なので、プラグインを作成してインストールし、plgAjaxYxxxxをインストールできます。
  • コンポーネント内に保持し、プラグインを避けたい場合は、メインcomponentPHPスクリプト内の内部dispatcher、またはtaskとしてcontroller

私の経験では、コントローラーのタスクとして実装することを好みます。このように、すべてのビジネス責任は1つの場所にあります。追加の負荷を超えると、管理が容易になります。

1
Anibal