0

我正在编写一个有一堆处理程序的应用程序。我想看看我是否应该将这些处理程序打包在同一个 apache 模块中,或者为每个处理程序设置一个单独的模块。

我同意这是一个通用问题,并且取决于我的应用程序,但我想知道我必须做出的一般考虑以及每种方法的权衡。

如果有人能告诉我这两种方法的优缺点,那就太好了。

4

1 回答 1

0

您尚未指定所有这些处理程序是否需要执行一些相互关联的任务,或者它们是否将彼此独立工作。

我会把相关的处理程序放在同一个模块中,其余的放在自己的模块中。我相信它使服务器的配置变得容易(我们可以根据需要轻松加载/卸载模块)并且代码库也保持良好的管理。

例如,假设我们需要两个共享一些数据的处理程序,那么我们可以将 then 保存在同一个模块中:

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 回答