【发布时间】:2011-04-23 18:59:03
【问题描述】:
我想在控制器中引用 $this->Model-> ...。但我想让函数通用,那么我该如何动态使用呢?我试过 $this->$modelname 但当然没有用。
CRUD 函数对所有模型和所有控制器都是通用的,在某些情况下会被覆盖。
示例:两个控制器,每个型号一个 - 信函和电子邮件。有信函控制器和电子邮件控制器。每个都有 CRUD 功能。这些视图本质上是相同的,除了模型为每个视图跟踪不同的信息(例如,带有 send_method 的信函)。它们之间唯一不同的是字段。我已经自动化了那部分,但控制器基本上是相同的,除了一些小的变化。我希望有一个父类并让它使用特定模型的模型名称,因此我不必在每次进行更改时都对每个控制器进行更改。但在某些情况下,我需要参考 $this->Model-> ... 而我不知道该怎么做。
【问题讨论】:
-
你试过 $this->{$modelname} 吗?
-
提供更多细节。你想做什么?该函数是所有模型还是所有控制器的通用函数?
-
@chustar 不,我没有:括号有什么作用?
-
括号是我认为使用变量名引用对象成员的方式。如:$obj->{'member_name'}。