たくさんのハンドラーがあるアプリケーションを書いています。これらのハンドラーを同じ apache モジュール内にパッケージ化するか、ハンドラーごとに個別のモジュールを用意するかを検討しています。
これは一般的な質問であり、私のアプリに依存することに同意しますが、私がしなければならない一般的な考慮事項と、各アプローチのトレードオフを知りたいです。
誰かが両方のアプローチの長所/短所を教えてくれれば本当に良いでしょう.
これらすべてのハンドラーが相互に関連するタスクを実行する必要があるのか、それとも互いに独立して動作するのかを指定していません。
関連するハンドラーを同じモジュールに保持し、残りのハンドラーを独自のモジュールに保持します。サーバーの構成が簡単になり (必要に応じてモジュールを簡単にロード/アンロードできます)、コード ベースも適切に管理されていると思います。
たとえば、いくつかのデータを共有する 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 */ }