【发布时间】:2009-07-19 02:29:54
【问题描述】:
我正在使用以下代码从我的控制器中初始化模型:
$this->load->model('model_name');
是否可以以某种方式修改上述行,以便模型构造函数接收参数?我想在模型构造函数中使用如下代码:
function __construct($param_var) {
parent::Model();
$this->$param_var = $param_var; //I'm not even sure this works in PHP..but different issue
}
这对我可以重用我的模型类很有帮助。谢谢。
更新: (从一个答案中,我原来的问题已经解决了......谢谢!) 只是为了解释我为什么要这样做:这个想法是能够重用模型类。所以基本上举一个简单的例子,我希望能够将“order_by”变量传递给模型类,这样我就可以重用模型类中的逻辑(并动态更改 sql 中的 order-by 值)而无需创建单独的类或单独的函数。
这是糟糕的设计吗?如果是这样,您能否解释一下为什么您不会做这样的事情以及您将如何做?
【问题讨论】:
-
我很好奇您为什么要将参数传递给模型的构造函数。我的猜测是你需要一个库而不是一个模型。
-
我刚刚更新了我的问题,解释了我为什么要这样做
标签: php codeigniter