我正在尝试制作一个包含大量 crud 操作的 crm 应用程序。所以我有控制器类,比如
CRM::Cities
CRM::Countries
不,我使用 ORLite 作为轻量级 ORM。它像这样创建-on the fly-类
Model::Cities
Model::Countries
现在说我要加载一个城市。在 CRM::Cities 类中,我必须执行类似的操作(ORLite 使用类方法进行访问)
$obj1 = Model::Cities->load($id);
在 CRM::Countries 中加载当前国家:
$obj1 = Model::Countries->load($id);
所以我最终在每个控制器类中包含类似的行。
我想要做的是在 CRM 包(基本控制器类)中做类似这样的通用操作:
$obj1 = Model::$package->load($id);
# package contains Cities or Countries, determined at runtime
我尝试了各种变体,使用 eval 等等,但这是更高阶的 perl。我认为 b/c ORLite 方法是类方法,继承不太明显。有人可以给建议吗?蒂亚!