在我的Dancer应用程序中,我应该使用从会话中恢复的对象所需的模块吗?

时间:2014-02-19 20:08:20

标签: perl dancer

我使用了一些从Redis检索的Moose对象。我编写的代码可以找出正确的类,并根据需要加载它们。现在我也将它们存储在会话中,当它们被恢复时(通过会话引擎而不是我自己的Redis检索代码),会发生所需的模块尚未加载。

在考虑之后我发现这是因为我在更改路由处理程序后继续重新启动Dancer应用程序,但我的会话仍然有效。在生产中很可能不会发生。在那里,模块已经在某些时候加载,特别是因为你需要在将对象放入会话之前检索它。

但是,我想解决这个问题,因此不再需要动态加载,我不能遇到can't call method foo on an undefined value的问题,因为模块尚未加载。但是我明智地把所有那些use放在哪里?只有少数几个,所以预先加载它们并不是什么大不了的事。

我认为.pm文件的主use文件可能是有意义的app.pl文件。或者也许app.pl本身,虽然这似乎是错误的。这是最好的做法吗?

1 个答案:

答案 0 :(得分:1)

〜/ lib / 你的应用名称 .pm文件将由我建议放置你的使用模块代码,因为这通常是用来处理路由的文件。