0

たくさんのハンドラーがあるアプリケーションを書いています。これらのハンドラーを同じ apache モジュール内にパッケージ化するか、ハンドラーごとに個別のモジュールを用意するかを検討しています。

これは一般的な質問であり、私のアプリに依存することに同意しますが、私がしなければならない一般的な考慮事項と、各アプローチのトレードオフを知りたいです。

誰かが両方のアプローチの長所/短所を教えてくれれば本当に良いでしょう.

4

1 に答える 1

0

これらすべてのハンドラーが相互に関連するタスクを実行する必要があるのか​​、それとも互いに独立して動作するのかを指定していません。

関連するハンドラーを同じモジュールに保持し、残りのハンドラーを独自のモジュールに保持します。サーバーの構成が簡単になり (必要に応じてモジュールを簡単にロード/アンロードできます)、コード ベースも適切に管理されていると思います。

たとえば、いくつかのデータを共有する 2 つのハンドラーが必要である場合、同じモジュール内に保持できます。

static int my_early_hook(request_rec
*r) {
    req_cfg *mycfg = apr_palloc(r->pool, sizeof(req_cfg));
    ap_set_module_config(r->request_config,
&my_module, mycfg);
    /* set module data */ }

static int my_later_hook(request_rec
*r) {
    req_cfg *mycfg = ap_get_module_config(r->request_config,
&my_module);
    /* access data */ }
于 2010-08-24T15:33:55.453 に答える